Subject: Fwd: Draft section_5.02.03

From: Jacob Palme <[email-masked]>
Date: Sun, 15 Aug 1999 10:41:30 +0200

I found the following message in the usenet-format mailing list.
It is rather unfortunate that the syntax for these headers
is not the same in mail and news. But perhaps unavoidable?

>Date: Thu, 12 Aug 1999 19:06:37 +0100
>From: Charles Lindsey <[email-masked]>
>To: [email-masked]
>Subject: Draft section_5.02.03
>Resent-From: [email-masked]
>X-Mailing-List: <[email-masked]> archive/latest/1100
>Resent-Sender: [email-masked]
>

<snip>

>There follows the new section, and then the diffs. It will appear on the
>landfield site presently.
>
>5.  Mandatory Headers
>
>   An article MUST have one, and only one, of each of the following
>   headers: Date, From, Message-ID, Subject, Newsgroups, Path.
>
>   Note also that there are situations, discussed in the relevant
>   parts of section 6, where References, Sender, or Approved headers
>   are mandatory. In control articles, specific values are required
>   for certain headers.
>
>   For the overall syntax of headers, see section 4.1. In the
>   discussions of the individual headers, the content of each is
>   specified using the syntax notation. The convention used is that
>   the content of, for example, the Subject header is defined as
>   <Subject-content>.
>
>   A proto-article (see 7.1.1) may lack some of these mandatory
>   headers, but they MUST then be supplied by the injecting agent.
>
>5.1.  Date
>
>   The Date header contains the date and time that the article was
>   prepared by the poster ready for transmission and SHOULD express
>   the poster's local time. The content syntax makes use of syntax
>   defined in [MESSFOR].
>
>      Date-content        = date-time
>
>        NOTE: It is a useful convention to follow the date-time with a
>        comment containing the time zone in human-readable form. The
>        use of folding in a date-time is deprecated, even though
>        permitted by [MESSFOR].
>
>5.1.1.  Examples
>
>      Date: Fri, 2 Apr 1999 20:20:51 -0500 (EST)
>      Date: 26 May 1999 16:13 +0000
>
>5.2.  From
>
>   The From header contains the electronic address(es), and possibly
>   the full name, of the article's author(s). The content syntax makes
>   use of syntax defined in [MESSFOR], subject to the following
>   revised definition of local-part.
>
>      From-content        = mailbox-list
>      addr-spec           = local-part "@" domain
>      local-part          = dot-atom / strict-quoted-string
>
>        NOTE: This syntax ensures that the local-part of an addr-spec
>        is restricted to pure US-ASCII (and is thus in strict
>        compliance with [MESSFOR]), whilst allowing any UTF-8
>        character to be used in a preceding quoted-string containing
>        the author's full name. If some future extension to the Mail
>        protocols should relax this restriction, one would expect the
>        Netnews protocols to follow.
>
>   Any mailbox in the From-content field that does not belong to the
>   poster(s) of the article MUST end in the top level domain of
>   ".invalid" [RFC 2606] unless the owner(s) of those mailboxes have
>   authorized the poster(s) of the article to use those mailboxes.
>
>5.2.1.  Examples:
>
>      From: John Smith <[email-masked]>
>      From: "John Smith" <[email-masked]>, [email-masked]
>      From: "John D. Smith" <[email-masked]>, [email-masked],
>         [email-masked]
>      From: Jan Jones <[email-masked]>
>      From: Jan Jones <[email-masked]>
>      From: [email-masked] (Dave Smith)
>
>        NOTE: the last example shows a now deprecated convention of
>        putting an author's full name in a comment following the
>        <mailbox>, rather than in a <phrase> at the start of that
>        mailbox. Observe that the quotes around the "John D. Smith"
>        example were required, on account of the '.' character, and
>        they would also have been required had any UTF8-xtra-char been
>        present.
>
>5.3.  Message-ID
>
>   The Message-ID header contains the article's message identifier, a
>   unique identifier distinguishing the article from every other
>   article. The content syntax makes use of syntax defined in
>   [MESSFOR], subject to the following revised definition of no-fold-
>   quote.
>
>      Message-ID-content  = msg-id
>      id-left             = dot-atom-text / no-fold-quote
>      no-fold-quote       = DQUOTE *( strict-qtext / strict-quoted-pair )
>
>           NOTE: This syntax ensures that a msg-id is restricted to
>           pure US-ASCII (and is thus in strict compliance with
>           [MESSFOR]).
>
>   Following the provisions of [MESSFOR], an agent generating an
>   article's message identifier MUST ensure that it is unique and that
>   it is NEVER reused. Moreover, even though commonly derived from the
>   domain name of the originating site (and domain names are case-
>   insensitive), a message identifier MUST NOT be altered in any way
>   during transport, or when copied (as into a References header), and
>   thus a simple (case-sensitive) comparison of octets will always
>   suffice to recognise that same message identifier wherever it
>   subsequently reappears.
>
>        NOTE: some old software may treat message identifiers that
>        differ only in case within their id-right part as equivalent,
>        and implementors of agents that generate message identifiers
>        should be aware of this.
>
>5.4.  Subject
>
>   The Subject header contains a short string identifying the topic of
>   the message. This is an inheritable header (see ...) to be copied
>   into the Subject header of any followup, in which case the new
>   header-content SHOULD then start with the string "Re: " (a "back
>   reference") followed by the contents of the pure-subject of the
>   precursor. Any leading "Re: " in the pure-subject MUST be stripped.
>
>      Subject-content     = [ back-reference ] pure-subject
>      nbtext              = qtext / "\" / DQUOTE
>                                    ; all of <text> except SP and HTAB
>      pure-subject        = 1*( [FWS] nbtext )
>      back-reference      = %x52.65.3A.20
>                                    ; which is a case-sensitive "Re: "
>
>   The pure-subject MUST NOT begin with "Re: ".
>
>        NOTE: The given syntax differs from that prescribed in
>        [MESSFOR] insofar as it does not permit a header content to be
>        completely empty, or to consist of WSP only (see remarks in
>        ... concerning undesirable headers).
>
>   Followup agents MAY remove instances of non-standard back-reference
>   (such as "Re(2): ", "Re:", "RE: ", or "Sv: ") from the Subject-
>   content when composing the subject of a followup and add a correct
>   back-reference in front of the result.
>
>        NOTE: that would be "SHOULD remove instances" except that we
>        cannot find a sufficiently robust and simple algorithm to do
>        the necessary natural language processing.
>
>   Followup agents MUST NOT use any other string except "Re: " as a
>   back reference. Specifically, a translation of "Re: " into a local
>   language or usage MUST NOT be used.
>
>        NOTE: "Re" is an abbreviation for the Latin "In re", meaning
>        "in the matter of", and not an abbreviation of "Reference" as
>        is sometimes erroneously supposed.
>
>   Agents SHOULD NOT depend on nor enforce the use of back references
>   by followup agents. For compatibility with legacy news software the
>   Subject-content of a control message MAY start with the string
>   "cmsg ", non-control messages MUST NOT start with the string
>   "cmsg ".
>
>5.4.1.  Examples
>
>   In the following examples, please note that only "Re: " is mandated
>   by this standard. "was: " is a convention used by many English-
>   speaking posters to signal a change in subject matter.  Software
>   should be able to deduce this information from References.
>
>      Subject: Film at 11.
>      Subject: Re: Film at 11
>      Subject: Godwin's law considered harmful (was: Film at 11)
>      Subject: Godwin's law (was: Film at 11)
>      Subject: Re: Godwin's law (was: Film at 11)
>
<snip>
------------------------------------------------------------------------
Jacob Palme <[email-masked]> (Stockholm University and KTH)
for more info see URL: http://www.dsv.su.se/~jpalme

---

From: Russ Allbery <[email-masked]>
Date: 15 Aug 1999 04:57:18 -0700

Jacob Palme <[email-masked]> writes:

> I found the following message in the usenet-format mailing list.  It is
> rather unfortunate that the syntax for these headers is not the same in
> mail and news. But perhaps unavoidable?

There are two primary differences between [USEFOR] and [DRUMS] in handling
of those headers that are in common.  The first is that [USEFOR] permits
UTF-8 in the Subject header and in the non-address portions of the From
header, which [DRUMS] cannot do for backward-compatibility reasons.  The
second is that [USEFOR] deprecates or disallows certain sloppiness in
syntax for the Date and Message-ID headers that is allowed by [DRUMS]
(again largely for backward compatibility).  Parsing of these latter two
headers is a speed-critical aspect of a news implementation, while in mail
they're far less vital.  These headers have also been historically handled
more strictly by news software than by mail software (particularly
Message-ID, where there are virtually no restrictions in mail and
extremely strict and enforced restrictions in news in currently deployed
software).

This was the subject of past discussion between the two working groups and
the current state is the result of various compromises and efforts to
bring the standards closer.  I think it's unlikely they'll get much closer
than this given the differing goals of the two working groups.

-- 
Russ Allbery ([email-masked])         <URL:http://www.eyrie.org/~eagle/>