usefor-usepro-03 February 2005

[< Prev] [TOC] [ Next >]
7.4.  Duties of a Serving Agent

   A Serving Agent takes an article from a relaying or injecting agent
   and files it in a "news database". It also provides an interface for
   reading agents to access the news database. This database is normally
   indexed by newsgroup with articles in each newsgroup identified by an
   <article-locator> (usually in the form of a decimal number - see F-
   3.2.10).

   A serving agent MUST maintain a list of the newsgroups it stores in
   its news database showing the moderation status of each one (see
   6.2.1), and SHOULD include in that list all groups likely to be
   crossposted to from those groups (e.g. all other groups in the same
   hierarchy(ies)).

        NOTE: Since control messages are often of interest, but should
        not be displayed as normal articles in regular newsgroups, it is
        common for serving agents to make them available in a pseudo-
        newsgroup named "control" or in a pseudo-newsgroup in a sub-
        hierarchy under "control." (e.g. "control.cancel").

   A serving agent MAY decline to accept an article if the Path header
   contains some <path-identity> whose articles the serving agent does
   not want, as a matter of local policy.

        NOTE: This last facility is sometimes used to detect and decline
        control messages (notably cancel messages) which have been
        deliberately seeded with a <path-identity> to be "aliased out"
        by sites not wishing to act upon them.
[INN at least does this. It might be argued that it is not necessary to
mention it here.]

   A serving agent processes articles as follows:

   1. It MUST establish the trusted identity of the source of the
      article and modify the Path header as for a relaying agent (7.3).

   2. It MUST examine the Injection-Date header (or, if that is absent,
      the Date header) and reject the article as stale (F-3.1.7) if that
      predates the earliest articles of which it normally keeps record,
      or if it is more than 24 hours into the future (the margin MAY be
      less than that 24 hours).

   3. It MUST reject any article that does not include all the mandatory
      headers (section F-3.1), or which contains any header that does
      not have legal contents.

   4. It SHOULD reject any article that has already been sent to it (a
      database of message identifiers of recent articles is usually kept
      and matched against).

   5. It SHOULD reject any article that matches an already received
      cancel message (or an equivalent Supersedes header) issued by its
      poster or by some other trusted entity.

   6. It MUST reject any article without an Approved header posted to
      any newsgroup listed as moderated.

   7. It MUST remove any Xref header (F-3.2.10) from each article.  It
      then MAY (and usually will) generate a fresh Xref header.

   8. Finally, it stores the article in its news database.

   Serving agents MUST NOT create new newsgroups simply because an
   unrecognized <newsgroup-name> occurs in a Newsgroups header (see
   6.2.1 for the correct method of newsgroup creation).

   Serving agents MUST NOT alter, delete or rearrange any part of an
   article in any other way. The list of particular cases given for
   relaying agents (7.3) applies here also.
[< Prev] [TOC] [ Next >]
#Diff to first older
NewerOlder
usefor-usepro December 2004
usefor-usepro September 2004
usefor-usepro August 2004
News Article Format and Transmission May 2004
News Article Format and Transmission November 2003
News Article Format June 2003
News Article Format April 2003
News Article Format February 2003
News Article Format August 2002
News Article Format May 2002
News Article Format November 2001
News Article Format July 2001
News Article Format April 2001
News Article Format February 2000

--- ../usefor-usepro-02/Duties_of_a_Serving_Agent.out          December 2004
+++ ../usefor-usepro-03/Duties_of_a_Serving_Agent.out          February 2005
@@ -4,8 +4,8 @@
    and files it in a "news database". It also provides an interface for
    reading agents to access the news database. This database is normally
    indexed by newsgroup with articles in each newsgroup identified by an
-   article-locator (usually in the form of a decimal number - see a-
-   6.16).
+   <article-locator> (usually in the form of a decimal number - see F-
+   3.2.10).
 
    A serving agent MUST maintain a list of the newsgroups it stores in
    its news database showing the moderation status of each one (see
@@ -19,52 +19,51 @@
         newsgroup named "control" or in a pseudo-newsgroup in a sub-
         hierarchy under "control." (e.g. "control.cancel").
 
-   A serving agent MAY decline to accept an article if the Path-content
-   contains some path-identity whose articles the serving agent does not
-   want, as a matter of local policy.
+   A serving agent MAY decline to accept an article if the Path header
+   contains some <path-identity> whose articles the serving agent does
+   not want, as a matter of local policy.
 
         NOTE: This last facility is sometimes used to detect and decline
         control messages (notably cancel messages) which have been
-        deliberately seeded with a path-identity to be "aliased out" by
-        sites not wishing to act upon them.
+        deliberately seeded with a <path-identity> to be "aliased out"
+        by sites not wishing to act upon them.
 [INN at least does this. It might be argued that it is not necessary to
 mention it here.]
 
    A serving agent processes articles as follows:
 
    1. It MUST establish the trusted identity of the source of the
-      article and modify the Path-header as for a relaying agent (7.3).
+      article and modify the Path header as for a relaying agent (7.3).
 
-   2. It MUST examine the Injection-Date-header (or, if that is absent,
-      the Date-header) and reject the article as stale (a-5.7) if that
+   2. It MUST examine the Injection-Date header (or, if that is absent,
+      the Date header) and reject the article as stale (F-3.1.7) if that
       predates the earliest articles of which it normally keeps record,
       or if it is more than 24 hours into the future (the margin MAY be
       less than that 24 hours).
 
    3. It MUST reject any article that does not include all the mandatory
-      headers (section a-5), or which contains any header that does not
-      have legal contents.
+      headers (section F-3.1), or which contains any header that does
+      not have legal contents.
 
    4. It SHOULD reject any article that has already been sent to it (a
       database of message identifiers of recent articles is usually kept
       and matched against).
 
-
    5. It SHOULD reject any article that matches an already received
-      cancel message (or an equivalent Supersedes-header) issued by its
+      cancel message (or an equivalent Supersedes header) issued by its
       poster or by some other trusted entity.
 
-   6. It MUST reject any article without an Approved-header posted to
+   6. It MUST reject any article without an Approved header posted to
       any newsgroup listed as moderated.
 
-   7. It MUST remove any Xref-header (a-6.16) from each article.  It
-      then MAY (and usually will) generate a fresh Xref-header.
+   7. It MUST remove any Xref header (F-3.2.10) from each article.  It
+      then MAY (and usually will) generate a fresh Xref header.
 
    8. Finally, it stores the article in its news database.
 
    Serving agents MUST NOT create new newsgroups simply because an
-   unrecognized newsgroup-name occurs in a Newsgroups-header (see a-
-   7.2.1 for the correct method of newsgroup creation).
+   unrecognized <newsgroup-name> occurs in a Newsgroups header (see
+   6.2.1 for the correct method of newsgroup creation).
 
    Serving agents MUST NOT alter, delete or rearrange any part of an
    article in any other way. The list of particular cases given for


Documents were processed to this format by Forrest J. Cavalier III