usefor-usepro-03 February 2005

[< 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 non-standard tracing header.

   2. It SHOULD verify that the article is from a trusted source, and
      MAY reject articles in which headers contain unverified email
      addresses, that is, addresses which are not known to be valid for
      the trusted source, though it would be perverse to reject
      intentionally unverifiable addresses such as those ending in
      ".invalid" (7.5).

   3. It SHOULD reject any article whose Date header (F-3.1.2) 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). When reinjecting it
      MAY, in the absence of any Injection-Date header, 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 (except, when reinjecting, for the
      Injection-Date header), or which contains any header that does not
      have legal contents.  It SHOULD reject any article which contains
      any header deprecated for Netnews (F-3).  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.
[The reference to F-3 presupposes some mention of deprecated headers in
there.]

        NOTE: This ability to reject <newsgroup-name>s 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.  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.

        NOTE: The Message-ID, Date and From headers will already be
        present during reinjection.



   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 (F-3.1.5) folding
      whitespace, reformat the Newsgroups and any Followup-To header by
      removing any such whitespace inserted by the posting agent.
[Again, presupposes some mention in F-3.1.5.]

   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> (F-3.1.6) 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 header) to the
      content of the Path header; 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).  See a-5.6.4 for the significance of
      the various <path-delimiter>s.

      NOTE: This could result in more that one '%' <path-delimiter> in
      the case of reinjection.
[There are unresolved issues with regard to the Path header; hence the
continued reference to [ARTICLE] above.]

   11.  An Injection-Info header (F-3.2.13) 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.
[There are unresolved issues concerning the Complaints-To header, so the
above step may yet be reworded in terms of a parameter of the
Injection-Info header.]

        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 are, to that
        extent, regarded as variant headers).

   12.The injecting agent MUST then add an Injection-Date header (F-
      3.1.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
NewerOlder
usefor-usepro December 2004
usefor-usepro September 2004
usefor-usepro August 2004
News Article Format and Transmission May 2004
News Article Format and Transmission November 2003
News Article Format June 2003
News Article Format April 2003
News Article Format February 2003
News Article Format August 2002
News Article Format May 2002
News Article Format November 2001
News Article Format July 2001
News Article Format April 2001
News Article Format February 2000

--- ../usefor-usepro-02/Procedure_to_be_followed_by_Injecting_Agents.out          December 2004
+++ ../usefor-usepro-03/Procedure_to_be_followed_by_Injecting_Agents.out          February 2005
@@ -1,48 +1,53 @@
 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
+   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
+
+
+   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.
+      headers). It SHOULD likewise remove any NNTP-Posting-Host, X-
+      Trace, or other non-standard 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".
+   2. It SHOULD verify that the article is from a trusted source, and
+      MAY reject articles in which headers contain unverified email
+      addresses, that is, addresses which are not known to be valid for
+      the trusted source, though it would be perverse to reject
+      intentionally unverifiable addresses such as those ending in
+      ".invalid" (7.5).
 
-   3. It SHOULD reject any article whose Date-header (a-5.1) is more
+   3. It SHOULD reject any article whose Date header (F-3.1.2) 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).
+      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). When reinjecting it
+      MAY, in the absence of any Injection-Date header, 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.
+      headers for a proto-article (except, when reinjecting, for the
+      Injection-Date header), or which contains any header that does not
+      have legal contents.  It SHOULD reject any article which contains
+      any header deprecated for Netnews (F-3).  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.
+[The reference to F-3 presupposes some mention of deprecated headers in
+there.]
 
-        NOTE: This ability to reject newsgroup-names in breach of
+        NOTE: This ability to reject <newsgroup-name>s in breach of
         established policy does not extend to relaying agents, though it
         might be reasonable for posting agents to do it.
 
@@ -52,65 +57,77 @@
       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
+   6. The Message-ID, Date and From headers (and their contents) MUST be
+      added when not already present.  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.
 
+        NOTE: The Message-ID, Date and From headers will already be
+        present during reinjection.
+
+
+
    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
+      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 (F-3.1.5) folding
+      whitespace, reformat the Newsgroups and any Followup-To header by
       removing any such whitespace inserted by the posting agent.
+[Again, presupposes some mention in F-3.1.5.]
 
-   8. If the Newsgroups-header contains one or more moderated groups and
-      the article does NOT contain an Approved-header, the injecting
+   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
+   9. Otherwise, a Path header with a <tail-entry> (F-3.1.6) MUST be
       correctly added if not already present. During reinjection, the
-      existing Path-header SHOULD be retained.
+      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
+   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 header) to the
+      content of the Path header; 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).  See a-5.6.4 for the significance of
+      the various <path-delimiter>s.
+
+      NOTE: This could result in more that one '%' <path-delimiter> in
+      the case of reinjection.
+[There are unresolved issues with regard to the Path header; hence the
+continued reference to [ARTICLE] above.]
+
+   11.  An Injection-Info header (F-3.2.13) 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.
+[There are unresolved issues concerning the Complaints-To header, so the
+above step may yet be reworded in terms of a parameter of the
+Injection-Info header.]
 
         NOTE: The step above is the only place in which an Injection-
-        Info- or Complaints-To-header is to be created. It follows that
+        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).
+        they will always relate to the latest injection and are, to that
+        extent, 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
+   12.The injecting agent MUST then add an Injection-Date header (F-
+      3.1.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-
+        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.


Documents were processed to this format by Forrest J. Cavalier III