usefor-usepro-00 August 2004
[< Prev]
[TOC] [ Next >]
7.4. 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 establish the trusted identity of the source of the
article and compare it with the leftmost path-identity of the
Path-content. If it matches it MUST then prepend its own path-
identity and a '/' path-delimiter to the Path-header. If it does
not match then it prepends instead two entries to the Path-
content; firstly the true established path-identity of the source
followed by a '?' path-delimiter, and then, to the left of that,
its own path-identity followed by a '/' path-delimiter as usual.
This prepending of two entries SHOULD NOT be done if the provided
and established identities match. See a-5.6.4 for the
significance of the various path-delimiters.
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).
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
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 have the correct
mandatory headers (section a-5) present with legal contents.
4. It SHOULD reject any article whose optional headers (section a-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 matches an already received
cancel message (or an equivalent Supersedes-header) issued by its
poster or by some other 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 so may not be
available to all agents).
8. Finally, it passes articles which match mutually agreed criteria
on to neighbouring 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.
Relaying agents MUST NOT alter, delete or rearrange any part of an
article expect for headers designated as variant (a-4.2.5.3).
[< Prev]
[TOC] [ Next >]
#Diff to first older
--- ../usefor-article-13/Duties_of_a_Relaying_Agent.out May 2004
+++ ../usefor-usepro-00/Duties_of_a_Relaying_Agent.out August 2004
@@ -1,4 +1,4 @@
-8.3. Duties of a Relaying Agent
+7.4. 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
@@ -7,22 +7,34 @@
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 '/' path-delimiter, and
- possibly also the verified path-identity of its source with a '?'
- path-delimiter (5.6.2).
+ 1. It MUST establish the trusted identity of the source of the
+ article and compare it with the leftmost path-identity of the
+ Path-content. If it matches it MUST then prepend its own path-
+ identity and a '/' path-delimiter to the Path-header. If it does
+ not match then it prepends instead two entries to the Path-
+ content; firstly the true established path-identity of the source
+ followed by a '?' path-delimiter, and then, to the left of that,
+ its own path-identity followed by a '/' path-delimiter as usual.
+ This prepending of two entries SHOULD NOT be done if the provided
+ and established identities match. See a-5.6.4 for the
+ significance of the various path-delimiters.
+
+ 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).
2. It MUST examine the Injection-Date-header (or, if that is absent,
- the Date-header) and reject the article as stale (5.7) if that
+ the Date-header) and reject the article as stale (a-5.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 have the correct
- mandatory headers (section 5) present with legal contents.
+ mandatory headers (section a-5) present with legal contents.
- 4. It SHOULD reject any article whose optional headers (section 6) do
- not have legal contents.
+ 4. It SHOULD reject any article whose optional headers (section a-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
@@ -34,13 +46,13 @@
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
+ recommended, but the information necessary to do so may not be
available to all agents).
- 8. It then passes articles which match mutually agreed criteria on to
- neighbouring relaying and serving agents. However, it SHOULD NOT
- forward articles to sites whose path-identity is already in the
- Path-header.
+ 8. Finally, it passes articles which match mutually agreed criteria
+ on to neighbouring 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
@@ -54,11 +66,8 @@
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.5.3).
+ article expect for headers designated as variant (a-4.2.5.3).