From: Charles Lindsey (chl@clw.cs.man.ac.uk)
Date: Fri Apr 12 2002 - 10:41:35 CDT
<http://www.landfield.com/usefor/drafts/section_8.06.02>
Principal changes:
Mention of deprecated headers (e.g. Disposition-Notice-To)
Final text (as hopefully agreed) re injecting agents and Sender-header
Expanded Duties of Outgoing Gateways
Full diffs follow:
*** /tmp/da1aG6D Fri Apr 12 16:28:01 2002
--- landfield/drafts/section_8.06.02 Thu Apr 11 21:07:27 2002
***************
*** 26,28 ****
principle, derived from a much older code of practice, the
! Hippocratic Oath (we will thus call this the Hippocratic Principle):
--- 26,28 ----
principle, derived from a much older code of practice, the
! Hippocratic Oath (we may thus call this the Hippocratic Principle):
***************
*** 65,68 ****
except that some of the following mandatory headers MAY be omitted:
! Message-Id, Date and Path. These headers MUST NOT contain invalid
! values; they MUST either be correct or not present at all.
--- 65,70 ----
except that some of the following mandatory headers MAY be omitted:
! Message-Id-header, Date-header, Path-header (and even From-header if
! the particular injecting agent can derive that information from other
! sources). These headers MUST NOT contain invalid values; they MUST
! either be correct or not present at all.
***************
*** 105,107 ****
mandatory headers for a proto-article (5 and 8.2.1) present, or
! which contains any header that does not have legal contents.
--- 107,111 ----
mandatory headers for a proto-article (5 and 8.2.1) present, or
! which contains any header that does not have legal contents, and
! it SHOULD reject any article which contains any header deprecated
! for Netnews (4.2.1).
***************
*** 115,117 ****
-
7. A Path-header with a tail-entry (5.6.3) MUST be correctly added if
--- 119,120 ----
***************
*** 129,142 ****
! 10.The injecting agent MAY add other headers not already provided by
! the poster, but SHOULD NOT alter, delete or reorder any headers
! already present in the article, except that existing headers
! intended for tracing purposes, such as Injector-Info and
! Complaints-To, are to be removed as already mentioned. The
! injecting agent MUST NOT alter the body of the article in any way.
! NOTE: Care needs to be exercised, when adding any non-mandatory
! header in this way, to ensure that the intentions of the poster
! are preserved. In particular, the addition of a Sender-header
! would have privacy implications over and above those set out in
! 6.19.1 regarding the Injector-Info-header.
--- 132,146 ----
! 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.
! NOTE: The addition of non-mandatory headers by the injecting
! agent may alter the posting agent's preferred presentation of
! information. In particular, adding a Sender-header that exposes
! a sender's mailbox has privacy implications; where the main or
! only purpose for doing so is as tracing information, it is
! preferable to use instead one of the options provided for the
! Injector-Info header (6.19.1).
***************
*** 226,227 ****
--- 230,233 ----
+
+
NOTE: In order to prevent overloading, relaying agents should
***************
*** 231,233 ****
-
Relaying agents MUST NOT alter, delete or rearrange any part of an
--- 237,238 ----
***************
*** 274,277 ****
! 7. It SHOULD remove any variant headers (4.2.5.3) from each article
! and MUST, in particular, remove any Xref-header (6.16). It then
MAY (and usually will) generate a fresh Xref-header.
--- 279,281 ----
! 7. It MUST remove any Xref-header (6.16) from each article. It then
MAY (and usually will) generate a fresh Xref-header.
***************
*** 285,291 ****
Postings agents SHOULD ensure that proto-articles they create are
! valid Netnews articles according to this standard and other
! applicable policies.
-
Posting agents meant for use by ordinary posters SHOULD reject any
--- 289,295 ----
+
Postings agents SHOULD ensure that proto-articles they create are
! valid news articles according to this standard and other applicable
! policies.
Posting agents meant for use by ordinary posters SHOULD reject any
***************
*** 342,343 ****
--- 346,349 ----
+
+
2. The Date-header SHOULD be retained, except that if it is stale
***************
*** 350,358 ****
removed.
- [Note several differences from Kent Landfield's 'Moderator's Handbook'.
- The original Date and Message-ID are retained.
- Any Distribution-header is retained.
- Any Sender-header is retained.
- Various other minor headers are retained (though the moderator MAY, of
- course, remove them.
- ]
--- 356,357 ----
***************
*** 388,391 ****
However, prior to the introduction of this standard, it was more
! common for injecting agents to transform proto-articles into mail
! messages, mixing the Netnews headers with the Mail headers.
Moderators SHOULD therefore be prepared to accept submission in this
--- 387,390 ----
However, prior to the introduction of this standard, it was more
! common for injecting agents to transform proto-articles into email
! messages, mixing the Netnews headers with the Email headers.
Moderators SHOULD therefore be prepared to accept submission in this
***************
*** 393,395 ****
Incoming Gateway (8.8.2) (and, in particular, they SHOULD adopt the
! Message-ID- and Date-headers of the mail message, though they SHOULD
NOT add any Sender-header).
--- 392,394 ----
Incoming Gateway (8.8.2) (and, in particular, they SHOULD adopt the
! Message-ID- and Date-headers of the email message, though they SHOULD
NOT add any Sender-header).
***************
*** 406,407 ****
--- 405,407 ----
+
There are two basic types of gateway, the Outgoing Gateway that
***************
*** 409,411 ****
Incoming Gateway that transforms a message from another medium into a
! news article and injects it into a Netnews system. These are handled
separately below.
--- 409,411 ----
Incoming Gateway that transforms a message from another medium into a
! news article and injects it into a news system. These are handled
separately below.
***************
*** 465,475 ****
! It is recommended, however, that the following practices be followed
! by all outgoing gateways regardless of whether there is known to be a
! related incoming gateway, both as a precautionary measure and as a
! guideline to quality of implementation.
! 1. Only the minimal necessary changes should be made, as stated
! above.
! 2. The message identifier of the news article should be preserved if
at all possible, preferably as or within the corresponding unique
--- 465,512 ----
! Where the format of the news article is incompatible with that of the
! target medium, it may be necessary to apply transformations. In
! particular, the presence of UTF8-xtra-chars in headers may be a
! source of such incompatibility when gatewaying into Email. On the
! other hand, some email systems (especially those supporting the
! 8BITMIME extensions [RFC 2821]) may well transport such material
! correctly, and some user agents may even display it.
! It is not the purpose of this standard to set requirements to be
! followed by implementors of outgoing gateways. Those implementors are
! in the best position to know the capabilities of the systems to which
! the article is to be sent, the purposes for which it is being sent,
! and the extent to which those purposes will be vitiated if the
! content of some header is mutilated en route, or fails to display
! correctly upon arrival; this is a matter for their judgement.
! Nevertheless, it is useful to draw attention to a few transformations
! which such implementors might find useful.
! o Encapsulating the whole article as a message/rfc822 (6.21.2.2) may
! make it less likely to be mutilated during transport, especially
! where 8BITMIME is supported. Alternatively, encapsulating as an
! application/news-transmission (6.21.6.1) will guarantee correct
! transmission and is the method of choice where the intent is to
! gateway it back into Netnews later on.
! o Encoding words containing UTF8-xtra-chars according to [RFC 2047],
! where permitted by that standard (i.e. within phrases and
! unstructured headers), and preferably using the charset utf-8,
! should ensure their correct display upon arrival. Indeed, many
! user agents will display this encoding correctly in contexts not
! allowed by [RFC 2047].
! o In particular, treating a newsgroup-name as an encoded word
! according to [RFC 2047] is recommended (see also 5.5). Even if it
! is not decoded at the far end, it is preferable to display the
! encoded form than to display nothing at all. Note, however, that
! such encoded newsgroup-names MUST be restored to their canonical
! form before reinjection into any Netnews system.
! o Parameters whose values contain UTF8-xtra-chars may use the
! encoding defined in [RFC 2231], again preferably using the charset
! utf-8.
!
! In general, the following practices are recommended for all outgoing
! gateways, regardless of whether there is known to be a related
! incoming gateway, both as a precautionary measure and as a guideline
! to quality of implementation.
!
! 1. The message identifier of the news article should be preserved if
at all possible, preferably as or within the corresponding unique
***************
*** 478,480 ****
! 3. The Date of the news article should also be preserved if possible,
for similar reasons.
--- 515,517 ----
! 2. The Date of the news article should also be preserved if possible,
for similar reasons.
***************
*** 481,483 ****
! 4. The message should be tagged in some way so as to prevent its
reinjection into Netnews. This may be impossible to do without
--- 518,520 ----
! 3. The message should be tagged in some way so as to prevent its
reinjection into Netnews. This may be impossible to do without
***************
*** 488,491 ****
! 5. News control messages should not be gated to another medium unless
! they would somehow be meaningful in that medium.
--- 525,528 ----
! 4. Netnews control messages should not be gated to another medium
! unless they would somehow be meaningful in that medium.
***************
*** 504,506 ****
message it has already gated identical except for trace headers (like
! Received in e-mail or Path in Netnews) MUST NOT gate the message
again. An incoming gateway SHOULD take precautions against having
--- 541,543 ----
message it has already gated identical except for trace headers (like
! Received in Email or Path in Netnews) MUST NOT gate the message
again. An incoming gateway SHOULD take precautions against having
***************
*** 510,516 ****
News articles prepared by gateways MUST be legal news articles. In
! particular, they MUST include all of the mandatory headers and MUST
! fully conform to the restrictions on said headers. This often
! requires that a gateway function not only as a relaying agent, but
! also partly as a posting agent, aiding in the synthesis of a
! conforming article from non-conforming input.
--- 547,554 ----
News articles prepared by gateways MUST be legal news articles. In
! particular, they MUST include all of the mandatory headers, MUST
! fully conform to the restrictions on said headers, and SHOULD exclude
! any deprecated headers (4.2.1). This often requires that a gateway
! function not only as a relaying agent, but also partly as a posting
! agent, aiding in the synthesis of a conforming article from non-
! conforming input.
***************
*** 517,526 ****
Incoming gateways MUST NOT pass control messages (articles containing
! a Control-header) without removing or renaming that header. Gateways
! MAY, however, generate their own cancel messages, under the general
! allowance for injecting agents to cancel their own messages (7.3).
! If a gateway receives a message that it can determine is a valid
! equivalent of a cancel message in the medium it is gatewaying, it
! SHOULD discard that message without gatewaying it, generate a
! corresponding cancel message of its own, and inject that cancel
! message.
--- 555,564 ----
Incoming gateways MUST NOT pass control messages (articles containing
! a Control- or Supersedes-header) without removing or renaming that
! header. Gateways MAY, however, generate their own cancel messages,
! under the general allowance for injecting agents to cancel their own
! messages (7.3). If a gateway receives a message that it can
! determine is a valid equivalent of a cancel message in the medium it
! is gatewaying, it SHOULD discard that message without gatewaying it,
! generate a corresponding cancel message of its own, and inject that
! cancel message.
***************
*** 536,542 ****
the news system, possibly resulting in high processing load or
! even e-mail sent for every message received, are catastrophic.
! It is far preferable to construct a system specifically for
! posting control messages that can do appropriate consistency
! checks and authentication of the originator of the message.
If there is a message identifier that fills a role similar to that of
--- 574,581 ----
the news system, possibly resulting in high processing load or
! even email sent for every message received, are catastrophic. It
! is far preferable to construct a system specifically for posting
! control messages that can do appropriate consistency checks and
! authentication of the originator of the message.
+
If there is a message identifier that fills a role similar to that of
***************
*** 565,567 ****
list into the world-wide Usenet newsgroups, both of which
! preserve the mail message identifier. Each newsgroup may then
receive a portion of the messages (different sites seeing
--- 604,606 ----
list into the world-wide Usenet newsgroups, both of which
! preserve the email message identifier. Each newsgroup may then
receive a portion of the messages (different sites seeing
***************
*** 597,601 ****
1. The news-to-mail gateway preserves the message identifier of the
! news article in the generated mail message. The mail-to-news
! gateway likewise preserves the mail message identifier provided
that it is syntactically valid for Netnews. This allows the news
--- 636,642 ----
+
+
1. The news-to-mail gateway preserves the message identifier of the
! news article in the generated email message. The mail-to-news
! gateway likewise preserves the email message identifier provided
that it is syntactically valid for Netnews. This allows the news
***************
*** 608,610 ****
list managers that replace the message identifier, and against any
! number of mail hops, provided that the other message headers are
preserved.
--- 649,651 ----
list managers that replace the message identifier, and against any
! number of email hops, provided that the other message headers are
preserved.
***************
*** 612,614 ****
3. The mail-to-news gateway inserts the host name from which it
! received the mail message in the pre-injection region of the Path
(5.6.3). The news-to-mail gateway refuses to gateway any message
--- 653,655 ----
3. The mail-to-news gateway inserts the host name from which it
! received the email message in the pre-injection region of the Path
(5.6.3). The news-to-mail gateway refuses to gateway any message
***************
*** 616,618 ****
its Path-header. This is robust against any amount of munging of
! the message headers by the mailing list, provided that the mail
only goes through one hop.
--- 657,659 ----
its Path-header. This is robust against any amount of munging of
! the message headers by the mailing list, provided that the email
only goes through one hop.
***************
*** 635,641 ****
! [RFC 2822] P. Resnick, "Internet Message Format", RFC 2822, April
! 2001.
--- 676,690 ----
! [RFC 2047] K. Moore, "MIME (Multipurpose Internet Mail Extensions)
! Part Three: Message Header Extensions for Non-ASCII Text", RFC
! 2047, November 1996.
+ [RFC 2231] N. Freed and K. Moore, "MIME Parameter Value and Encoded
+ Word Extensions: Character Sets, Languages, and COntinuations",
+ RFC 2231, November 1997.
+ [RFC 2821] John C. Klensin and Dawn P. Mann, "Simple Mail Transfer
+ Protocol", RFC 2821, April 2001.
+ [RFC 2822] P. Resnick, "Internet Message Format", RFC 2822, April
+ 2001.
***************
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131 Fax: +44 161 436 6133 Web: http://www.cs.man.ac.uk/~chl
Email: chl@clw.cs.man.ac.uk Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9 Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5