usefor-usepro-02 December 2004
[< Prev]
[TOC] [ Next >]
7.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 (a-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 proper 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 (a-
4.2.1). It SHOULD reject any article whose Newsgroups-header does
not contain at least one newsgroup-name for an existing group (as
listed by its associated serving agent) and it MAY reject any
newsgroup-name which, although syntactically correct, violates a
policy restriction established, for some (sub-)hierarchy, by an
agency with the appropriate authority (1.2). Observe that
crossposting to unknown newsgroups is not precluded provided at
least one of those in the Newsgroups-header is listed.
NOTE: This ability to reject newsgroup-names in breach of
established policy does not extend to relaying agents, though it
might be reasonable for posting agents to do it.
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). A User-Agent-header MAY be added (or an
already present User-Agent-header MAY be augmented) so as to
identify the software (e.g. "INN/1.7.2") used by the injecting
agent.
7. The injecting agent MUST NOT alter the body of the article in any
way (including any change of Content-Transfer-Encoding). 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. It MAY also, as an interim measure pending
widespread adoption of the newly introduced (a-5.5) folding
whitespace, reformat the Newsgroups- and any Followup-To-header by
removing any such whitespace inserted by the posting agent.
8. If 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 a moderator as specified in section 7.2.3
below.
9. Otherwise, a Path-header with a tail-entry (a-5.6.3) MUST be
correctly added if not already present. During reinjection, the
existing Path-header SHOULD be retained.
10.It MUST then prepend the path-identity of the injecting agent and
a '%' path-delimiter (which serves to separate the pre-injection
and post-injection regions of the Path-content) to the Path-
content; this SHOULD then be followed by CRLF and WSP if it would
otherwise result in a line longer than 79 characters. The
prepended path-identity MUST be an FQDN mailable address (a-
5.6.2). This could result in more that one '%' path-delimiter in
the case of reinjection. See a-5.6.4 for the significance of the
various path-delimiters.
11.An Injection-Info-header (a-6.19) SHOULD be added, identifying the
trusted source of the article, and a suitable Complaints-To-header
(a-6.20) MAY be added. Each injecting agent SHOULD use a
consistent form of the Injection-Info-header for all articles
emanating from the same or similar origins.
NOTE: The step above is the only place in which an Injection-
Info- or Complaints-To-header is to be created. It follows that
these headers MUST NOT be created, replaced, changed or deleted
by any other agent (except during reinjection, in which case
they will always relate to the latest injection and can, to that
extent, be regarded as variant headers).
12.The injecting agent MUST then add an Injection-Date-header (a-5.7)
if one is not already present, but it MUST NOT alter, or delete,
an already present Injection-Date-header (and likewise SHOULD NOT
alter, or delete, an already present NNTP-Posting-Date-header).
Finally, it forwards the article to one or more relaying or
serving agents, and the injection process is to be considered
complete.
NOTE: The step above is the only place where an Injection-Date-
header is to be created It follows that it MUST NOT subsequently
be replaced, changed or deleted by any other agent, even during
reinjection.
[< Prev]
[TOC] [ Next >]
#Diff to first older
--- ../usefor-usepro-01/Procedure_to_be_followed_by_Injecting_Agents.out September 2004
+++ ../usefor-usepro-02/Procedure_to_be_followed_by_Injecting_Agents.out December 2004
@@ -19,8 +19,6 @@
valid for the trusted source, and notably so if they end in
".invalid".
-
-
3. It SHOULD reject any article whose Date-header (a-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
@@ -30,20 +28,19 @@
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 (a-4.2.1). It SHOULD reject any article whose
- Newsgroups-header does not contain at least one newsgroup-name for
- an existing group (as listed by its associated serving agent) and
- it MAY reject any newsgroup-name which, although syntactically
- correct, violates a policy restriction established, for some
- (sub-)hierarchy, by an agency with the appropriate authority
- (1.2). Observe that crossposting to unknown newsgroups is not
- precluded provided at least one of those in the Newsgroups-header
- is listed.
+ 4. It MUST reject any article that does not have the proper 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 (a-
+ 4.2.1). It SHOULD reject any article whose Newsgroups-header does
+ not contain at least one newsgroup-name for an existing group (as
+ listed by its associated serving agent) and it MAY reject any
+ newsgroup-name which, although syntactically correct, violates a
+ policy restriction established, for some (sub-)hierarchy, by an
+ agency with the appropriate authority (1.2). Observe that
+ crossposting to unknown newsgroups is not precluded provided at
+ least one of those in the Newsgroups-header is listed.
NOTE: This ability to reject newsgroup-names in breach of
established policy does not extend to relaying agents, though it
@@ -77,7 +74,6 @@
the article does NOT contain an Approved-header, the injecting
agent MUST forward it to a moderator as specified in section 7.2.3
below.
-
9. Otherwise, a Path-header with a tail-entry (a-5.6.3) MUST be
correctly added if not already present. During reinjection, the