usefor-article-13 May 2004
[< Prev]
[TOC] [ Next >]
8.2.2. Procedure to be followed by Injecting Agents
An injecting agent receives proto-articles from posting and followup
agents. It verifies them, adds headers where required, and then
either forwards them to a moderator or injects them by passing them
to serving or relaying agents. It MUST NOT forward an already
injected article to a moderator.
An injecting agent processes articles as follows:
1. It MUST remove any Injection-Info- or Complaints-To-header already
present (though it might be useful to copy them to suitable X-
headers). It SHOULD likewise remove any NNTP-Posting-Host, X-Trace
or other undocumented tracing header.
2. It SHOULD verify that the article is from a trusted source.
However, it MAY allow articles in which headers contain unverified
email addresses, that is, addresses which are not known to be
valid for the trusted source, and notably so if they end in
".invalid".
3. It SHOULD reject any article whose Date-header (5.1) is more than
24 hours into the future (and MAY use a margin less than that 24
hours). It MUST, except when reinjecting, reject any article with
an Injection-Date-header already present (and SHOULD do likewise
with any NNTP-Posting-Date-header). It MAY when reinjecting, but
only if there is no Injection-Date-header present, reject any
article whose Date-header appears to be stale (e.g. more than 72
hours into the past).
4. It MUST reject any article that does not have the correct
mandatory headers for a proto-article (or, when reinjecting, all
the mandatory headers other than Injection-Date), or which
contains any header that does not have legal contents. It SHOULD
reject any article which contains any header deprecated for
Netnews (4.2.1).
5. If the article is rejected (for reasons given above, or for other
formatting errors or matters of site policy) the posting agent
SHOULD be informed (such as via an NNTP 44x response code) that
posting has failed and the article MUST NOT then be processed
further.
6. The Message-ID, Date and From-headers (and their contents) MUST be
added when not already present (but that situation could not arise
during reinjection).
7. A Path-header with a tail-entry (5.6.3) MUST be correctly added if
not already present (except that it SHOULD NOT be added if the
article is to be forwarded to a moderator). During reinjection,
the existing Path-header SHOULD be retained.
8. The path-identity of the injecting agent with a '%' path-delimiter
(5.6.2) MUST be prepended to the Path-header (which could result
in more that one '%' path-delimiter in the case of reinjection);
moreover, that path-identity MUST be an FQDN mailable address
(5.6.2).
9. An Injection-Info-header (6.19) SHOULD be added, identifying the
trusted source of the article, and a suitable Complaints-To-header
(6.20) MAY be added (except that these two headers MUST NOT be
added if the article is to be forwarded to a moderator).
10.The injecting agent MUST NOT alter the body of the article in any
way. It MAY, except when reinjecting, add other headers not
already provided by the poster, but SHOULD NOT alter, delete, or
reorder any existing header, with the specific exception of
"tracing" headers such as Injection-Info and Complaints-To, which
are to be removed as already mentioned.
11.If the Newsgroups-header contains no moderated groups, or if it
contains an Approved-header, the injecting agent MUST then add an
Injection-Date-header (5.7) if one is not already present, but it
MUST NOT alter, or remove, an already present Injection-Date-
header (and likewise SHOULD NOT alter, or remove, an already
present NNTP-Posting-Date-header). Finally, it forwards the
article to one or more relaying or serving agents.
12.Otherwise, when the Newsgroups-header contains one or more
moderated groups and the article does NOT contain an Approved-
header, the injecting agent MUST forward it to the moderator of
the first (leftmost) moderated group listed in the Newsgroups-
header via email. There are two possibilities for doing this:
(a) The complete article is encapsulated (headers and all) within
the email, preferably using the Content-Type
"application/news-transmission" (6.21.4.1) with any usage
parameter set to "moderate". Moreover, there SHOULD NOT be
more than one encapsulated article within the one email.
This method has the advantage of removing any possible
conflict between Netnews and Email headers, or of changes to
those headers during transport through email.
(b) The article is sent as an email as it stands, with the
addition of such extra headers (e.g. a To-header) as are
necessary for an email.
Although both of these methods have seen use in the past, the
preponderance of current usage on Usenet has been for method (b)
and many moderators are ill-prepared to deal with method (a).
Therefore, method (a) SHOULD NOT be used until such time as the
majority of moderators are able to accept it.
13.This standard does not prescribe how the email address of the
moderator is to be determined, that being a matter of policy to be
arranged by the agency responsible for the oversight of each
hierarchy. Nevertheless, there do exist various agents worldwide
which provide the service of forwarding to moderators, and the
address to use with them is obtained as follows:
(a) Each '.' in the newsgroup-name is replaced with a '-'.
(b) The result of these operations is used as the local-part of
the mailbox of the agent. For example, articles intended for
"news.announce.important" would be emailed to "news-
announce-important@forwardingagent.example".
[< Prev]
[TOC] [ Next >]
#Diff to first older
--- ../usefor-article-12/Procedure_to_be_followed_by_Injecting_Agents.out November 2003
+++ ../usefor-article-13/Procedure_to_be_followed_by_Injecting_Agents.out May 2004
@@ -1,38 +1,39 @@
8.2.2. Procedure to be followed by Injecting Agents
- A injecting agent receives proto-articles from posting and followup
- agents. It verifies them, adds headers where required and then either
- forwards them to a moderator or injects them by passing them to
- serving or relaying agents.
-
- If an injecting agent receives an otherwise valid article that has
- already been injected it SHOULD either act as if it is a relaying
- agent or else pass the article on to a relaying agent completely
- unaltered. Exceptionally, it MAY reinject the article, perhaps as a
- part of some complex gatewaying process (in which case it will add a
- second '%' path-delimiter to the Path-header). It MUST NOT forward
- an already injected article to a moderator.
+ An injecting agent receives proto-articles from posting and followup
+ agents. It verifies them, adds headers where required, and then
+ either forwards them to a moderator or injects them by passing them
+ to serving or relaying agents. It MUST NOT forward an already
+ injected article to a moderator.
An injecting agent processes articles as follows:
- 1. It MUST remove any Injector-Info- or Complaints-To-header already
+ 1. It MUST remove any Injection-Info- or Complaints-To-header already
present (though it might be useful to copy them to suitable X-
- headers). It SHOULD likewise remove any NNTP-Posting-Host or other
- undocumented tracing header.
+ headers). It SHOULD likewise remove any NNTP-Posting-Host, X-Trace
+ or other undocumented tracing header.
2. It SHOULD verify that the article is from a trusted source.
- However, it MAY allow articles in which headers contain "forged"
- email addresses, that is, addresses which are not valid for the
- known and trusted source, especially if they end in ".invalid".
-
- 3. It MUST reject any article whose Date-header is more than 24 hours
- into the past or into the future (cf. 5.1).
+ However, it MAY allow articles in which headers contain unverified
+ email addresses, that is, addresses which are not known to be
+ valid for the trusted source, and notably so if they end in
+ ".invalid".
+
+ 3. It SHOULD reject any article whose Date-header (5.1) is more than
+ 24 hours into the future (and MAY use a margin less than that 24
+ hours). It MUST, except when reinjecting, reject any article with
+ an Injection-Date-header already present (and SHOULD do likewise
+ with any NNTP-Posting-Date-header). It MAY when reinjecting, but
+ only if there is no Injection-Date-header present, reject any
+ article whose Date-header appears to be stale (e.g. more than 72
+ hours into the past).
4. It MUST reject any article that does not have the correct
- mandatory headers for a proto-article (5 and 8.2.1) present, or
- which contains any header that does not have syntactically legal
- contents. It SHOULD reject any article which contains any header
- deprecated for Netnews (4.2.1).
+ mandatory headers for a proto-article (or, when reinjecting, all
+ the mandatory headers other than Injection-Date), or which
+ contains any header that does not have legal contents. It SHOULD
+ reject any article which contains any header deprecated for
+ Netnews (4.2.1).
5. If the article is rejected (for reasons given above, or for other
formatting errors or matters of site policy) the posting agent
@@ -40,30 +41,39 @@
posting has failed and the article MUST NOT then be processed
further.
- 6. The Message-ID and Date-headers (and their contents) MUST be added
- when not already present.
+ 6. The Message-ID, Date and From-headers (and their contents) MUST be
+ added when not already present (but that situation could not arise
+ during reinjection).
7. A Path-header with a tail-entry (5.6.3) MUST be correctly added if
not already present (except that it SHOULD NOT be added if the
- article is to be forwarded to a moderator).
+ article is to be forwarded to a moderator). During reinjection,
+ the existing Path-header SHOULD be retained.
8. The path-identity of the injecting agent with a '%' path-delimiter
- (5.6.2) MUST be prepended to the Path-header; moreover, that
- path-identity MUST be an FQDN mailable address (5.6.2).
+ (5.6.2) MUST be prepended to the Path-header (which could result
+ in more that one '%' path-delimiter in the case of reinjection);
+ moreover, that path-identity MUST be an FQDN mailable address
+ (5.6.2).
- 9. An Injector-Info-header (6.19) SHOULD be added, identifying the
+ 9. An Injection-Info-header (6.19) SHOULD be added, identifying the
trusted source of the article, and a suitable Complaints-To-header
(6.20) MAY be added (except that these two headers MUST NOT be
added if the article is to be forwarded to a moderator).
10.The injecting agent MUST NOT alter the body of the article in any
- way. It MAY add other headers not already provided by the poster,
- but SHOULD NOT alter, delete, or reorder any existing header, with
- the specific exception of "tracing" headers such as Injector-Info
- and Complaints-To, which are to be removed as already mentioned.
+ way. It MAY, except when reinjecting, add other headers not
+ already provided by the poster, but SHOULD NOT alter, delete, or
+ reorder any existing header, with the specific exception of
+ "tracing" headers such as Injection-Info and Complaints-To, which
+ are to be removed as already mentioned.
11.If the Newsgroups-header contains no moderated groups, or if it
- contains an Approved-header, the injecting agent forwards the
+ contains an Approved-header, the injecting agent MUST then add an
+ Injection-Date-header (5.7) if one is not already present, but it
+ MUST NOT alter, or remove, an already present Injection-Date-
+ header (and likewise SHOULD NOT alter, or remove, an already
+ present NNTP-Posting-Date-header). Finally, it forwards the
article to one or more relaying or serving agents.
12.Otherwise, when the Newsgroups-header contains one or more
@@ -84,6 +94,8 @@
(b) The article is sent as an email as it stands, with the
addition of such extra headers (e.g. a To-header) as are
necessary for an email.
+
+
Although both of these methods have seen use in the past, the
preponderance of current usage on Usenet has been for method (b)