usefor-article-03 February 2000
[< Prev]
[TOC] [ 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 author 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.
In order to prevent overloading, relaying agents SHOULD NOT routinely
query an external entity (such as a key-server) in order to verify an
article.
[But do we want to say that it is OK if you then keep a decent-sized
cache?]
Relaying agents MUST NOT alter, delete or rearrange any part of an
article expect for the Path and Xref Headers.
[< Prev]
[TOC] [ Next >]
#Diff to first older