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

8.3. Duties of a Relaying Agent

Previous Up Next
8.3.  Duties of a Relaying Agent
   A Relaying Agent accepts injected articles from injecting and other
   relaying agents and passes them on to relaying or serving agents
   according to mutually agreed policy. Relaying agents SHOULD accept
   articles ONLY from trusted agents.

   A relaying 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 with legal contents.

   4. It SHOULD reject any article whose optional headers (section 6) do
      not have legal contents.

   5. 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).

   6. It SHOULD reject any article that has already been Canceled,
      Superseded or Replaced by its poster or by another trusted entity.

   7. It MAY reject any article without an Approved header posted to
      newsgroups known to be moderated (this practice is strongly
      recommended, but the information necessary to do it may not be
      available to all agents).

   8. It then passes articles which match mutually agreed criteria on to
      neighboring relaying and serving agents. However, it SHOULD NOT
      forward articles to sites whose path-identity is already in the
      Path header.

        NOTE: It is usual for relaying and serving agents to restrict
        the Newsgroups, Distributions, age and size of articles that
        they wish to receive.

   If the article is rejected as being invalid, unwanted or unacceptable
   due to site policy, the agent that passed the article to the relaying
   agent SHOULD be informed (such as via an NNTP 43x response code) that
   relaying failed. In order to prevent a large number of error messages
   being sent to one location, relaying agents MUST NOT inform any other
   external entity that an article was not relayed UNLESS that external
   entity has explicitly requested that it be informed of such errors.



        NOTE: In order to prevent overloading, relaying agents should
        not routinely query an external entity (such as a DNS-server) in
        order to verify an article (though a local cache of the required
        information might usefully be consulted).

   Relaying agents MUST NOT alter, delete or rearrange any part of an
   article expect for headers designated as variant (4.2.2.3).

Previous Up Next
Previous draft (04): 8.3. Duties of a Relaying Agent

Diffs to previous draft

--- {draft-04}	Wed Jul 11 21:56:14 2001
+++ {draft-05}	Wed Jul 11 21:56:14 2001
@@ -24,7 +24,7 @@
       and matched against).
 
    6. 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.
 
    7. It MAY reject any article without an Approved header posted to
       newsgroups known to be moderated (this practice is strongly
@@ -48,11 +48,13 @@
    external entity that an article was not relayed UNLESS that external
    entity has explicitly requested that it be informed of such errors.
 
+
+
         NOTE: In order to prevent overloading, relaying agents should
         not routinely query an external entity (such as a DNS-server) in
         order to verify an article (though a local cache of the required
         information might usefully be consulted).
 
    Relaying agents MUST NOT alter, delete or rearrange any part of an
-   article expect for the Path and Xref Headers.
+   article expect for headers designated as variant (4.2.2.3).