INTERNET-DRAFT                               Charles H. Lindsey
Usenet Format Working Group                  University of Manchester
                                             July 2001

8.4. Duties of a Serving Agent

Previous Up Next
8.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-locater (usually in the form of a decimal number - see 6.16).

        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 processes articles as follows:

   1. It MUST verify the leftmost entry in the Path header and then
      prepend its own path-identity with a '/' delimiter, and possibly
      also the verified path-identity of its source with a '?' delimiter
      (5.6.2).

   2. It MUST reject any article whose Date header is stale (see 5.1).

   3. It MUST reject any article that does not have the correct
      mandatory headers (section 5) present, 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 messages is usually kept
      and matched against).

   5. It SHOULD reject any article that has already been Canceled,
      Superseded or Replaced by its poster or by another trusted entity,
      and delete any of such article that it already has in its news
      database.

   6. It MUST reject any article without an Approved header posted to
      any moderated newsgroup which it is configured to receive, and it
      MAY reject such articles for any newsgroup it knows be moderated.

   7. It SHOULD remove any variant headers (4.2.2.3) from each article
      and MUST, in particular, remove any Xref header (6.16).  It then
      MAY (and usually will) generate a fresh Xref header.

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





Previous Up Next
Previous draft (04): 8.4. Duties of a Serving Agent

Diffs to previous draft

--- {draft-04}	Wed Jul 11 21:56:14 2001
+++ {draft-05}	Wed Jul 11 21:56:14 2001
@@ -29,7 +29,7 @@
       and matched against).
 
    5. It SHOULD reject any article that has already been Canceled,
-      Superseded or Replaced by its author or by another trusted entity,
+      Superseded or Replaced by its poster or by another trusted entity,
       and delete any of such article that it already has in its news
       database.
 
@@ -37,7 +37,13 @@
       any moderated newsgroup which it is configured to receive, and it
       MAY reject such articles for any newsgroup it knows be moderated.
 
-   7. It SHOULD generate a correct Xref header (6.16) for each article.
+   7. It SHOULD remove any variant headers (4.2.2.3) from each article
+      and MUST, in particular, remove any Xref header (6.16).  It then
+      MAY (and usually will) generate a fresh Xref header.
 
    8. Finally, it stores the article in its news database.
+
+
+
+