Subject: Control: cancel ABNF bug

From: Frank Ellermann <[email-masked]>
Date: Sun, 01 Jan 2006 01:44:59 +0100

Hi, there's apparently a subtle bug in the -06 ABNF.
We want (USEPRO 6.3):

      control-command     =/ Cancel-command
      Cancel-command      = "cancel" Cancel-arguments
      Cancel-arguments    = FWS msg-id [FWS]

That's your  msg-id = "<" id-left "@" id-right ">"
(same as my  msg-id = "<" id-unique "@" id-domain ">" ).

But USEFOR and 2045 (with Ned's pending erratum) say:

      control-command =  verb *( [FWS] argument )
      verb            =  token
      argument        =  value

      value := token / quoted-string
      token := 1*<any (US-ASCII) CHAR except SPACE, CTLs,
                  or tspecials>
      tspecials :=  "(" / ")" / "<" / ">" / "@" /
                    "," / ";" / ":" / "\" / <"> /
                    "/" / "[" / "]" / "?" / "="
                    ; Must be in quoted-string,
                    ; to use within parameter values

In other words Control: cancel <whatever@example> is not
allowed, and we certainly don't want to quote a <msg-id>:

               Control: cancel "<whatever@example>"

Substituting <word> for <value> has the same problem.
1*utext also can't solve it, we don't want NO-WS-CTL.
Taking 1*VCHAR should do the trick, for section 1.4:

      VCHAR           =  <see RFC 4234 appendix B.1>

For section 3.2.5 (changing only its <argument>):

      control-command =  verb *( [FWS] argument )
      verb            =  token
      argument        =  1*VCHAR

Or directly  argument = 1*(%x21-7E)  without the VCHAR.

                        Bye, Frank

P.S.:  why on earth do they need more than 10 months to
publish an erratum submitted by one of the 2045 authors ?

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Control: cancel ABNF bug
Date:  Sun, 01 Jan 2006 01:44:59 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 49
Sender: [email-masked]

Hi, there's apparently a subtle bug in the -06 ABNF.
We want (USEPRO 6.3):

      control-command     =/ Cancel-command
      Cancel-command      = "cancel" Cancel-arguments
      Cancel-arguments    = FWS msg-id [FWS]

That's your  msg-id = "<" id-left "@" id-right ">"
(same as my  msg-id = "<" id-unique "@" id-domain ">" ).

But USEFOR and 2045 (with Ned's pending erratum) say:

      control-command =  verb *( [FWS] argument )
      verb            =  token
      argument        =  value

      value := token / quoted-string
      token := 1*<any (US-ASCII) CHAR except SPACE, CTLs,
                  or tspecials>
      tspecials :=  "(" / ")" / "<" / ">" / "@" /
                    "," / ";" / ":" / "\" / <"> /
                    "/" / "[" / "]" / "?" / "="
                    ; Must be in quoted-string,
                    ; to use within parameter values

In other words Control: cancel <whatever@example> is not
allowed, and we certainly don't want to quote a <msg-id>:

               Control: cancel "<whatever@example>"

Substituting <word> for <value> has the same problem.
1*utext also can't solve it, we don't want NO-WS-CTL.
Taking 1*VCHAR should do the trick, for section 1.4:

      VCHAR           =  <see RFC 4234 appendix B.1>

For section 3.2.5 (changing only its <argument>):

      control-command =  verb *( [FWS] argument )
      verb            =  token
      argument        =  1*VCHAR

Or directly  argument = 1*(%x21-7E)  without the VCHAR.

                        Bye, Frank

P.S.:  why on earth do they need more than 10 months to
publish an erratum submitted by one of the 2045 authors ?

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  artwork
Date:  Sun, 01 Jan 2006 00:21:17 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 96
Sender: [email-masked]

Hi, nobody said that a collection of ABNF-prose is a bad idea.

So I guess that we want this for the point "Collected ABNF?"
in the remaining five "Issues to be Addressed" as stated on
http://tools.ietf.org/html/draft-ietf-usefor-usefor-06#page-5

This replaces the 2nd and 3rd of three paragraphs in section 1.4
after adding 2231 and 3986 references to the first paragraph:

=  Header fields defined in this specification use the Augmented Backus-
=  Naur Form (ABNF) notation (including the Core Rules) specified in
-  [RFC2234] and many constructs defined in [RFC2822] and [RFC2045].
+  [RFC4234] and many constructs defined in [RFC2822], [RFC2045] as
+  amended by [RFC2231], and [RFC3986].
=  Section 3.1.3 updates the [RFC2822] definition of <msg-id>.

The new second and last paragraph in section 1.4 will be the ABNF,
using the same xml2rfc "artwork" style as for all later ABNF lines:

~~~ cut ~~~
token           =  <see RFC 2045 section 5.1>
value           =  <see RFC 2045 section 5.1>
parameter       =  <see RFC 2231 section 7>
attribute       =  <see RFC 2231 section 7>

FWS             =  <see RFC 2822 section 3.2.3>
CFWS            =  <see RFC 2822 section 3.2.3>
atext           =  <see RFC 2822 section 3.2.4>
dot-atom-text   =  <see RFC 2822 section 3.2.4>
phrase          =  <see RFC 2822 section 3.2.6>
utext           =  <see RFC 2822 section 3.2.6>
date-time       =  <see RFC 2822 section 3.3>
mailbox         =  <see RFC 2822 section 3.4>
mailbox-list    =  <see RFC 2822 section 3.4>
address-list    =  <see RFC 2822 section 3.4>
fields          =  <see RFC 2822 section 3.6>

IPv6address     =  <see RFC 3986 section 3.2.2>
IPv4address     =  <see RFC 3986 section 3.2.2>

ALPHA           =  <see RFC 4234 appendix B.1>
CRLF            =  <see RFC 4234 appendix B.1>
DIGIT           =  <see RFC 4234 appendix B.1>
DQUOTE          =  <see RFC 4234 appendix B.1>
SP              =  <see RFC 4234 appendix B.1>
~~~ end ~~~

That's all, I checked it in conjuction with our -06 ABNF using
Bill's ABNF parser.  We don't have any <attribute> in the ABNF,
but use <attribute> in the prose, therefore I've added it here.

                    A happy 2006 to USEFOR...

...or rather a happy year 8 "ab USEFOR condita" ;-)

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: ABNF
Date:  Fri, 30 Dec 2005 05:33:35 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 40
Sender: [email-masked]

Charles Lindsey wrote:

> if you look at draft-ietf-usefor-article-13, you will see
> that is exactly what was done (non-normatively, of course),

Yes, I liked that, but a later consensus (?) was to drop it.

> At the other extreme, a simple list of the rules 'borrowed'
> from other documents. And there are many possible stages in
> between.

Let's pick the ABNF-prose imports, otherwise Bill would need
hours to check our ABNF.

 <host-value> 
> The syntax using the ":" was taken from the presently used
> NNTP-Posting-Host header, which <host-value> is intended to
> replace.

Okay.  But note that colon is a 2045 <tspecial>, so there will
a major difference for "FQDN or IPv4 only" vs. "FQDN:IPv4", in
the latter case the <host-value> MUST be in a <quoted-string>.

With square brackets for all IP literals (as in 2821) or at the
very minimum for IPv6 and beyond (as in STD 66) we could avoid
all potential IPv6 trouble:

| IP-literal  = "[" ( IPv4address / IPv6address ) "]"
|
| host-value  = dot-atom-text / IP-literal /
|               ( dot-atom-text IP-literal )

If you (collective you) don't like this we should at least use
grouping notation as recommended in 4234 3.5:

| host-value = dot-atom-text / IPv4address / IPv6address /
|              ( dot-atom-text ":" ( IPv4address / IPv6address ))

The latter is equivalent with <host-value> in draft -06.  Bye

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: IANA considerations
Date:  Fri, 30 Dec 2005 05:02:07 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 42
Sender: [email-masked]

Charles Lindsey wrote:

> You are mixing a whole bunch of separate issues there.

Indeed.  I prefer to have a limited list of attack vectors in
the "IETF last call", in essence Message-ID and our "magic SP".

> If a header is widely used across several protocols, then it
> is sensible to define it in one place (unless some
> controversy arises), and the IANA registry then mentions that
> one place for both protocols. So the machinery is there -
> the question is whether to use it.

If the 2822 folks wish to adopt our User-Agent as is, even with
our weird "magic SP", they can do it.  In theory you could also
register it directly for mail (without 2822bis), just post the
registration form on the msghdr list, wait two weeks, and then
IANA is obliged to add it to the registry (AFAIK - only Martin
tested it for a provisional Archived-At registration).

> he still intends to publish S-o-1036 as an infomational/
> whatever RFC, so on the strength of that, I think we can now
> remove the historic appendices from both USEFOR and USEPRO,
> and possibly simplify the section that declares some things
> 'obsolete'.

Good news.  Let Henry finish off these three pre-1036 header
fields in his "IANA considerations".  We can then focus on our
header fields (incl. two NNTP-* replaced by two Injection-*):

>>Maybe "obsoleted" is the correct value for NNTP-Posting-* (?)
 
> Could be. Or we are allowed to invent new words if really
> necessary.

Apparently we are, but for NNTP-* "obsoleted" is fine, and for
the four s-o-1036 header fields "historic" is okay.  For Lines:
"standard" or "deprecated" or "obsolescent" will do, and that's
then at least consistent with our own usage of "obsoleted" and
"historic" for different purposes.
                                  Bye, Frank

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: IANA considerations
Date:  Fri, 30 Dec 2005 04:27:40 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 27
Sender: [email-masked]

Charles Lindsey wrote:

> We are really up against the problem that the IETF machinery
> does not seem to cope well with the case where a Standard
> has been superseded by a Proposed Standard (and everybody
> agrees that the old one is to be considered dead), but nobody
> has gotten around to moving the new standard along the track.

For 2821, a PS broken by design (= essentially a DDoS machine),
the fatal design flaw was already a part of STD 3 (1123).  And
"everybody agrees with 1123 5.3.6a" would be utter dubious, but
I digress.

I don't see anything of this issue here, the status of 1036 is
"unknown", not "standard".  S-o-1036 would be "historic", and
draft-ietf-usefor-usefor will be the only game in town (as PS)
for the NetNews article format.

The new header field registry offers "standard" for anything on
standards track (and even for wannabe-standards published by
other SDOs like ISO, W3C, Unicode, ECMA, etc., roll-your-own).

Apparently it also allows "obsolescent" or "deprecated" for
our case "Lines:".  IMO good enough, the draft uses precisely
these adjectives in 3.3.1
                           Bye, Frank

To: [email-masked]
Xref: clerew local.usefor:22805
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: IANA considerations
Date: Wed, 28 Dec 2005 19:41:11 GMT
Lines: 41
Sender: [email-masked]

In <4E1927EA4BCAE0EFDB80BE29@B50854F0A9192E8EC6CDA126> Harald Tveit Alvestrand <[email-masked]> writes:

>Grumble. The HTTP and Mail documents both give full templates per header,=20
>and as you say, this makes for a very long document (easy to produce, just=20
>tedious). I like the idea of not making -usefor depend on this.

Well looking at the registries IANA have actually constructed
(http://www.iana.org/assignments/message-headers/perm-headers.html and
http://www.iana.org/assignments/message-headers/prov-headers.html), they
have only taken the bare bones of those documents - essentially what Ken's
table proposed), so I think that is all we are obliged to provide. In
fact, they haven't even included the 'Status' and 'Author/Change
controller' fields at all, which I find odd. And for sure, if we want any
"related information" to be attached to some header, we will need to say
so explicitly in out IANA Considerations.

>The issue of documenting obsoleted headers is problematic. We can (in=20
>theory) argue that the sentences referring to them as "obsoleted" in=20
>usefor-usefor is enough definition for an obsoleted header. It would be=20
>more proper to have son-of-1036 as the reference - but that introduces a=20
>dependency, which is bad.

I would say that if we declare the Foo-Bar header to be "obsolete", then
the document which delcares it obsolete is the primary reference that is
needed. A secondary reference to any document that might have defined it
previously would be a sensible addition, if such exists, but I would
suppose that would be of the nature of an "informative" reference, and as
such need not create a dpendency. In any case, I presume we are going to
have an informative reference to S-o-1036 in lieu of those Historical
Appendices,

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22806
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: IANA considerations
Date: Wed, 28 Dec 2005 19:45:38 GMT
Lines: 23
Sender: [email-masked]

In <CA4640EE41B1F3E153B07D27@B50854F0A9192E8EC6CDA126> Harald Tveit Alvestrand <[email-masked]> writes:

>Seems to be a field where syntax checking is not going to be terribly=20
>strict.... if a field was defined in 822 and deprecated in 2822, I suppose=20
>the correct status would be "standard-but-obsoleted"......

For which you could use the word "obsolescent". However, that might
require some explanation. We are really up against the problem that the
IETF machinery does not seem to cope well with the case where a Standard
has been superseded by a Proposed Standard (and everybody agrees that the
old one is to be considered dead), but nobody has gotten around to moving the
new standard along the track.

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22803
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: #1047 - Path header (was toplabel...)
Date: Wed, 28 Dec 2005 18:14:14 GMT
Lines: 71
Sender: [email-masked]

In <7684C8CF917DC078E129BA27@B50854F0A9192E8EC6CDA126> Harald Tveit Alvestrand <[email-masked]> writes:

>--On 21. desember 2005 16:55 +0000 Charles Lindsey <[email-masked]>=20
>wrote:

>> Then you need to say "It usually takes the form of a fully qualified
>> domain name ...", and/or make some mention of barewords.

>Did you miss my point?

>"The form of a domain name having one or more components" subsumes the form =

>of a domain name having one component - "foobar" is just as much in "the=20
>form of a domain name" as "clerew.man.ac.uk" is - it is just not a FULLY=20
>QUALIFIED domain name, in the way the term is usually used.

>Putting in "usually" would mean that you couldn't tell for sure whether=20
>non-domain-name constructs like "1...." or "really....silly" were allowed=20
>as "path-identity". (The grammar does not disallow them.)

>That said, there may be good reason for mentioning the case of "bareword" - =

>it's an important case for being consistent with existing practice.
>If so, propose text.

Well it all depends on how much you want to say here, and how much in
USEPRO. And also on precisely what you want to disallow/discourage.

So I would start from

   A <path-identity> is a name identifying a site.  It usually takes the
   form of a fully qualified domain name or a "bareword".

That is brief, but requires some definition of "bareword". If it is
understood (whether by writing ABNF or otherwise) that it has no "."s in
it, then it is clear that funnies like "really....silly" would be at best
'unusual' (even if syntactically permitted) and you could leave it to
USEPRO to draw the rules tighter (with MUST/SHOULD/MAY/whatever as we may
decide). Alternatively, you could wrap up the whole thing in ABNF (which,
at one extreme, would lead to a syntax such as I have proposed).

However, I would suggest that there are two more pressing things to decide
first:

1. The remarks in the present draft regarding the "dead:beef" matter are
just wrong. I think we are agreed that we don't want to see ':'s anywhere
except in IPv6addresses, and then only in diagnostics/whatever. But do we
want to make that prohibition clear here in USEFOR (which would certainly
need some ABNF), or do we want to do it as part of some "rule tightening"
in USEPRO?

2. How many and which keywords do we want to introduce here? Which is
related to the question of whether we want some way to distinguish
diagnostics from sites (for which a keyword such as "SEEN" would apprear
to be needed). So either we need to define the keywords here in USEFOR, or
else we regard them as "funny kinds of barwords" and give
instructions/conventions for inserting them in USEPRO. To my mind, it
would be much better to try and decide which instructions/conventions we
are aiming towards now, rather than fix the format of USEFOR before we are
quite sure where we are aiming.

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22804
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: ABNF
Date: Wed, 28 Dec 2005 19:10:24 GMT
Lines: 41
Sender: [email-masked]

In <[email-masked]> Frank Ellermann <[email-masked]> writes:

>Ken Murchison wrote:
>> Both issues fixed.

>Thanks.  I think we should add an "import interface" for all 21
>terms defined elsewhere.  We use five sources 2045, 2231, 2822,
>3986, and 4234, and the 2231 terms are redefinitions of 2045.

I am all for giving the hard-pressed reader as much help as possible.
There are many ways one might do this. At one extreme, one could include
all the cited rules from all the documents referred to as part of the
"collected syntax" appendix. Indeed, if you look at
draft-ietf-usefor-article-13, you will see that is exactly what was done
(non-normatively, of course), complete with a notation to show which RFC
each rule had been taken from, and whether it had been changed/adapted
from its original. At the other extreme, a simple list of the rules
'borrowed' from other documents. And there are many possible stages in
between.

>| host-value  =  dot-atom-text 
>|                [ ":" ( IPv4address / IPv6address ) ]

>We discussed to replace ":" by a "better" separator, but I
>forgot the details.  Could we use "[" ( IPv4 / IPv6 ) "]" ?

The syntax using the ":" was taken from the presently used
NNTP-Posting-Host header, which <host-value> is intended to replace.

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22795
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: IANA considerations
Date: Fri, 23 Dec 2005 13:03:17 GMT
Lines: 83
Sender: [email-masked]

In <[email-masked]> Frank Ellermann <[email-masked]> writes:

>Charles Lindsey wrote:

>> We also need to consider whether User-Agent should also apply
>> to the protocol "email". It was designed with that intent
>> and our draft says so

>Easy for 2822bis to adopt this if they like it...

>> Probably we should check with IESG whether they would be
>> willing for us to do this, since it would stretch our charter
>> somewhat.

>...that's a good reason to stay away from it.  They could be
>tempted to ask us why it took us six years to figure out the
>Message-ID, and why we want to screw up mail before the Path-
>syntax is 100% clear.

Eh? You are mixing a whole bunch of separate issues there. If a header is
widely used across several protocols, then it is sensible to define it in
one place (unless some controversy arises), and the IANA registry then
mentions that one place for both protocols. So the machinery is there -
the question is whether to use it. Anyway, I think we need to hear Harald
on this one.

>>    NNTP-Posting-Host netnews deprecated IETF
>>    NNTP-Posting-Date netnews deprecated IETF
>>    Also-Control netnews obsoleted IETF
>>    See-Also netnews obsoleted IETF
>>    Article-Names netnews obsoleted IETF
>>    Article-Updates netnews obsoleted IETF

>What about Relay-Version / Posted-Version / Date-Received ?
>Apparently they are only mentioned (already as obsolete) in
>appendix A.3 of s-o-1036, but not in 1036.

Yes, they could usefully be mentioned. The only difference is that the
first four were actually proposed for current use in S-o-1036, whereas the
last three were already dead and buried by then (so perhaps 'Historic' is
the word to use). But S-o-1036 is still a good reference for what they
used to be like.

BTW, I have now heard back from Henry Spencer. Seems he lost his email
connection through a massive cockup by his ISP. Yes, he still intends to
publish S-o-1036 as an infomational/whatever RFC, so on the strength of
that, I think we can now remove the historic appendices from both USEFOR
and USEPRO, and possibly simplify the section that declares some things
'obsolete'. We should then refer to S-o-1036 in a suitable place.

As for the two NNTP-POSTING-* ones, I see benefit in mentioning them, and
the lack of formal definition need be no bar. "Long established custom"
should be good enough if you don't want to mention the source code of INN.

There are also some other headers with "Long standing custom" usage (such
as Mail-Copies-To) but their future is still in the balance (we did not
include them, but we did not bar them from future work).

> [NNTP-Posting-*]
>> I think it would still be proper to describe IETF as the
>> "Change Controller" (but not as Author, obviously).

>We grabbed them and deprecate them in a not-yet IETF PS, so
>that's "Change Controller: IETF" as per the 3864 rules...

Indeed,

>Maybe "obsoleted" is the correct value for NNTP-Posting-* (?)

Could be. Or we are allowed to invent new words if really necessary.

-- 
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: [email-masked]      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

Date: Mon, 26 Dec 2005 04:26:37 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Charles Lindsey <[email-masked]>, [email-masked]
Subject: Re: #1047 - Path header (was toplabel...)
Sender: [email-masked]

--==========1F503801E372CB1D9EA3==========
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

--On 21. desember 2005 16:55 +0000 Charles Lindsey <[email-masked]>=20
wrote:

>>>>   A <path-identity> is a name identifying a site.  It takes the form =
of
>>>>   a domain name having one or more components separated by dots.
>>>
>>> That makes no allowance for barewords (whether we formally define that
>>> term or not). "It _usually_ takes the form of a domain name ..." would
>>> be OK, because any gory details could then be left to USEPRO.
>
>> Try telling the difference between a domain name having one component
>> and a  bareword.
>
> Then you need to say "It usually takes the form of a fully qualified
> domain name ...", and/or make some mention of barewords.

Did you miss my point?

"The form of a domain name having one or more components" subsumes the form =

of a domain name having one component - "foobar" is just as much in "the=20
form of a domain name" as "clerew.man.ac.uk" is - it is just not a FULLY=20
QUALIFIED domain name, in the way the term is usually used.

Putting in "usually" would mean that you couldn't tell for sure whether=20
non-domain-name constructs like "1...." or "really....silly" were allowed=20
as "path-identity". (The grammar does not disallow them.)

That said, there may be good reason for mentioning the case of "bareword" - =

it's an important case for being consistent with existing practice.
If so, propose text.

                         Harald

--==========1F503801E372CB1D9EA3==========
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

--==========1F503801E372CB1D9EA3==========--

Date: Mon, 26 Dec 2005 03:24:12 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Charles Lindsey <[email-masked]>, [email-masked]
Subject: Re: IANA considerations
Sender: [email-masked]

--==========7858000A4ABFDCF93D07==========
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

--On 22. desember 2005 12:12 +0000 Charles Lindsey <[email-masked]>=20
wrote:

>> 6.  IANA Considerations
>
>
>>       NOTE: For each of the registered header fields, the Applicable
>>       protocol is "netnews" and the Author/Change controller is "IETF".
>
> We also need to consider whether User-Agent should also apply to the
> protocol "email". It was designed with that intent, and our draft says so
> (indeed, it would also have been identical to the HTTP protocol version,
> but for some differences in the lexical conventions of HTTP). It is used
> as much in email as in Netnews (though syntax varies somewhat on both,
> because it has not been written down before, except in the HTTP
> standards).
>
> Probably we should check with IESG whether they would be willing for us =
to
> do this, since it would stretch our charter somewhat. OTOH, I doubt =
anyone
> is going to bother to do an ID for the same header in email jusr =
repeating
> our syntax.
>
> The same thing might apply to the Organization header, which is widely
> used in email.

After the snafu over the Newsgroups: headers.... No, we won't do that.

--==========7858000A4ABFDCF93D07==========
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

--==========7858000A4ABFDCF93D07==========--

Date: Mon, 26 Dec 2005 03:22:19 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Frank Ellermann <[email-masked]>, [email-masked]
Subject: Re: IANA considerations
Sender: [email-masked]

--==========13D3F8B4B37C3B4D46EA==========
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

--On 22. desember 2005 06:08 +0100 Frank Ellermann=20
<[email-masked]> wrote:

>
> Ken Murchison wrote:
>
>> | Lines          | obsoleted | This document (Section 3.3.1)        |
>
> AFAIK there's no status "obsoleted" in 3864.  You could only
> mention this in the comment of a complete registration form.

3864 section 4.2.1:

   Status:
      Specify "standard", "experimental", "informational", "historic",
      "obsoleted", or some other appropriate value according to the type
      and status of the primary document in which it is defined.  For
      non-IETF specifications, those formally approved by other
      standards bodies should be labelled as "standard"; others may be
      "informational" or "deprecated" depending on the reason for
      registration.

Seems to be a field where syntax checking is not going to be terribly=20
strict.... if a field was defined in 822 and deprecated in 2822, I suppose=20
the correct status would be "standard-but-obsoleted"......

--==========13D3F8B4B37C3B4D46EA==========
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

--==========13D3F8B4B37C3B4D46EA==========--

Date: Mon, 26 Dec 2005 03:14:47 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Ken Murchison <[email-masked]>, [email-masked]
Subject: Re: IANA considerations
Sender: [email-masked]

--==========02BE2954ACB18CDA98B0==========
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

--On 22. desember 2005 08:17 -0500 Ken Murchison <[email-masked]>=20
wrote:

>>    NNTP-Posting-Date netnews deprecated IETF
>>    Also-Control netnews obsoleted IETF
>>    See-Also netnews obsoleted IETF
>>    Article-Names netnews obsoleted IETF
>>    Article-Updates netnews obsoleted IETF
>>
>> A proper reference for the last 4 would be Son-of-1036, which we propose
>> to refer to in any case. The 1st two have no published definition that I
>> know of apart from the source code of INN. However, they are both much
>> used, and we have explicitly deprecated their continued use in USEFOR. I
>> think it would still be proper to describe IETF as the "Change
>> Controller" (but not as Author, obviously).
>
> If s-o-1036 actually defines a header, then I think we can probably
> register it.  If there is no definition anywhere that we can reference,
> then how can we register it?  I certainly don't want to add ABNF to our
> doc for headers that are dead.
>
> Harald, any thoughts?

Grumble. The HTTP and Mail documents both give full templates per header,=20
and as you say, this makes for a very long document (easy to produce, just=20
tedious). I like the idea of not making -usefor depend on this.

The issue of documenting obsoleted headers is problematic. We can (in=20
theory) argue that the sentences referring to them as "obsoleted" in=20
usefor-usefor is enough definition for an obsoleted header. It would be=20
more proper to have son-of-1036 as the reference - but that introduces a=20
dependency, which is bad.

More opinions?

--==========02BE2954ACB18CDA98B0==========
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

--==========02BE2954ACB18CDA98B0==========--

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  host-value (was: ABNF)
Date:  Fri, 23 Dec 2005 11:46:58 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 24
Sender: [email-masked]

> | host-value  =  dot-atom-text
> |                [ ":" ( IPv4address / IPv6address ) ]

No, that's not the same before, sorry.  Next attempt:

| host-value  =  dot-atom-text
|             / ( [ dot-atom-tet ":" ]
|                 ( IPv4address / IPv6address ))

Won't win us a price for beautiful ABNF.  Third atempt:

| host-value  = dot-atom-text / IPv4address / IPv6address /
|               ( dot-atom-text ":" ( IPv4address / IPv6address ))

That's somewhat clearer.  If the ":" is a problem we could
try something completely different:

| IP-literal  = "[" ( IPv4address / IPv6address ) "]"
|
| host-value  = dot-atom-text / IP-literal /
|               ( dot-atom-text IP-literal )

That's not bad, or is it ?  Bye, Frank

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: ABNF
Date:  Fri, 23 Dec 2005 11:23:42 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 43
Sender: [email-masked]

Ken Murchison wrote:
 
> Both issues fixed.

Thanks.  I think we should add an "import interface" for all 21
terms defined elsewhere.  We use five sources 2045, 2231, 2822,
3986, and 4234, and the 2231 terms are redefinitions of 2045.

Readers would be hard pressed to merge these sources with our
ABNF to get something that's valid.  We could offer the source
(plus section) by 21 ABNF lines like (unverified examples):

               CRLF     = <see RFC 4234 section 2  > 
               token    = <see RFC 2231 section 2  >
               fields   = <see RFC 2822 section 3.6>

Grouped by RFC number this should help, not only for Bill's
validator.

--- host-value ---

I've seen another minor problem in the ABNF (in addition to
<article-locator> )

| host-value =  dot-atom-text / [ dot-atom-text ":" ]
|               ( IPv4address / IPv6address ) ;  see [RFC 3986]

Alternatives without grouping are discouraged in 4234.  To fix
that you could say:

| host-value  =  dot-atom-text 
|                [ ":" ( IPv4address / IPv6address ) ]

We discussed to replace ":" by a "better" separator, but I
forgot the details.  Could we use "[" ( IPv4 / IPv6 ) "]" ?

--- Lines ---

Bill's validator proposes "Lines:" instead of "Lines" ":", and
that's also the style already used for all other header fields.

                              Bye, Frank

Date: Fri, 23 Dec 2005 11:15:14 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Frank Ellermann <[email-masked]>, [email-masked]
Subject: Re: ABNF
Sender: [email-masked]

--On torsdag, desember 22, 2005 16:35:34 +0100 Frank Ellermann 
<[email-masked]> wrote:

>
> Hi, I tried to validate the ABNF:
>
>| injection-info  =  "Injection-Info:" SP [CFWS] path-identity
>|                    [CFWS] *(';' parameter) CRLF
>
> s/';'/";"/
>
> Bill's parser accepts fields =/ etc.  I just added anything
> from 2822 we need not redefined by us on top of the collected
> USEFOR ABNF.
>
> I got a "lines defined but not used" warning, please add this
> to fields =/

Thanks Frank!
That's one of the steps that the WG chair is supposed to make sure has been 
done before submission - very good to have it done!

               Harald

Date: Thu, 22 Dec 2005 21:38:01 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
Subject: Re: Supersedes and Expire header fields
Sender: [email-masked]

Charles Lindsey wrote:
> 
> So I think all that might be needed is a NOTE:
> 
>    NOTE: The Expires header field is also sometimes used in Email with a
>    similar meaning [RFC 2156].

Done.

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

To: [email-masked]
Xref: clerew local.usefor:22785
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: Supersedes and Expire header fields
Date: Thu, 22 Dec 2005 12:18:03 GMT
Lines: 36
Sender: [email-masked]

In <[email-masked]> Ken Murchison <[email-masked]> writes:

>Out current text has the following note regarding Supersedes:

>    NOTE: The Supersedes header field defined here has no connection with
>    the Supersedes header field that sometimes appears in Email messages
>    converted from X.400 according to [RFC2156]; in particular, the
>    syntax here permits only one <msg-id> in contrast to the multiple
>    <msg-id>s in that Email version.

>RFC 2156 also defines an Expires header field, which looks like its 
>compatible with Netnews, provided the mandatory SP follows ':'.  Do we 
>want to have some kind of note similar to what we have above for 
>Expires, or should we refer to RFC 2156 when discussing it?

At least their Expires is defined with the same syntax and essentially the
same semantics, so the potential for harm/confusion is less. Moreover, it
is generally acepted that headers defined for email and used in Netnews,
or vice versa are OK if their meaning carries over in a sensible manner.

So I think all that might be needed is a NOTE:

   NOTE: The Expires header field is also sometimes used in Email with a
   similar meaning [RFC 2156].

-- 
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: [email-masked]      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

Date: Thu, 22 Dec 2005 11:03:48 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
Subject: Re: ABNF
Sender: [email-masked]

Frank Ellermann wrote:
> Hi, I tried to validate the ABNF:
> 
> | injection-info  =  "Injection-Info:" SP [CFWS] path-identity
> |                    [CFWS] *(';' parameter) CRLF
> 
> s/';'/";"/
> 
> Bill's parser accepts fields =/ etc.  I just added anything
> from 2822 we need not redefined by us on top of the collected
> USEFOR ABNF.  
> 
> I got a "lines defined but not used" warning, please add this
> to fields =/

Both issues fixed.

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  ABNF
Date:  Thu, 22 Dec 2005 16:35:34 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 339
Sender: [email-masked]

Hi, I tried to validate the ABNF:

| injection-info  =  "Injection-Info:" SP [CFWS] path-identity
|                    [CFWS] *(';' parameter) CRLF

s/';'/";"/

Bill's parser accepts fields =/ etc.  I just added anything
from 2822 we need not redefined by us on top of the collected
USEFOR ABNF.  

I got a "lines defined but not used" warning, please add this
to fields =/
                           Bye, Frank

;;;;;;;;;;;;;;;;; -2822- ;;;;;;;;;;;;;;;;;;;;;;;;

NO-WS-CTL       =       %d1-8 /         ; US-ASCII control characters
                        %d11 /          ;  that do not include the
                        %d12 /          ;  carriage return, line feed,
                        %d14-31 /       ;  and white space characters
                        %d127

text            =       %d1-9 /         ; Characters excluding CR and LF
                        %d11 /
                        %d12 /
                        %d14-127 /
                        obs-text

quoted-pair     =       ("\" text) / obs-qp

FWS             =       ([*WSP CRLF] 1*WSP) /   ; Folding white space
                        obs-FWS

ctext           =       NO-WS-CTL /     ; Non white space controls
                        %d33-39 /       ; The rest of the US-ASCII
                        %d42-91 /       ;  characters not including "(",
                        %d93-126        ;  ")", or "\"

ccontent        =       ctext / quoted-pair / comment

comment         =       "(" *([FWS] ccontent) [FWS] ")"

CFWS            =       *([FWS] comment) (([FWS] comment) / FWS)

atext           =       ALPHA / DIGIT / ; Any character except controls,
                        "!" / "#" /     ;  SP, and specials.
                        "$" / "%" /     ;  Used for atoms
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"

atom            =       [CFWS] 1*atext [CFWS]

dot-atom        =       [CFWS] dot-atom-text [CFWS]

dot-atom-text   =       1*atext *("." 1*atext)

qtext           =       NO-WS-CTL /     ; Non white space controls
                        %d33 /          ; The rest of the US-ASCII
                        %d35-91 /       ;  characters not including "\"
                        %d93-126        ;  or the quote character

qcontent        =       qtext / quoted-pair

quoted-string   =       [CFWS]
                        DQUOTE *([FWS] qcontent) [FWS] DQUOTE
                        [CFWS]

word            =       atom / quoted-string

phrase          =       1*word / obs-phrase

utext           =       NO-WS-CTL /     ; Non white space controls
                        %d33-126 /      ; The rest of US-ASCII
                        obs-utext

date-time       =       [ day-of-week "," ] date FWS time [CFWS]

day-of-week     =       ([FWS] day-name) / obs-day-of-week

day-name        =       "Mon" / "Tue" / "Wed" / "Thu" /
                        "Fri" / "Sat" / "Sun"

date            =       day month year

year            =       4*DIGIT / obs-year

month           =       (FWS month-name FWS) / obs-month

month-name      =       "Jan" / "Feb" / "Mar" / "Apr" /
                        "May" / "Jun" / "Jul" / "Aug" /
                        "Sep" / "Oct" / "Nov" / "Dec"

day             =       ([FWS] 1*2DIGIT) / obs-day

time            =       time-of-day FWS zone

time-of-day     =       hour ":" minute [ ":" second ]

hour            =       2DIGIT / obs-hour

minute          =       2DIGIT / obs-minute

second          =       2DIGIT / obs-second

zone            =       (( "+" / "-" ) 4DIGIT) / obs-zone

address         =       mailbox / group

mailbox         =       name-addr / addr-spec

name-addr       =       [display-name] angle-addr

angle-addr      =       [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr

group           =       display-name ":" [mailbox-list / CFWS] ";"
                        [CFWS]

display-name    =       phrase

mailbox-list    =       (mailbox *("," mailbox)) / obs-mbox-list

address-list    =       (address *("," address)) / obs-addr-list

addr-spec       =       local-part "@" domain

local-part      =       dot-atom / quoted-string / obs-local-part

domain          =       dot-atom / domain-literal / obs-domain

domain-literal  =       [CFWS] "[" *([FWS] dcontent) [FWS] "]" [CFWS]

dcontent        =       dtext / quoted-pair

dtext           =       NO-WS-CTL /     ; Non white space controls
                        %d33-90 /       ; The rest of the US-ASCII
                        %d94-126        ;  characters not including "[",
                                        ;  "]", or "\"

message         =       (fields / obs-fields)
                        [CRLF body]

body            =       *(*998text CRLF) *998text

;;;;;;;;;;;;;;;;; fields ;;;;;;;;;;;;;;;;;;;;;;;;

fields          =       *(trace
                          *(resent-date /
                           resent-from /
                           resent-sender /
                           resent-to /
                           resent-cc /
                           resent-bcc /
                           resent-msg-id))
                        *(orig-date /
                        from /
                        sender /
                        reply-to /
                        to /
                        cc /
                        bcc /
                        message-id /
                        in-reply-to /
                        references /
                        subject /
                        comments /
                        keywords /
                        optional-field)

fields          =/ *( newsgroups /
                      path /
                      injection-date /
                      followup-to /
                      expires /
                      control /
                      supersedes /
                      distribution /
                      summary /
                      approved /
                      organization /
                      xref /
                      archive /
                      user-agent /
                      injection-info )

;;;;;;;;;;;;;;;;; USEFOR ;;;;;;;;;;;;;;;;;;;;;;;;

unstructured    =  1*( [FWS] utext ) [FWS]

from            =  "From:" SP mailbox-list CRLF

orig-date       =  "Date:" SP date-time CRLF

message-id      =  "Message-ID:" SP [FWS] msg-id [FWS] CRLF

msg-id          =  "<" id-left "@" id-right ">"
                   ; maximum length is 250 octets

id-left         =  dot-atom-text / no-fold-quote

id-right        =  dot-atom-text / no-fold-literal

no-fold-quote   =  DQUOTE
                      ( "." *mqtext /
                        *mqtext "." /
                        *mqtext mqspecial *mqtext )
                      DQUOTE

mqtext          =  atext / "." / mqspecial

mqspecial       =  "(" / ")" /      ; same as specials except
                   "<" /            ; "\" and DQUOTE quoted
                   "[" / "]" /      ; "." doubled and ">" omitted
                   ":" / ";" /
                   "@" / "," /
                   ".." / "\\" / "\" DQUOTE

no-fold-literal =  "[" *( mdtext / "\[" / "\]" / "\\" ) "]"

mdtext          =  %d33-61 /        ; The rest of the US-ASCII
                   %d63-90 /        ; characters not including
                   %d94-126         ; ">", "[", "]", or "\"

subject         =  "Subject:" SP unstructured CRLF

newsgroups      =  "Newsgroups:" SP newsgroup-list CRLF

newsgroup-list  =  [FWS] newsgroup-name
                   *( [FWS] "," [FWS] newsgroup-name ) [FWS]

newsgroup-name  =  component *( "." component )

component       =  1*component-char

component-char  =  ALPHA / DIGIT / "+" / "-" / "_"

path            =  "Path:" SP path-list CRLF

path-list       =  [FWS]
                   *( ( path-identity / path-keyword /
                        path-diagnostic ) [FWS]
                      path-delimiter [FWS] )
                   tail-entry [FWS]

path-identity   =  ( ALPHA / DIGIT )
                   *( ALPHA / DIGIT / "-" / "." / "_" )

path-keyword    =  "POSTED" / "MISMATCH"

path-diagnostic =  1*( ALPHA / DIGIT / "-" / "." / ":" / "_" )

tail-entry      =  path-identity

path-delimiter  =  "!" / "!!"

sender          =  "Sender:" SP mailbox CRLF

reply-to        =  "Reply-To:" SP address-list CRLF

comments        =  "Comments:" SP unstructured CRLF

keywords        =  "Keywords:" SP phrase *("," phrase) CRLF

injection-date  =  "Injection-Date:" SP date-time CRLF

references      =  "References:" SP [CFWS] msg-id *(CFWS msg-id)
                   [CFWS] CRLF

followup-to     =  "Followup-To:" SP ( newsgroup-list / poster-text )
                   CRLF

poster-text     =  [FWS] %d112.111.115.116.101.114 [FWS]
                   ; "poster" in lower-case

expires         =  "Expires:" SP date-time CRLF

control         =  "Control:" SP [FWS] control-command [FWS] CRLF

control-command =  verb *( [FWS] argument )

verb            =  token

argument        =  value

supersedes      =  "Supersedes:" SP [FWS] msg-id [FWS] CRLF

distribution    =  "Distribution:" SP dist-list CRLF

dist-list       =  [FWS] dist-name
                   *( [FWS] "," [FWS] dist-name ) [FWS]

dist-name       =  ALPHA / DIGIT
                   *( ALPHA / DIGIT / "+" / "-" / "_" )

summary         =  "Summary:" SP unstructured CRLF

approved        =  "Approved:" SP mailbox-list CRLF

organization    =  "Organization:" SP unstructured CRLF

xref            =  "Xref:" SP [FWS] server-name
                   1*( FWS location ) [FWS] CRLF

server-name     =  path-identity

location        =  newsgroup-name ":" article-locator

article-locator =  1*( %x21-27 / %x29-3A / %x3C-7E )
                   ; US-ASCII printable characters
                   ; except '(' and ';'

archive         =  "Archive:" SP [CFWS] ("no" / "yes")
                   *( [CFWS] ";" archive-param ) CRLF

archive-param   =  parameter

user-agent      =  "User-Agent:" SP 1*product [CFWS] CRLF

product         =  [CFWS] token [ [CFWS] "/" product-version ]

product-version =  [CFWS] token

injection-info  =  "Injection-Info:" SP [CFWS] path-identity
                   [CFWS] *(";" parameter) CRLF

host-value      =  dot-atom-text / [ dot-atom-text ":" ]
                   ( IPv4address / IPv6address ) ;  see [RFC 3986]

sender-value    =  mailbox / "verified"

lines           =  "Lines" ":" SP [FWS] 1*DIGIT [FWS] CRLF

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: IANA considerations
Date:  Thu, 22 Dec 2005 14:49:06 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 26
Sender: [email-masked]

Ken Murchison wrote:

> See my response to Charles' message.

Yes, our articles crossed at some point behind my monitor. ;-)

Let's take "historic" for the four s-o-1036 header fields,
because the plan for s-o-1036 was publication as "historic".

For NNTP-Posting-* "obsoleted" is fine, we replace them by
our Injection-*, and they are not yet "historic", they are
even not specified in any RFC (AFAIK).

For "Lines" you could say "obsolescent" or "deprecated" if
you don't like "standard", that's what the draft does, and
3864 allows any "appropriate value".

For the three s-o-1036 appendix A.3 header fields last seen
1983 (before RFC 1036) let's delete the intro of chapter 3.3
in -06, and start directly after "In addition...":

| This standard obsoletes four header fields defined in
| [Son-of-1036]:
[...]
                          Bye, Frank

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: IANA considerations
Date:  Thu, 22 Dec 2005 14:22:07 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 55
Sender: [email-masked]

Charles Lindsey wrote:

> We also need to consider whether User-Agent should also apply
> to the protocol "email". It was designed with that intent
> and our draft says so

Easy for 2822bis to adopt this if they like it...

> Probably we should check with IESG whether they would be
> willing for us to do this, since it would stretch our charter
> somewhat.

...that's a good reason to stay away from it.  They could be
tempted to ask us why it took us six years to figure out the
Message-ID, and why we want to screw up mail before the Path-
syntax is 100% clear.

>    NNTP-Posting-Host netnews deprecated IETF
>    NNTP-Posting-Date netnews deprecated IETF
>    Also-Control netnews obsoleted IETF
>    See-Also netnews obsoleted IETF
>    Article-Names netnews obsoleted IETF
>    Article-Updates netnews obsoleted IETF

What about Relay-Version / Posted-Version / Date-Received ?
Apparently they are only mentioned (already as obsolete) in
appendix A.3 of s-o-1036, but not in 1036.

Why do we have them at all, what was Henry talking about when
he wrote "early versions of the news software" ?  His examples
are 1983, RfC 1036 was published 1987.  Should we just remove
this from our draft, because it's ancient pre-1036 history ?

 [NNTP-Posting-*]
> I think it would still be proper to describe IETF as the
> "Change Controller" (but not as Author, obviously).

We grabbed them and deprecate them in a not-yet IETF PS, so
that's "Change Controller: IETF" as per the 3864 rules...

...oops, I just see that "obsoleted" for "Lines" is allowed:

| Status:
|  Specify "standard", "experimental", "informational",
|  "historic", "obsoleted", or some other appropriate value

Maybe "obsoleted" is the correct value for NNTP-Posting-* (?)

My first guess would be "historic" => old and not more needed,
"obsoleted" => old and replaced by something better.  If that
makes sense NNTP-Posting-* are "obsoleted", the othere are all
"historic", but the 'obsolescent' Lines is still "standard".

                     Bye, Frank

Date: Thu, 22 Dec 2005 08:17:49 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: Frank Ellermann <[email-masked]>
CC: [email-masked]
Subject: Re: IANA considerations
Sender: [email-masked]

Frank Ellermann wrote:
> Ken Murchison wrote:
> 
> 
>>| Lines          | obsoleted | This document (Section 3.3.1)        |
> 
> 
> AFAIK there's no status "obsoleted" in 3864.  You could only
> mention this in the comment of a complete registration form.

 From RFC 3864:

    "Status:
       Specify "standard", "experimental", "informational", "historic",
       "obsoleted", or some other appropriate value according to the type
       and status of the primary document in which it is defined."

> 
> Say "standard", it's only a registry, details are irrelevant
> if the source has it right.
> 
> You forgot the registrations for all header fields declared
> to be "historic" by draft-ietf-usefor-usefor-06:

See my response to Charles' message.

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

Date: Thu, 22 Dec 2005 08:17:11 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
CC: Harald Tveit Alvestrand <[email-masked]>
Subject: Re: IANA considerations
Sender: [email-masked]

Charles Lindsey wrote:
> In <[email-masked]> Ken Murchison <[email-masked]> writes:
> 
> 
>>6.  IANA Considerations
> 
> 
> 
>>      NOTE: For each of the registered header fields, the Applicable
>>      protocol is "netnews" and the Author/Change controller is "IETF".
> 
> 
> We also need to consider whether User-Agent should also apply to the
> protocol "email". It was designed with that intent, and our draft says so
> (indeed, it would also have been identical to the HTTP protocol version,
> but for some differences in the lexical conventions of HTTP). It is used
> as much in email as in Netnews (though syntax varies somewhat on both,
> because it has not been written down before, except in the HTTP
> standards).
> 
> Probably we should check with IESG whether they would be willing for us to
> do this, since it would stretch our charter somewhat. OTOH, I doubt anyone
> is going to bother to do an ID for the same header in email jusr repeating
> our syntax.
> 
> The same thing might apply to the Organization header, which is widely
> used in email.

I have no problem adding this (if I can get xml2rfc to behave well with 
another column in the table), if somebody wants to do the legwork with 
IETF/IESG to determine if we can/should add this to our doc.

> I think we also need to mention various other headers now deprecated or
> obsoleted.
> 
>    NNTP-Posting-Host netnews deprecated IETF
                                ^^^^^^^^^^

RFC 3864 doesn't list "deprecated", just "standard", "experimental", 
"informational", "historic", "obsoleted".  I supposed we *could* use 
"deprecated", but perhaps we could get by with "historic".

>    NNTP-Posting-Date netnews deprecated IETF
>    Also-Control netnews obsoleted IETF
>    See-Also netnews obsoleted IETF
>    Article-Names netnews obsoleted IETF
>    Article-Updates netnews obsoleted IETF
> 
> A proper reference for the last 4 would be Son-of-1036, which we propose
> to refer to in any case. The 1st two have no published definition that I
> know of apart from the source code of INN. However, they are both much
> used, and we have explicitly deprecated their continued use in USEFOR. I
> think it would still be proper to describe IETF as the "Change Controller"
> (but not as Author, obviously).

If s-o-1036 actually defines a header, then I think we can probably 
register it.  If there is no definition anywhere that we can reference, 
then how can we register it?  I certainly don't want to add ABNF to our 
doc for headers that are dead.

Harald, any thoughts?

> I think it important that one should be able to look up any header one may
> have encountered in some article in the IANA registry in order to see what
> its official status, if any, might be (surely that is the whole point of
> the registry).

I agree in theory.

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

To: [email-masked]
Xref: clerew local.usefor:22784
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: IANA considerations
Date: Thu, 22 Dec 2005 12:12:16 GMT
Lines: 62
Sender: [email-masked]

In <[email-masked]> Ken Murchison <[email-masked]> writes:

>6.  IANA Considerations

>       NOTE: For each of the registered header fields, the Applicable
>       protocol is "netnews" and the Author/Change controller is "IETF".

We also need to consider whether User-Agent should also apply to the
protocol "email". It was designed with that intent, and our draft says so
(indeed, it would also have been identical to the HTTP protocol version,
but for some differences in the lexical conventions of HTTP). It is used
as much in email as in Netnews (though syntax varies somewhat on both,
because it has not been written down before, except in the HTTP
standards).

Probably we should check with IESG whether they would be willing for us to
do this, since it would stretch our charter somewhat. OTOH, I doubt anyone
is going to bother to do an ID for the same header in email jusr repeating
our syntax.

The same thing might apply to the Organization header, which is widely
used in email.

>    +----------------+-----------+--------------------------------------+
>    | Header field   | Status    | Specification document(s)            |
>    | name           |           |                                      |
>    +----------------+-----------+--------------------------------------+
>    +----------------+-----------+--------------------------------------+

I think we also need to mention various other headers now deprecated or
obsoleted.

   NNTP-Posting-Host netnews deprecated IETF
   NNTP-Posting-Date netnews deprecated IETF
   Also-Control netnews obsoleted IETF
   See-Also netnews obsoleted IETF
   Article-Names netnews obsoleted IETF
   Article-Updates netnews obsoleted IETF

A proper reference for the last 4 would be Son-of-1036, which we propose
to refer to in any case. The 1st two have no published definition that I
know of apart from the source code of INN. However, they are both much
used, and we have explicitly deprecated their continued use in USEFOR. I
think it would still be proper to describe IETF as the "Change Controller"
(but not as Author, obviously).

I think it important that one should be able to look up any header one may
have encountered in some article in the IANA registry in order to see what
its official status, if any, might be (surely that is the whole point of
the registry).

-- 
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: [email-masked]      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

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: IANA considerations
Date:  Thu, 22 Dec 2005 06:08:40 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 33
Sender: [email-masked]

Ken Murchison wrote:

> | Lines          | obsoleted | This document (Section 3.3.1)        |

AFAIK there's no status "obsoleted" in 3864.  You could only
mention this in the comment of a complete registration form.

Say "standard", it's only a registry, details are irrelevant
if the source has it right.

You forgot the registrations for all header fields declared
to be "historic" by draft-ietf-usefor-usefor-06:

       NNTP-Posting-Date       (no spec., dummy source Usefor)
       NNTP-Posting-Host       (no spec., dummy source Usefor)
       Relay-Version           (no spec.  => Usefor or 1036 ?)
       Posted-Version          (no spec.  => Usefor or 1036 ?)
       Date-Received           (no spec.  => Usefor or 1036 ?)
       Also-Control            (Usefor or s-o-1036 ?)
       See-Also                (Usefor or s-o-1036 ?)
       Article-Names           (Usefor or s-o-1036 ?)
       Article-Updates         (Usefor or s-o-1036 ?)

IMHO the IANA registry needs the last known status "historic",
and the source for this last known status, and that's always
draft-ietf-usefor-usefor-06. 

In theory s-o-1036 is the first source for the deprecation of
Relay-Version / Posted-Version / Date-Received, but it's no
RFC at the moment, let's just register the complete "historic"
zoo and be done with it.
                         Bye, Frank

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: Supersedes and Expire header fields
Date:  Thu, 22 Dec 2005 05:52:04 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 19
Sender: [email-masked]

Ken Murchison wrote:

> Do we want to have some kind of note similar to what we have
> above for Expires

I take it that you mean Supersedes here.  

| / "Expires" ":" date-time
[...]

The MIXER <date-time> is apparently 822, and the proposed 2822
wishes to update 822.  We already discuss this in the draft.

IMHO no second note about MIXER needed:  mail2news operators
would know what to do if a MIXER <date-time> incompatible with
USEFOR hits them.  And they also know "magic SP everywhere".

                       Bye, Frank

Date: Wed, 21 Dec 2005 14:16:38 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
Subject: Re: draft-ietf-usefor-usefor-06
Sender: [email-masked]

Charles Lindsey wrote:
> 
> 
>>+   This also applies to the following header field defined in [RFC2822]:
>>+
>>+   Message-ID
>>+
>>+   Several of these headers are mainly of interest to servers, and
>>+   servers often need to process these fields very rapidly.
> 
> 
> s/to servers/to news servers/ (since that is now the terminology we use)

Applied.

>>3.2.14.  Injection-Info
>>
>>
>>-   The "sender" parameter identifies the mailbox of the verified sender
>>-   of the article (alternatively, it uses the token "verified" to
>>+   The "sender" <parameter> identifies the mailbox of the verified
>>+   sender of the article (alternatively, it uses the token "verified" to
>>   indicate that at least any addr-spec in the Sender header field of
> 
>                                 ^^^^^^^^^
>                                <addr-spec>

Fixed.

>>Appendix C.  Differences from RFC 2822
>>
>>+
>>+      The length of a msg-id MUST NOT exceed 250 octets.
> 
>                         ^^^^^^
>                        <msg-id>

Fixed.

> 
>>+      It is legal for a parser to not accept obsolete syntax, except
>>+      that:
> 
> 
> Split infinitives can lead to long religious wars :-( . It is usually
> safer not to include them.

/not accept/reject/

I'll leave the rest of your comments to Harald, since most, if not all, 
of the text added/replaced in -06 was taken verbatim from the tickets.

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

Date: Wed, 21 Dec 2005 14:10:27 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
Subject: Re: #1047 - Path header (was toplabel...)
Sender: [email-masked]

Richard Clayton wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> In message <[email-masked]>, Charles Lindsey
> <[email-masked]> writes
> 
> 
>>>  The Path header field indicates the route taken by an article since
>>>  its injection into the Netnews system.  Each agent that processes an
>>>  article is required to prepend one (or more) identities to this
>>>  header field body.  This is primarily to enable news servers to avoid
>>>  sending articles to sites already known to have them, in particular
>>>  the site they came from, and additionally to permit tracing the route
>>>  articles take in moving over the network, and for gathering Usenet
>>>  statistics.
> 
> 
> /Usenet //
> 
> 
>>>  Each <path-identity> in the <path-list> (excluding the one in the
>>>  <tail-entry>) indicates, from right to left, the successive agents
>>>  through which the article has passed.  The <path-keyword> "POSTED"
>>>  indicates that the agent to its left injected the article.  The use
>>>  of the <path-delimiter> "!!" indicates that the agent to its left
>>>  claims that the agent to its right was the verified source of the
>>>  article (whereas the <path-delimiter> "!" implies no such claim).
>>>  The <path-keyword> "MISMATCH" indicates that the agent to its right
>>>  failed to be so verified.
> 
> 
> this sounds as if !! can only appear early on :(  for the third sentence
> try:
> 
>     The use of the <path-delimiter> "!!" indicates that the agent to its
>     left verified the identity of the agent to its right before
>     accepting the article (whereas the <path-delimiter> "!" implies no
>     such claim.

Both changes applied.

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

To: [email-masked]
Xref: clerew local.usefor:22779
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: #1047 - Path header (was toplabel...)
Date: Wed, 21 Dec 2005 17:00:04 GMT
Lines: 38
Sender: [email-masked]

In <[email-masked]> Richard Clayton <[email-masked]> writes:

>>>   Each <path-identity> in the <path-list> (excluding the one in the
>>>   <tail-entry>) indicates, from right to left, the successive agents
>>>   through which the article has passed.  The <path-keyword> "POSTED"
>>>   indicates that the agent to its left injected the article.  The use
>>>   of the <path-delimiter> "!!" indicates that the agent to its left
>>>   claims that the agent to its right was the verified source of the
>>>   article (whereas the <path-delimiter> "!" implies no such claim).
>>>   The <path-keyword> "MISMATCH" indicates that the agent to its right
>>>   failed to be so verified.

>this sounds as if !! can only appear early on :(  for the third sentence
>try:

>    The use of the <path-delimiter> "!!" indicates that the agent to its
>    left verified the identity of the agent to its right before
>    accepting the article (whereas the <path-delimiter> "!" implies no
>    such claim.

Yes, that sounds better.

But we still need to reach some conclusion on what to say about
<path-keyword>s, and decide whether to tighten things up sufficiently that
we can truly say that <path-identity>s consisting only of <=4 Hex Digits
are the only ones that need be warned against.

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22778
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: #1047 - Path header (was toplabel...)
Date: Wed, 21 Dec 2005 16:55:38 GMT
Lines: 28
Sender: [email-masked]

In <[email-masked]> Harald Tveit Alvestrand <[email-masked]> writes:

>--On mandag, desember 19, 2005 17:20:29 +0000 Charles Lindsey 
><[email-masked]> wrote:

>>>   A <path-identity> is a name identifying a site.  It takes the form of
>>>   a domain name having one or more components separated by dots.
>>
>> That makes no allowance for barewords (whether we formally define that
>> term or not). "It _usually_ takes the form of a domain name ..." would be
>> OK, because any gory details could then be left to USEPRO.

>Try telling the difference between a domain name having one component and a 
>bareword.

Then you need to say "It usually takes the form of a fully qualified
domain name ...", and/or make some mention of barewords.

-- 
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: [email-masked]      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

Date: Wed, 21 Dec 2005 09:36:43 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
Subject: Supersedes and Expire header fields
Sender: [email-masked]

Out current text has the following note regarding Supersedes:

    NOTE: The Supersedes header field defined here has no connection with
    the Supersedes header field that sometimes appears in Email messages
    converted from X.400 according to [RFC2156]; in particular, the
    syntax here permits only one <msg-id> in contrast to the multiple
    <msg-id>s in that Email version.

RFC 2156 also defines an Expires header field, which looks like its 
compatible with Netnews, provided the mandatory SP follows ':'.  Do we 
want to have some kind of note similar to what we have above for 
Expires, or should we refer to RFC 2156 when discussing it?

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

Date: Wed, 21 Dec 2005 09:18:42 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
Subject: Re: IANA considerations
Sender: [email-masked]

Charles Lindsey wrote:

> If you want a text to insert into USEFOR, then you will find all you want
> in the IANA Considerations section (10.2) of draft-ietf-usefor-article-13.
> It is a bit out of date, because we have changed some headers, but it is
> in exactly the format that RFC 3864 asks for.

OK, here's what I have in my current copy.  Note that I had to pull the 
protocol and change controller out of the <texttable>, since its is the 
only way that xml2rfc would render the text version without mangling it.

6.  IANA Considerations

    IANA is requested to register the following header fields in the
    Permanent Message Header Field Repository, in accordance with the
    procedures set out in [RFC3864].

       NOTE: For each of the registered header fields, the Applicable
       protocol is "netnews" and the Author/Change controller is "IETF".

    +----------------+-----------+--------------------------------------+
    | Header field   | Status    | Specification document(s)            |
    | name           |           |                                      |
    +----------------+-----------+--------------------------------------+
    | Approved       | standard  | This document (Section 3.2.9)        |
    |                |           |                                      |
    | Archive        | standard  | This document (Section 3.2.12)       |
    |                |           |                                      |
    | Comments       | standard  | This document (Section 3.2),         |
    |                |           | [RFC2822] (Section 3.6.5)            |
    |                |           |                                      |
    | Control        | standard  | This document (Section 3.2.5)        |
    |                |           |                                      |
    | Date           | standard  | This document (Section 3.1.2),       |
    |                |           | [RFC2822] (Section 3.6.1)            |
    |                |           |                                      |
    | Distribution   | standard  | This document (Section 3.2.7)        |
    |                |           |                                      |
    | Expires        | standard  | This document (Section 3.2.4)        |
    |                |           |                                      |
    | Followup-To    | standard  | This document (Section 3.2.3)        |
    |                |           |                                      |
    | From           | standard  | This document (Section 3.1.1),       |
    |                |           | [RFC2822] (Section 3.6.2)            |
    |                |           |                                      |
    | Injection-Date | standard  | This document (Section 3.2.1)        |
    |                |           |                                      |
    | Injection-Info | standard  | This document (Section 3.2.14)       |
    |                |           |                                      |
    | Keywords       | standard  | This document (Section 3.2),         |
    |                |           | [RFC2822] (Section 3.6.5)            |
    |                |           |                                      |
    | Lines          | obsoleted | This document (Section 3.3.1)        |
    |                |           |                                      |
    | Message-ID     | standard  | This document (Section 3.1.3),       |
    |                |           | [RFC2822] (Section 3.6.4)            |
    |                |           |                                      |
    | Newsgroups     | standard  | This document (Section 3.1.5)        |
    |                |           |                                      |
    | Organization   | standard  | This document (Section 3.2.10)       |
    |                |           |                                      |
    | Path           | standard  | This document (Section 3.1.6)        |
    |                |           |                                      |
    | References     | standard  | This document (Section 3.2.2),       |
    |                |           | [RFC2822] (Section 3.6.4)            |
    |                |           |                                      |
    | Reply-To       | standard  | This document (Section 3.2),         |
    |                |           | [RFC2822] (Section 3.6.2)            |
    |                |           |                                      |
    | Sender         | standard  | This document (Section 3.2),         |
    |                |           | [RFC2822] (Section 3.6.2)            |
    |                |           |                                      |
    | Subject        | standard  | This document (Section 3.1.4),       |
    |                |           | [RFC2822] (Section 3.6.5)            |
    |                |           |                                      |
    | Summary        | standard  | This document (Section 3.2.8)        |
    |                |           |                                      |
    | Supersedes     | standard  | This document (Section 3.2.6)        |
    |                |           |                                      |
    | User-Agent     | standard  | This document (Section 3.2.13)       |
    |                |           |                                      |
    | Xref           | standard  | This document (Section 3.2.11)       |
    +----------------+-----------+--------------------------------------+

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

To: [email-masked]
Cc: [email-masked]
From: [email-masked]
Subject: I-D ACTION:draft-ietf-usefor-usefor-06.txt 
Date: Tue, 20 Dec 2005 15:50:01 -0500
Sender: [email-masked]

--NextPart

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Usenet Article Standard Update Working Group of the IETF.

	Title		: Netnews Article Format
	Author(s)	: C. Lindsey, et al.
	Filename	: draft-ietf-usefor-usefor-06.txt
	Pages		: 37
	Date		: 2005-12-19
	
This document specifies the syntax of network news (Netnews) articles
   in the context of the "Internet Message Format" (RFC 2822) and
   "Multipurpose Internet Mail Extensions (MIME)" (RFC 2045).  This
   document supersedes RFC 1036, updating it to reflect current practice
   and incorporating incremental changes specified in other documents.

A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-usefor-usefor-06.txt

To remove yourself from the I-D Announcement list, send a message to 
[email-masked] with the word unsubscribe in the body of the message.  
You can also visit https://www1.ietf.org/mailman/listinfo/I-D-announce 
to change your subscription settings.

Internet-Drafts are also available by anonymous FTP. Login with the username
"anonymous" and a password of your e-mail address. After logging in,
type "cd internet-drafts" and then
	"get draft-ietf-usefor-usefor-06.txt".

A list of Internet-Drafts directories can be found in
http://www.ietf.org/shadow.html 
or ftp://ftp.ietf.org/ietf/1shadow-sites.txt

Internet-Drafts can also be obtained by e-mail.

Send a message to:
	[email-masked].
In the body type:
	"FILE /internet-drafts/draft-ietf-usefor-usefor-06.txt".
	
NOTE:	The mail server at ietf.org can return the document in
	MIME-encoded form by using the "mpack" utility.  To use this
	feature, insert the command "ENCODING mime" before the "FILE"
	command.  To decode the response(s), you will need "munpack" or
	a MIME-compliant mail reader.  Different MIME-compliant mail readers
	exhibit different behavior, especially when dealing with
	"multipart" MIME messages (i.e. documents which have been split
	up into multiple messages), so check your local documentation on
	how to manipulate these messages.

Below is the data which will enable a MIME compliant mail reader
implementation to automatically retrieve the ASCII version of the
Internet-Draft.

--NextPart
Content-Type: Multipart/Alternative; Boundary="OtherAccess"

--OtherAccess
Content-Type: Message/External-body;
	access-type="mail-server";
	server="[email-masked]"

Content-Type: text/plain
Content-ID:	<[email-masked]>

ENCODING mime
FILE /internet-drafts/draft-ietf-usefor-usefor-06.txt

--OtherAccess
Content-Type: Message/External-body;
	name="draft-ietf-usefor-usefor-06.txt";
	site="ftp.ietf.org";
	access-type="anon-ftp";
	directory="internet-drafts"

Content-Type: text/plain
Content-ID:	<[email-masked]>

--OtherAccess--

--NextPart--

Date: Tue, 20 Dec 2005 10:00:11 +0000
To: [email-masked]
From: Richard Clayton <[email-masked]>
Subject: Re: #1047 - Path header (was toplabel...)
Sender: [email-masked]

In message <[email-masked]>, Charles Lindsey
<[email-masked]> writes

>>   The Path header field indicates the route taken by an article since
>>   its injection into the Netnews system.  Each agent that processes an
>>   article is required to prepend one (or more) identities to this
>>   header field body.  This is primarily to enable news servers to avoid
>>   sending articles to sites already known to have them, in particular
>>   the site they came from, and additionally to permit tracing the route
>>   articles take in moving over the network, and for gathering Usenet
>>   statistics.

/Usenet //

>>   Each <path-identity> in the <path-list> (excluding the one in the
>>   <tail-entry>) indicates, from right to left, the successive agents
>>   through which the article has passed.  The <path-keyword> "POSTED"
>>   indicates that the agent to its left injected the article.  The use
>>   of the <path-delimiter> "!!" indicates that the agent to its left
>>   claims that the agent to its right was the verified source of the
>>   article (whereas the <path-delimiter> "!" implies no such claim).
>>   The <path-keyword> "MISMATCH" indicates that the agent to its right
>>   failed to be so verified.

this sounds as if !! can only appear early on :(  for the third sentence
try:

    The use of the <path-delimiter> "!!" indicates that the agent to its
    left verified the identity of the agent to its right before
    accepting the article (whereas the <path-delimiter> "!" implies no
    such claim.

- -- 
richard @ highwayman . com                       "Nothing seems the same
                          Still you never see the change from day to day
                                And no-one notices the customs slip away"

Date: Tue, 20 Dec 2005 09:27:02 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Frank Ellermann <[email-masked]>, [email-masked]
Subject: Re: #1047 - Path header (was toplabel...)
Sender: [email-masked]

--On tirsdag, desember 20, 2005 07:50:42 +0100 Frank Ellermann 
<[email-masked]> wrote:

>
> Harald Tveit Alvestrand wrote:
>
>> Try telling the difference between a domain
>> name having one component and a bareword.
>
>               %x5F   SCNR
>

Underscore. Sigh. yes.
Note that those are legal in domain names, but illegal in host names; third 
religious war to the right for details...

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: #1047 - Path header (was toplabel...)
Date:  Tue, 20 Dec 2005 07:50:42 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 7
Sender: [email-masked]

Harald Tveit Alvestrand wrote:
 
> Try telling the difference between a domain
> name having one component and a bareword.

              %x5F   SCNR

Date: Tue, 20 Dec 2005 07:46:22 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Charles Lindsey <[email-masked]>, [email-masked]
Subject: Re: #1047 - Path header (was toplabel...)
Sender: [email-masked]

--On mandag, desember 19, 2005 17:20:29 +0000 Charles Lindsey 
<[email-masked]> wrote:

>>   A <path-identity> is a name identifying a site.  It takes the form of
>>   a domain name having one or more components separated by dots.
>
> That makes no allowance for barewords (whether we formally define that
> term or not). "It _usually_ takes the form of a domain name ..." would be
> OK, because any gory details could then be left to USEPRO.

Try telling the difference between a domain name having one component and a 
bareword.

To: [email-masked]
Xref: clerew local.usefor:22767
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: #1047 - Path header (was toplabel...)
Date: Mon, 19 Dec 2005 17:20:29 GMT
Lines: 140
Sender: [email-masked]

In <[email-masked]> Harald Tveit Alvestrand <[email-masked]> writes:

>--On torsdag, desember 15, 2005 16:59:12 +0000 Charles Lindsey 
><[email-masked]> wrote:

>> However, the main question that still needs answering (as Harald has
>> agreed) is whether we want to arrange the syntax so that one can
>> immediately tell whether a given entry is a path-entry or a
>> souce[diagnostic]-entry.
>>
>> I have said that is a desireable feature, but nobody else has answered
>> yet.

>And I have said that I do not judge it possible to design and get consensus 
>for such a mechanism without delaying USEFOR considerably, given the 
>current lack of energy in the group.

>I think it's better at this time to allow stuff in USEFOR (which will also 
>allow existing usage, which is varied, and not mechanically 
>distinguishable) and make rules for "one way to do it" in USEPRO.

No, I don't think that is workable without syntactic changes in USEFOR.

Anyway, we now have a new draft-06 which addresses some of these issues,
so let us start from that. I have assembled the full text as it now stands
following Ken's diffs.

>3.1.6  Path
>
>   The Path header field indicates the route taken by an article since
>   its injection into the Netnews system.  Each agent that processes an
>   article is required to prepend one (or more) identities to this
>   header field body.  This is primarily to enable news servers to avoid
>   sending articles to sites already known to have them, in particular
>   the site they came from, and additionally to permit tracing the route
>   articles take in moving over the network, and for gathering Usenet
>   statistics.
>
>   path            =  "Path:" SP path-list CRLF
>
>   path-list       =  [FWS]
>                      *( ( path-identity / path-keyword /
>                           path-diagnostic ) [FWS]
>                         path-delimiter [FWS] )
>                      tail-entry [FWS]
>
>
>   path-identity   =  ( ALPHA / DIGIT )
>                      *( ALPHA / DIGIT / "-" / "." / "_" )
>
>   path-keyword    =  "POSTED" / "MISMATCH"

Leaving that in the syntax will prevent subsequent introduction of new
keywords (e.g. SEEN) or making the list of keywords extensible, as you
have suggested. Moreover, it would preclude changing to the alternative
"news.example..MISMATCH" notation.

>   path-diagnostic =  1*( ALPHA / DIGIT / "-" / "." / ":" / "_" )

That allows ":" in _any_ diagnostic, not just in IpV6addresses.

>
>   tail-entry      =  path-identity
>
>   path-delimiter  =  "!" / "!!"
>
>   A <path-identity> is a name identifying a site.  It takes the form of
>   a domain name having one or more components separated by dots.

That makes no allowance for barewords (whether we formally define that
term or not). "It _usually_ takes the form of a domain name ..." would be
OK, because any gory details could then be left to USEPRO.

>
>   Each <path-identity> in the <path-list> (excluding the one in the
>   <tail-entry>) indicates, from right to left, the successive agents
>   through which the article has passed.  The <path-keyword> "POSTED"
>   indicates that the agent to its left injected the article.  The use
>   of the <path-delimiter> "!!" indicates that the agent to its left
>   claims that the agent to its right was the verified source of the
>   article (whereas the <path-delimiter> "!" implies no such claim).
>   The <path-keyword> "MISMATCH" indicates that the agent to its right
>   failed to be so verified.

Which actually extends what was said before because it allows the agent to
is left to shout "MISMATCH" without actually prefacing it with a
diagnostic saying what it actually saw. I think "MISMATCH" (or "SEEN" if
we have it) needs to be anchored to the agent to its left, just as with
"!!".

>
>      NOTE: Although case-insensitive, it is intended that the <path-
>      keyword>s "POSTED" and "MISMATCH" should be in upper case, to
>      distinguish them from the <path-identity>s which are traditionally
>      in lower case.
>
>   A <path-diagnostic> is an item inserted into the Path header for
>   purposes other than to indicate the name of a site.  One commonly
>   observed usage is to insert an IP address.

At least you need to say that such an IP address indicates the site which
whatever agent put it there claims to have received the article from.
However, what we do not (and cannot) know is how often sites insert a
domain-name with that same diagnostic intent, although we do know that many
sites DO insert such a domain name in the form
"true.source.example.MISMATCH".

>  ... The colon (":") is
>   permitted in order to allow IPv6 addresses to be inserted; note that
>   this will cause interoperability problems at older sites that regard
>   ":" as a <path-delimiter> and have neighbors whose names have 4 or
>   fewer characters, and where all the characters are valid HEX digits.

No, that bit about HEX digits is no longer true if you allow ":" in _any_
<path-diagnostic> (such as a "bare-diagnostic" IYSWIM). If you want to
make it cleat that ":" is not allowed except in an IPv6address, then you
either have to write in a big "MUST NOT", or else you have to write some
ABNF (which I think would be better).

But sooner or later we have to make up our minds what we are going to
allow here, so we might as well do it sooner. Certainly, if we want to

1. make it so that diagnostics are recognisable as such (whether by keyword
or otherwise), and

2. keep open the possibility of the alternative keyword notation,

then it has to go into USEFOR. I grant you that the rest of the details
could then be dealt with in USEPRO.

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22769
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: IANA considerations
Date: Mon, 19 Dec 2005 17:55:42 GMT
Lines: 41
Sender: [email-masked]

In <[email-masked]> Frank Ellermann <[email-masked]> writes:

>Hi, here's my proposal for the missing IANA considerations:

>1 - we create a simple draft-ietf-usefor-hdrreg-00.txt, that
>    would be a WG -00, so we need Alexey's or Harald's OK

No, there is no need to do that. RFC 3864 requires us to include the
proper IANA registrations within USEFOR itself.

>2 - we add an informative reference to that I-D in the future
>    "WG last call xmas edition" (draft-ietf-usefor-usefor-07),
>    with IANA considerations as a pointer to the hddrreg-draft

>3 - in essence that news header registry draft would be like...

>http://www.ninebynine.org/IETF/Messaging/HdrRegistry/draft-lindsey-hdrreg-netnews-01.xml

That document dealt with provisional registrations for the headers as they
stand in RFC 1036, etc. And yes, I really ought to submit it as an
informational RFC.

But the format of that document is far more complex that RFC 3864 requires
(it was copied from the style of Graham Klyne's over-verbose mail
document).

If you want a text to insert into USEFOR, then you will find all you want
in the IANA Considerations section (10.2) of draft-ietf-usefor-article-13.
It is a bit out of date, because we have changed some headers, but it is
in exactly the format that RFC 3864 asks for.

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22768
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: draft-ietf-usefor-usefor-06
Date: Mon, 19 Dec 2005 17:45:12 GMT
Lines: 90
Sender: [email-masked]

In <[email-masked]> Ken Murchison <[email-masked]> writes:

>I just submitted the -06 draft to the I-D editor.  Attached are the 
>diffs between -05 and -06 for those that are interested.

OK, that has tidied up a lot of the issues that we had agreed, leaving
just #1047 as the main outstanding matter.

So all I have at this moment is some nits (Frank also had some, which I
will not repeat here).

I should now be in a position to produce a new USEPRO draft, consistent
with this latest USEFOR, as a basis for our future work.

>+   This also applies to the following header field defined in [RFC2822]:
>+
>+   Message-ID
>+
>+   Several of these headers are mainly of interest to servers, and
>+   servers often need to process these fields very rapidly.

s/to servers/to news servers/ (since that is now the terminology we use)

>    Folding the Newsgroups header field over several lines has been shown
>    to harm propagation significantly......

Actually, it is worse than that. Even WSP will break existing usage, and
it is more than "significantly". I think you have to make it clear that
this is a newly introduced feature, hence "MUST accept" but "MUST NOT
generate" (yet, for some value of "yet" :-) ).

> 3.2.14.  Injection-Info
> 
> 
>-   The "sender" parameter identifies the mailbox of the verified sender
>-   of the article (alternatively, it uses the token "verified" to
>+   The "sender" <parameter> identifies the mailbox of the verified
>+   sender of the article (alternatively, it uses the token "verified" to
>    indicate that at least any addr-spec in the Sender header field of
                                ^^^^^^^^^
                               <addr-spec>
>    the article, or in the From header field if the Sender header field
>-   is absent, is correct).  If an injecting agent can verify sender of
>-   an article, it SHOULD use this parameter in favour of the "posting-
>-   account" parameter.
>+   is absent, is correct).  If a news server can verify the sender of an
>+   article, it SHOULD use this <parameter> in favor of the "posting-
>+   account" <parameter>.

>-Appendix B.  Differences from RFC 1036
>+Appendix B.  Differences from RFC 1036 and its derivatives
> 
>+
>+      Whitespace is permitted in Newsgroups header fields.

        Whitespace (with the possiility of folding) is permitted in
        Newsgroups header fields (but is not to be generated)

[or similar wording, perhaps even mentioning "MUST NOT.]

It should also be noted that further Differences from 1036 are listed in
USEPRO (notably for the syntax of control messages, which are in USEPRO).

> Appendix C.  Differences from RFC 2822
> 
>+
>+      The length of a msg-id MUST NOT exceed 250 octets.
                        ^^^^^^
                       <msg-id>

>+      It is legal for a parser to not accept obsolete syntax, except
>+      that:

Split infinitives can lead to long religious wars :-( . It is usually
safer not to include them.

-- 
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: [email-masked]      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

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: draft-ietf-usefor-usefor-06
Date:  Tue, 20 Dec 2005 01:40:59 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 124
Sender: [email-masked]

Charles Lindsey wrote:

> So I shall email him now to see where he is at.

Thanks, I hope he's well.  Of course we can reference s-o-1036
without historic RFC, but I'd prefer the original (2002?) plan.

---
>> Actually it's s/Older Netnews/Other/ (JFTR, no issue)
> Indeed, because the new [NNTP] also does it.

Not only [NNTP], I saw "headers" in another RFC, completely
unrelated to NetNews.  If necessary I can dig for it.

---
> I think we have to accept that the Message-ID header comes
> from RFC 2822, although we have given it a good mauling.

Well, I don't accept this, because the 2822 Message-ID doesn't
reflect common practice.  We explain all details in chapter
3.1.3.  The introduction of chapter 3 just enumerates the set
of header fields not allowing [CFWS], and Message-ID belongs
to this set.

That this is different from 2822 is beside the point in this
enumeration, it's explained in 3.1.3 and again in appendix C.

Telling the same story three tiimes doesn't help.  We should
get rid of these three lines:

+
+   This also applies to the following header field defined in [RFC2822]:
+

Curious readers will see this, it's obvious with Message-ID as
last (or first) header field in the "no-CFWS" enumeration.

In hardcore nitpicking mode I'd prefer three lines with three
header fields per line - instead of nine lines, or even twelve
lines with this uncalled for "Message-ID is 2822" subsection.

---
> BTW, the new [NNTP] is only waiting for the new SASL
> standard, so that the RFC-Editor doesn't have any dangling
> References. Is Alexey listening?

They're almost ready as far as I can judge it as lurker.  Sam
refuses to sponsor CRAM-MD5 as DS, but that doesn't affect the
core spec.  OT:  I have a working CRAM-MD5 implementation, can
I just submit an "implementation and interoperability report" ?

---
>> Somehow we managed to mention "cmsg" nowhere - it should at
>> least show up in appendix B (differences from 1036).

> No, because is is not a matter of syntax. The whole ctl/cmsg
> mess is thoroughly covered in USEPRO, with strong
> discouragement for its continued use.

It is a syntax issue, we removed the concept of a "structured"
Subject header field.  After discussing "Re: the note between
Do and Mi" for *_years_* in *_thousands_* of articles.  We did
not discuss this because it was funny, it's a major difference
from 1036.  The least we can do is to mention it in appendix B.

---
>> Oops, why on earth do we exclude "(" from article-locator ?
>> That's probably an obsolete CFWS oddity, proposed new ABNF:

> Yes, it was for comments.

Then let's get rid of it.  I'm perverse, I try to "see" the
raw "idea" or "concept" behind any ABNF oddity, from <toplabel>
over <id-domain> - some say <id-right> because their concept is
in fact slightly different - down to ")" in <article-locator>.

---
> We never went as far as setting up an IANA Registry for the
> <parameter>s in this new header. If you want it done
> (technically, there is no reason why not) they please propose
> it.

No, I want that those who invent new Injection-Info parameters
go to that trouble, "we" (TINW) don't need this at the moment.

---
>>> +   that news server received the article.  For security reasons, it
>>>     SHOULD be in a cryptic notation understandable only by the
>> [...]
>>> +   administrator of the news server.

>> How about s/For security reaons, it/It/ ?  It could be also
>> for privacy reasons, and in Germany it could be for legal
>> reasons.

> Or you could say "For security and other reasons,". I have no
> problem either way.

Same here.

---
>>> +   is absent, is correct).  If a news server can verify the sender of an
>>> +   article, it SHOULD use this <parameter> in favor of the "posting-
>>> +   account" <parameter>.

>> After talking with his legal department.  In other words,
>> this can't be a SHOULD, pleae delete this statement.

s/pleae/please/

> No, the WG fought long and hard between those who wanted all
> relevant tracing information exposed, so that malefactors
> could be caught, and those who wanted to protect the privacy
> of posters. The upshot was an agreed paragraph setting out
> the pros and cons, which eventually got moved to USEAGE. That
> is the proper place to discuss this.

The SHOULD makes no technical sense, and it might be illegal in
my country without the prior and explicit consent of the sender.

See also BCP 14 at <http://tools.ietf.org/html/2119#section-6>

                           Bye, Frank

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: IANA considerations
Date:  Tue, 20 Dec 2005 00:05:15 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 24
Sender: [email-masked]

Ken Murchison wrote:

> What is the reasoning behind creating a separate I-D?

The IANA header registry stuff is kind of boring.  I like it
very much, but my tastes are a bit extraordinary.  Adding the
about 22 KB (plus more fields minus boilerplate) in a revised

<http://tools.ietf.org/html/draft-lindsey-hdrreg-netnews>

to the about 64 KB in draft-ietd-usefor-usefor would result
in about one quarter "IANA header registration considerations".

Therefore I think it's better to split this...

> why not include the header registry in our document?

...but I don't insist on it.  It's only a matter of taste:

As it is draft-ietf-usefor-usefor is short and sweet with no
nonsense.  14 pages of header registrations would inflate it.

                       Bye, Frank

Date: Mon, 19 Dec 2005 13:01:30 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
Subject: Re: draft-ietf-usefor-usefor-06
Sender: [email-masked]

Frank Ellermann wrote:
> Ken Murchison wrote:
> 
> 
>>diffs between -05 and -06 for those that are interested.
> 
> 
> Thanks, let's see how far we get using this as input:
> 
> 
>>+   The normative reference to RFC 2234 and the informative reference to
>>+   RFC 0977 may be replaced by draft-crocker-abnf-rfc2234bis and
> 
> 
> No issue, but 4234 is published: s/2234/4234/g

Fixed.

>>+   o  Removed RFC 0821 as a normative reference.
> 
> 
> JFTR: 2821.

Fixed.

>>       NOTE: Older Netnews specifications used the term "header" as a
>>       synonym for what [RFC2822] calls "header field". 
> 
> 
> Actually it's s/Older Netnews/Other/ (JFTR, no issue)

Fixed.

> 
>>+   and standards [RFC0977] might have trouble with the full range of 
> 
> 
> BTW, often you say [NNTP], here you have [RFC0977], how about
> [NNTP] everywhere ?  That would also eliminate the instructions
> for the RFC editor (together with s/2234/4234/ - see above).

Fixed.

> 
>>+   The following <newsgroup-name&gts have been used for specific
> 
> 
> Missing semicolon in the source....^^^

Fixed.

> 
>>-      NOTE: Historically, the <tail-entry> indicated the name of the
>>-      sender.  If not used for this purpose, the string "not-for-mail"
>>-      is often used instead (since at one time the whole path could be
>>-      used as a mail address for the sender).
> 
> 
> What's wrong with that note ?

Editorial mistake.  Its been returned to the document.

> With old xml2rfc versions a <vspace /> could enforce a line
> break before <date-time>.  Now &lt;date-&wj;time&gt; might do
> it, or better use &lt;date&nbhy;time&gt; (non-breaking-hyphen).
> 
> 
>>+   See the remarks under Section 3.1.2 regarding the syntax of <date-
>>+   time> and the requirements and recommendations to which it is
> 
> 
> Dito, replace it globally.

Fixed.

>>+      <parameter> may provide additional information about true origin
>>+      of the article.
> 
> 
> Missing article or DEnglish on my side.

Fixed.

> 
> 
>>+   that news server received the article.  For security reasons, it
>>    SHOULD be in a cryptic notation understandable only by the
> 
> [...]
> 
>>+   administrator of the news server.
> 
> 
> How about s/For security reaons, it/It/ ?  It could be also for
> privacy reasons, and in Germany it could be for legal reasons.

Using Charles' suggested text.

>>+   the generation of internationalized <newsgroup name>s for use in
> 
> 
> Missing "-" (or rather &nbhy; ;-)

Fixed.

> 
> 
>>+   Content-Type: multipart/mixed
>>+   (; boundary=foo ; xyz=");bOuNdArY*=''next%20part(")
> 
> 
>>+   Content-Type: multipart/digest;
>>+   boundary (not=me) = ("yes ;-) simple (foo;bar") ; x-foo = xyzzy
> 
> 
> You need a leading space in the second line for the folding.
> If it's too long replace xyzzy by something that's shorter.

Fixed.

> 
> 
>>    [RFC2234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
>>               Specifications: ABNF", RFC 2234, November 1997.
> 
> 
> 4234
> 
> 
>>+   [RFC0977]  Kantor, B. and P. Lapsley, "Network News Transfer
>>+              Protocol", RFC 977, February 1986.
> 
> 

Fixed.

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

To: [email-masked]
Xref: clerew local.usefor:22766
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: draft-ietf-usefor-usefor-06
Date: Mon, 19 Dec 2005 16:29:35 GMT
Lines: 196
Sender: [email-masked]

In <[email-masked]> Frank Ellermann <[email-masked]> writes:

>Ken Murchison wrote:

>Apparently Henry dropped his plan to publish s-o-1036 as
>"historic", that's sad.

He suddenly vanished from this list (and all his other usual haunts) and
his personal domain (spsystems.net) went dead.

I just Googled for him, and it seems that he posted nothing to Usenet
between July 27th and October 11th, at which point his signature started
to contain

spsystems.net is temporarily off the air; | Henry Spencer 
mail to henry at zoo.utoronto.ca instead.  | [email-masked]

So I shall email him now to see where he is at. I would certainly like to
be able to get rid of those two historical appendices, which are simply
verbatim copies from s-o-1036.

>>        NOTE: Older Netnews specifications used the term "header" as a
>>        synonym for what [RFC2822] calls "header field". 

>Actually it's s/Older Netnews/Other/ (JFTR, no issue)

Indeed, because the new [NNTP] also does it.

>Add Message-ID to the "defined in this document" set, and get
>rid of the 2822-set:  Our Message-ID is still different from
>(2)822, and it's defined here.  You have the full discloure
>later in 3.1.3:

I think we have to accept that the Message-ID header comes from RFC 2822,
although we have given it a good mauling.

>> +   and standards [RFC0977] might have trouble with the full range of

I dislike that convention of writing [RFC0977] rather than [RFC977]. Yes,
I know why it is done (getting the References sorted sensibly - but I
would rather fix that by hand by negotiation with the RFC-Editor after
last call).

>BTW, often you say [NNTP], here you have [RFC0977], how about
>[NNTP] everywhere ?  That would also eliminate the instructions
>for the RFC editor (together with s/2234/4234/ - see above).

Yup. BTW, the new [NNTP] is only waiting for the new SASL standard, so
that the RFC-Editor doesn't have any dangling References. Is Alexey
listening?

>> +   The following <newsgroup-name&gts have been used for specific

>Missing semicolon in the source....^^^

Yup.

>> +      and "ctl" was formerly used to indicate a <control-command> within
>> +      the Subject header field.

>Somehow we managed to mention "cmsg" nowhere - it should at
>least show up in appendix B (differences from 1036).

No, because is is not a matter of syntax. The whole ctl/cmsg mess is
thoroughly covered in USEPRO, with strong discouragement for its continued
use.

>> -      NOTE: Historically, the <tail-entry> indicated the name of the
>> -      sender.  If not used for this purpose, the string "not-for-mail"
>> -      is often used instead (since at one time the whole path could be
>> -      used as a mail address for the sender).

>What's wrong with that note ?

I agree. Please can we have it back?

>>                       ; except '(' and ';'

>Oops, why on earth do we exclude "(" from article-locator ?
>That's probably an obsolete CFWS oddity, proposed new ABNF: 

Yes, it was for comments.

OTOH, there may be agents out there that strip comments from all
unstructured headers without looking first to see that they are doing, so
it would probably be safer to leave the restriction in place.

>> +   other unlisted <parameter>s SHOULD NOT be used unless defined in
>> +   extensions to this standard.

>Could be also a MUST NOT as far as I'm concerned, if they want
>new tricks let them create a IANA registry for their funny
>inventions.

There would be no interoperability, so I don't think we can justify
"MUST". We never went as far as setting up an IANA Registry for the
<parameter>s in this new header. If you want it done (technically, there is
no reason why not) they please propose it.

>> it is RECOMMENDED that folding is
>[...]
>> +   not used within any <parameter> (but only before or after the ";"
>> +   separating those <parameter>s), and that comments are only used
>> +   following the last <parameter>.

>The former is also a general rule, should we add a pointer to
>2822 2.2.3 ?  It's a 2822-SHOULD, not some red-is-green excuse.

Actually, it goes further than that rule in RFC 2822, but I have no problem
with adding a pointer.

>> +      <parameter> may provide additional information about true origin
>> +      of the article.

>Missing article or DEnglish on my side.

Yup.

>> +   that news server received the article.  For security reasons, it
>>     SHOULD be in a cryptic notation understandable only by the
>[...]
>> +   administrator of the news server.

>How about s/For security reaons, it/It/ ?  It could be also for
>privacy reasons, and in Germany it could be for legal reasons.

Or you could say "For security and other reasons,". I have no problem
either way.

>> +   is absent, is correct).  If a news server can verify the sender of an
>> +   article, it SHOULD use this <parameter> in favor of the "posting-
>> +   account" <parameter>.

>After talking with his legal department.  In other words, this
>can't be a SHOULD, pleae delete this statement.

No, the WG fought long and hard between those who wanted all relevant
tracing information exposed, so that malefactors could be caught, and
those who wanted to protect the privacy of posters. The upshot was an
agreed paragraph setting out the pros and cons, which eventually got moved
to USEAGE. That is the proper place to discuss this.

>> +   The "mail-complaints-to" <parameter> specifies mailbox(es) for
>> +   sending complaints concerning the behavior of the poster of the
>> +   article.

>Obvious, doesn't need an explanation.

It is usualy to describe (however briefly) the meaning of all features
introduced by the syntax.

>> +   the generation of internationalized <newsgroup name>s for use in

>Missing "-" (or rather &nbhy; ;-)

Yup.

>> +   Content-Type: multipart/mixed
>> +   (; boundary=foo ; xyz=");bOuNdArY*=''next%20part(")

>> +   Content-Type: multipart/digest;
>> +   boundary (not=me) = ("yes ;-) simple (foo;bar") ; x-foo = xyzzy

>You need a leading space in the second line for the folding.
>If it's too long replace xyzzy by something that's shorter.

Yup.

>> +      There are numerous other small changes, clarifications and
>> +      enhancements.

>The removal of Subject: cmsg is not a small change, it's among
>the few things why we bother to create this future "1036ter".

Ken's 1036-changes text is largely taken from USEPRO. But there are a few
items that will still remain in USEPRO because they relate to the
protocol, or to the syntax of control messages. This is one of them.

-- 
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: [email-masked]      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

Date: Mon, 19 Dec 2005 11:25:15 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
Subject: Re: IANA considerations
Sender: [email-masked]

Frank Ellermann wrote:
> Hi, here's my proposal for the missing IANA considerations:
> 
> 1 - we create a simple draft-ietf-usefor-hdrreg-00.txt, that
>     would be a WG -00, so we need Alexey's or Harald's OK
> 
> 2 - we add an informative reference to that I-D in the future
>     "WG last call xmas edition" (draft-ietf-usefor-usefor-07),
>     with IANA considerations as a pointer to the hddrreg-draft

What is the reasoning behind creating a separate I-D?  Since we're 
(re)defining Usenet in USEFOR, why not include the header registry in 
our document?  Email and HTTP have separate documents because the 
protocol documents predated RFC 3864.

-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  IANA considerations
Date:  Sat, 17 Dec 2005 20:34:35 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 76
Sender: [email-masked]

Hi, here's my proposal for the missing IANA considerations:

1 - we create a simple draft-ietf-usefor-hdrreg-00.txt, that
    would be a WG -00, so we need Alexey's or Harald's OK

2 - we add an informative reference to that I-D in the future
    "WG last call xmas edition" (draft-ietf-usefor-usefor-07),
    with IANA considerations as a pointer to the hddrreg-draft

3 - in essence that news header registry draft would be like...

http://www.ninebynine.org/IETF/Messaging/HdrRegistry/draft-lindsey-hdrreg-netnews-01.xml

...with minor editorial changes for all details:

Update boilerplate s/full3667/full3978/ , docName, WG, date,
and normative reference to 3864.  Remove the 2119 keywords.

Add informative reference to 4021, add normative reference to
draft-ietf-usefor-usefor.  Remove references to 1036 and 2119.

s/1036/draft-ietf-usefor-usefor/g
s/informational/standard/g

Split the registered header fields into two (or maybe three)
categories (old chapter 2 => new chapters 2, 3, and maybe 4).

One chapter for the deprecated / historic news header fields,
status "historic":  

       NNTP-Posting-Date       (no spec., dummy source Usefor)
       NNTP-Posting-Host       (no spec., dummy source Usefor)
       Relay-Version           (no spec.  => Usefor or 1036 ?)
       Posted-Version          (no spec.  => Usefor or 1036 ?)
       Date-Received           (no spec.  => Usefor or 1036 ?)
       Also-Control            (Usefor or s-o-1036 ?)
       See-Also                (Usefor or s-o-1036 ?)
       Article-Names           (Usefor or s-o-1036 ?)
       Article-Updates         (Usefor or s-o-1036 ?)

One chapter for the hardcore Netnews header fields, as in the
old 2004 draft, status "standard":

       Message-ID
       References
       Newsgroups
       Path
       Control
       Supersedes
       Followup-To
       Expires
       Distribution
       Supersedes
       Approved
       Xref
       Organization
       Summary
       Lines                 (comment: obsolescent)
       Archive               (comment: new)
       User-Agent            (comment: new)
       Injection-Info        (comment: new)
       Injection-Date        (comment: new)
         
Maybe a chapter for the most important mail header fields also
_required_ (= mandatory) in NetNews, with essentially the same
syntax and semantics as in mail / 2822, status "standard":

       Date
       From
       Subject

Or add this to the "main" chapter (?)  Dummy IANA and security
considerations as is, no I18N considerations, ready.

                         Bye, Frank

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: draft-ietf-usefor-usefor-06
Date:  Sat, 17 Dec 2005 03:17:24 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 192
Sender: [email-masked]

Ken Murchison wrote:

> diffs between -05 and -06 for those that are interested.

Thanks, let's see how far we get using this as input:

> +   The normative reference to RFC 2234 and the informative reference to
> +   RFC 0977 may be replaced by draft-crocker-abnf-rfc2234bis and

No issue, but 4234 is published: s/2234/4234/g

> +   o  Removed RFC 0821 as a normative reference.

JFTR: 2821.

>     o  IANA considerations (the Klyne message header registry is now
>        official as RFC 3864)?.

Oops, -05 had no IANA considerations at all, that's wrong.

> -   Appendix B.  Differences from RFC 1036
> +   Appendix B.  Differences from RFC 1036 and its derivatives

Apparently Henry dropped his plan to publish s-o-1036 as
"historic", that's sad.

> +   A best common practice document, [USEAGE], describes

Maybe s/, [USEAGE], describes/ will describe/ - I won't bet
that it will be finished, let alone soon or as a BCP, and an
approved USEFOR / USEPRO pair blocked in the RFC editor queue
isn't what "we" (TINW) want.

>        NOTE: Older Netnews specifications used the term "header" as a
>        synonym for what [RFC2822] calls "header field". 

Actually it's s/Older Netnews/Other/ (JFTR, no issue)

> +   The following header fields defined in this document do not allow
> +   comments (CFWS):
[...]
> +   This also applies to the following header field defined in [RFC2822]:
> +
> +   Message-ID

Add Message-ID to the "defined in this document" set, and get
rid of the 2822-set:  Our Message-ID is still different from
(2)822, and it's defined here.  You have the full discloure
later in 3.1.3:

> +   and standards [RFC0977] might have trouble with the full range of 

BTW, often you say [NNTP], here you have [RFC0977], how about
[NNTP] everywhere ?  That would also eliminate the instructions
for the RFC editor (together with s/2234/4234/ - see above).

> +   The following <newsgroup-name&gts have been used for specific

Missing semicolon in the source....^^^

> +      and "ctl" was formerly used to indicate a <control-command> within
> +      the Subject header field.

Somehow we managed to mention "cmsg" nowhere - it should at
least show up in appendix B (differences from 1036).

> +                      *( ( path-identity / path-keyword /
[...]

I'll look at the <path-list> etc. ABNF in the complete draft.

> -      NOTE: Historically, the <tail-entry> indicated the name of the
> -      sender.  If not used for this purpose, the string "not-for-mail"
> -      is often used instead (since at one time the whole path could be
> -      used as a mail address for the sender).

What's wrong with that note ?

> +   A <path-diagnostic> is an item inserted into the Path header for
> +   purposes other than to indicate the name of a site.  One commonly
> +   observed usage is to insert an IP address.  The colon (":") is
> +   permitted in order to allow IPv6 addresses to be inserted; note that
> +   this will cause interoperability problems at older sites that regard
> +   ":" as a <path-delimiter> and have neighbors whose names have 4 or
> +   fewer characters, and where all the characters are valid HEX digits.

Seconded, no amount of MUSTard and weird colon encoding schemes
could obfuscate the fact that this is just ugly whatever we do.

> +   See the remarks under Section 3.1.2 regarding the syntax of <date-
> +   time> and the requirements and recommendations to which it is

With old xml2rfc versions a <vspace /> could enforce a line
break before <date-time>.  Now &lt;date-&wj;time&gt; might do
it, or better use &lt;date&nbhy;time&gt; (non-breaking-hyphen).

> +   See the remarks under Section 3.1.2 regarding the syntax of <date-
> +   time> and the requirements and recommendations to which it is

Dito, replace it globally.

>                       ; except '(' and ';'

Oops, why on earth do we exclude "(" from article-locator ?
That's probably an obsolete CFWS oddity, proposed new ABNF: 

-  article-locator =  1*( %x21-27 / %x29-3A / %x3C-7E )
-                     ; US-ASCII printable characters
-                     ; except '(' and ';'
+  article-locator =  1*( %x21-3A / %x3C-7E )
+                     ; VCHAR excl. colon ":"

>     sender-value    =  mailbox / "verified"

One of the hidden mines, let's see what happens, it deserves a
[Discuss].

> +   other unlisted <parameter>s SHOULD NOT be used unless defined in
> +   extensions to this standard.

Could be also a MUST NOT as far as I'm concerned, if they want
new tricks let them create a IANA registry for their funny
inventions.

> it is RECOMMENDED that folding is
[...]
> +   not used within any <parameter> (but only before or after the ";"
> +   separating those <parameter>s), and that comments are only used
> +   following the last <parameter>.

The former is also a general rule, should we add a pointer to
2822 2.2.3 ?  It's a 2822-SHOULD, not some red-is-green excuse.

> +      <parameter> may provide additional information about true origin
> +      of the article.

Missing article or DEnglish on my side.

> +   that news server received the article.  For security reasons, it
>     SHOULD be in a cryptic notation understandable only by the
[...]
> +   administrator of the news server.

How about s/For security reaons, it/It/ ?  It could be also for
privacy reasons, and in Germany it could be for legal reasons.

> +   is absent, is correct).  If a news server can verify the sender of an
> +   article, it SHOULD use this <parameter> in favor of the "posting-
> +   account" <parameter>.

After talking with his legal department.  In other words, this
can't be a SHOULD, pleae delete this statement.

> +   The "mail-complaints-to" <parameter> specifies mailbox(es) for
> +   sending complaints concerning the behavior of the poster of the
> +   article.

Obvious, doesn't need an explanation.

> +   the generation of internationalized <newsgroup name>s for use in

Missing "-" (or rather &nbhy; ;-)

> +   Content-Type: multipart/mixed
> +   (; boundary=foo ; xyz=");bOuNdArY*=''next%20part(")

> +   Content-Type: multipart/digest;
> +   boundary (not=me) = ("yes ;-) simple (foo;bar") ; x-foo = xyzzy

You need a leading space in the second line for the folding.
If it's too long replace xyzzy by something that's shorter.

>     [RFC2234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
>                Specifications: ABNF", RFC 2234, November 1997.

4234

> +   [RFC0977]  Kantor, B. and P. Lapsley, "Network News Transfer
> +              Protocol", RFC 977, February 1986.

See above.

> +      There are numerous other small changes, clarifications and
> +      enhancements.

The removal of Subject: cmsg is not a small change, it's among
the few things why we bother to create this future "1036ter".

Otherwise it's ready, isn't it ?  I haven't checked the ABNF
for the path.
                      Tnx & bye, Frank

Date: Sat, 17 Dec 2005 00:02:07 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Ken Murchison <[email-masked]>, [email-masked]
Subject: Re: draft-ietf-usefor-usefor-06
Sender: [email-masked]

Thank you, Ken!

--On fredag, desember 16, 2005 15:07:55 -0500 Ken Murchison 
<[email-masked]> wrote:

> I just submitted the -06 draft to the I-D editor.  Attached are the diffs
> between -05 and -06 for those that are interested.
>
> --
> Kenneth Murchison
> Systems Programmer
> Carnegie Mellon University

Date: Fri, 16 Dec 2005 15:07:55 -0500
From: Ken Murchison <[email-masked]>
Organization: Carnegie Mellon University
To: [email-masked]
Subject: draft-ietf-usefor-usefor-06
Sender: [email-masked]

This is a multi-part message in MIME format.
--------------070504090607030209040906
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

I just submitted the -06 draft to the I-D editor.  Attached are the 
diffs between -05 and -06 for those that are interested.

-- 
Kenneth Murchison
Systems Programmer
Carnegie Mellon University

--------------070504090607030209040906
Content-Type: text/x-patch;
 name="draft-ietf-usefor-usefor-05-06.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="draft-ietf-usefor-usefor-05-06.diff"

--- /home/ken/Desktop/draft-ietf-usefor-usefor-05.unpg	2005-12-15 14:59:16.000000000 -0500
+++ /home/ken/Desktop/draft-ietf-usefor-usefor-06.unpg	2005-12-16 14:44:25.000000000 -0500
@@ -3,16 +3,16 @@

 Usenet Format Working Group                            K. Murchison, Ed.
-Internet-Draft                                        Oceana Matrix Ltd.
+Internet-Draft                                Carnegie Mellon University
 Obsoletes: 1036 (if approved)                                 C. Lindsey
-Expires: January 2, 2006                        University of Manchester
+Expires: June 19, 2006                          University of Manchester
                                                                  D. Kohn
                                                         Skymoon Ventures
-                                                               July 2005
+                                                       December 16, 2005

                          Netnews Article Format
-                      draft-ietf-usefor-usefor-05
+                      draft-ietf-usefor-usefor-06
 
 Status of this Memo
 
@@ -37,7 +37,7 @@
    The list of Internet-Draft Shadow Directories can be accessed at
    http://www.ietf.org/shadow.html.
 
-   This Internet-Draft will expire on January 2, 2006.
+   This Internet-Draft will expire on June 19, 2006.
 
 Copyright Notice
 
@@ -53,9 +53,44 @@
 
 Note to the RFC Editor
 
-   The normative reference to RFC 2234 may be replaced by
-   draft-crocker-abnf-rfc2234bis should it reach RFC status before this
-   one.
+   The normative reference to RFC 2234 and the informative reference to
+   RFC 0977 may be replaced by draft-crocker-abnf-rfc2234bis and
+   draft-ietf-nntpext-base respectively should one or both of those of
+   those documents reach RFC status before this one.
+
+Changes since draft-ietf-usefor-usefor-05
+
+   o  Resolved ticket #1003 (msg-id).
+
+   o  Resolved ticket #1021 (Newsgroups description and exceptions).
+
+   o  Resolved ticket #1028 (fixed ABNF for orig-date).
+
+   o  Began adding text for ticket #1032 (diff from RFC 1036).
+
+   o  Resolved ticket #1046 (MIME boundary security considerations).
+
+   o  Addressed ticket #1047 (Path header field delimiters and
+      components) using Harald's suggested text -- Still an open issue.
+
+   o  Resolved ticket #1052 (diffs from RFC 2822).
+
+   o  Resolved ticket #1053 (relationship to RFC 2822).
+
+   o  Resolved ticket #1079 (header fields which don't permit CFWS).
+
+   o  Applied text from ticket #1080 (Injection-Info MIME params).
+
+   o  Resolved ticket #1082 (Approved header field semantics).
+
+   o  Resolved ticket #1088 (Injection-Date mandatory/optional).
+
+   o  Resolved ticket #1102 (Definition of "agents", etc).
+
+   o  Removed RFC 0821 as a normative reference.
+
+   o  Miscellaneous editorial changes.
+
 
 Changes since draft-ietf-usefor-usefor-04
 
@@ -173,12 +208,7 @@
 
 Issues to be addressed
 
-   o  MIME boundary security considerations.
-
-   o  Path header field delimiters and components.
-
-   o  Complete appendixes for changes from RFC 1036 and differences from
-      RFC 2822.
+   o  Ticket #1047: Path header field delimiters and components.
 
    o  IANA considerations (the Klyne message header registry is now
       official as RFC 3864)?.
@@ -234,7 +264,7 @@
      6.1.  Normative References
      6.2.  Informative References
    Appendix A.  Acknowledgements
-   Appendix B.  Differences from RFC 1036
+   Appendix B.  Differences from RFC 1036 and its derivatives
    Appendix C.  Differences from RFC 2822
    Authors' Addresses
    Intellectual Property and Copyright Statements
@@ -268,9 +298,9 @@
    This document focuses on the syntax and semantics of Netnews
    articles.  [USEPRO] is also a standards-track document, and describes
    the protocol issues of Netnews articles, independent of transport
-   protocols such as [NNTP].  An best common practice document,
-   [USEAGE], describes implementation recommendations to improve
-   interoperability and usability.
+   protocols such as [NNTP].  A best common practice document, [USEAGE],
+   describes implementation recommendations to improve interoperability
+   and usability.
 
    This specification is intended as a definition of what article
    content format is to be passed between systems.  Though some news
@@ -309,11 +339,11 @@
    article" may lack some mandatory header fields.
 
    A "message identifier" (Section 3.1.3) is a unique identifier for an
-   article, usually supplied by the "posting agent" which posted it or,
-   failing that, by the "injecting agent".  It distinguishes the article
+   article, usually supplied by the "user agent" which posted it or,
+   failing that, by the "news server".  It distinguishes the article
    from every other article ever posted anywhere.  Articles with the
    same message identifier are treated as if they are the same article
-   regardless of any differences in the body or header.
+   regardless of any differences in the body or header fields.
 
    A "newsgroup" is a single news forum, a logical bulletin board,
    having a name and nominally intended for articles on a specific
@@ -328,40 +358,32 @@
    implemented partially or entirely in software.
 
    A "poster" is the person or software that composes and submits a
-   possibly compliant article to a "posting agent".  The poster is
+   possibly compliant article to a "user agent".  The poster is
    analogous to [RFC2822]'s author.
 
-   A "posting agent" is the software that assists posters to prepare
-   proto-articles, in compliance with this standard.  The proto-article
-   is then passed on to an "injecting agent" for final checking and
-   injection into the news stream.  If the article is not compliant, or
-   is rejected by the injecting agent, then the posting agent informs
-   the poster with an explanation of the error.
-
    A "reader" is the person or software reading news articles.
 
-   A "reading agent" is software which presents articles to a reader.
-
    A "followup" is an article containing a response to the contents of
    an earlier article, its "precursor".  Every followup includes a
    "References" header field identifying that precursor (but note that
    non-followup articles may also use a References header field).
 
-   A "followup agent" is a combination of reading agent and posting
-   agent that aids in the preparation and posting of a followup.
-
-   Posting, reading and followup agents (which are usually just
-   different services provided by the same piece of software) are known
-   collectively as "user agents".
-
-   An "injecting agent" takes the finished article from the posting
-   agent (often via the [NNTP] "post" command) performs some final
-   checks and passes it on to a relaying agent for general distribution.
-
    A "control message" is an article which is marked as containing
-   control information; a relaying or serving agent receiving such an
-   article may (subject to the policies observed at that site) take
-   actions beyond just filing and passing on the article.
+   control information; a news server receiving such an article may
+   (subject to the policies observed at that site) take actions beyond
+   just filing and passing on the article.
+
+   A "news server" is software that may accept articles from a "user
+   agent", and/or make articles available to user agents, and/or
+   exchange articles with other news servers.
+
+   A "user agent" is software that may help posters submit proto-
+   articles to a news server, and/or fetch articles from a news server
+   and present them to a reader, and/or assist the reader in creating
+   articles and followups.
+
+   The generic term "agent" is used when describing requirements that
+   apply to both user agents and news servers.
 
 1.6.  Structure of This Document
 
@@ -381,14 +403,37 @@
 
 2.1.  Base
 
-   News articles MUST conform to the syntax specified in Section 3 of
-   [RFC2822].  Netnews agents MAY also accept the obsolete syntax
-   specified in Section 4 of [RFC2822], but they MUST NOT generate
-   productions of such syntax.
-
-   Agents MUST accept the obs-phrase construct (use of a phrase like
-   "John Q. Public" without the use of quotes, see [RFC2822] section
-   4.1) but they MUST NOT generate productions of such syntax.
+   An article is said to be conformant to this specification if it
+   conforms to the format specified in [RFC2822] section 3 and to the
+   additional requirements of this specification.
+
+   An article that uses the obsolete syntax specified in section 4 of
+   [RFC2822], except for the two exceptions mentioned below, is NOT
+   conformant to this specification.
+
+   Articles are conformant if they use the <obs-phrase> construct (use
+   of a phrase like "John Q. Public" without the use of quotes, see
+   [RFC2822] section 4.1) but agents MUST NOT generate productions of
+   such syntax.
+
+   Articles are conformant if they use the "GMT" <zone>, as specified in
+   Section 3.1.2.
+
+   This document, and specifications that build upon it, specifies how
+   to handle conformant articles.  Handling of non-conformant articles
+   is outside the scope of this specification.
+
+   Agents conforming to this specification MUST generate only conformant
+   articles.
+
+   The text below uses ABNF to specify restrictions on the syntax
+   specified in [RFC2822]; this grammar is intended to be more
+   restrictive than the [RFC2822] grammar.  Articles must conform to the
+   ABNF specified in [RFC2822].
+
+   Articles must also conform to the restrictions specified here, both
+   those that are expressed as text and those that are expressed as
+   ABNF.
 
       NOTE: Older Netnews specifications used the term "header" as a
       synonym for what [RFC2822] calls "header field".  This document
@@ -415,9 +460,9 @@
 
    o  All agents MUST generate header fields so that at least one space
       immediately follows the ':' separating the header field name and
-      the header field body (for compatibility with deployed software).
-      News agents MAY accept header fields which do not contain the
-      required space.
+      the header field body (for compatibility with deployed software,
+      including [NNTP] servers).  News agents MAY accept header fields
+      which do not contain the required space.
 
    o  Every line of a header field body (including the first and any
       that are subsequently folded) MUST contain at least one non-
@@ -459,7 +504,7 @@
 
    For the purposes of Section 5 of [RFC2047], all header fields defined
    in Section 3 of this standard are to be considered as "extension
-   message header fields" (insofar as they are not already considered
+   message header fields" (insofar as they are not already so considered
    under the existing Email standards), permitting the use of [RFC2047]
    encodings within any <unstructured> header field, or within any
    <comment> or <phrase> permittted within any structured header field.
@@ -492,6 +537,25 @@
 
    Each of these header fields may occur at most once in a news article.
 
+   The following header fields defined in this document do not allow
+   comments (CFWS):
+
+   Newsgroups
+   Path
+   Followup-to
+   Control
+   Supersedes
+   Distribution
+   Xref
+   Lines
+
+   This also applies to the following header field defined in [RFC2822]:
+
+   Message-ID
+
+   Several of these headers are mainly of interest to servers, and
+   servers often need to process these fields very rapidly.
+
 3.1.  Mandatory Header Fields
 
    Each news article conformant with this specification MUST have
@@ -514,11 +578,11 @@
    Therefore, agents MUST accept <date-time> constructs which use the
    "GMT" zone.
 
-   from            =  "Date:" SP date-time CRLF
+   orig-date       =  "Date:" SP date-time CRLF
 
-   NOTE: This specification does not change [RFC2822], which says that
-   agents MUST NOT generate <date-time> constructs which include any
-   zone names defined by <obs-zone>.
+      NOTE: This specification does not change [RFC2822], which says
+      that agents MUST NOT generate <date-time> constructs which include
+      any zone names defined by <obs-zone>.
 
    Software that accepts dates with unknown timezones SHOULD treat such
    timezones as equivalent to "-0000" when comparing dates, as specified
@@ -533,12 +597,13 @@
    The Message-ID header field contains a single unique message
    identifier.  Netnews is more dependent on message identifier
    uniqueness and fast comparison than Email is, and some news software
-   might have trouble with the full range of possible <msg-id>s
-   permitted by [RFC2822]; this section therefore restricts the syntax
-   of <msg-id> as compared to Section 3.6.4 of [RFC2822].  The global
-   uniqueness requirement for <msg-id> in [RFC2822] is to be understood
-   as applying across all protocols using such message identifiers, and
-   across both Email and Netnews in particular.
+   and standards [RFC0977] might have trouble with the full range of
+   possible <msg-id>s permitted by [RFC2822]; this section therefore
+   restricts the syntax of <msg-id> as compared to Section 3.6.4 of
+   [RFC2822].  The global uniqueness requirement for <msg-id> in
+   [RFC2822] is to be understood as applying across all protocols using
+   such message identifiers, and across both Email and Netnews in
+   particular.
 
    message-id      =  "Message-ID:" SP [FWS] msg-id [FWS] CRLF
 
@@ -600,14 +665,14 @@
       case-sensitive (and thus, once created, are not to be altered
       during subsequent transmission or copying)
 
-   This is to simplify processing by relaying and serving agents and to
-   ensure interoperability with existing implementations and compliance
-   with [NNTP].  Thus, whereas under [RFC2822] the following <msg-id>s
-   would be considered semantically equivalent,
-
-   <[email-masked]>
-   <"abcd"@example.com>
-   <"ab\cd"@example.com>
+   This is to simplify processing by news servers and to ensure
+   interoperability with existing implementations and compliance with
+   [NNTP].  Thus, whereas under [RFC2822] the following <msg-id>s would
+   be considered semantically equivalent,
+
+   <[email-masked]>
+   <"ab.cd"@example.com>
+   <"ab.\cd"@example.com>
 
    only the first of them is syntactically permitted by this standard,
    and hence a simple comparison of octets will always suffice to
@@ -622,8 +687,8 @@
    fashion.  Implementations MUST NOT generate two Message-IDs where the
    only difference is the case of characters in the <id-right> part.
 
-   If domain literals are used, the syntax found in Section 4.1.3 of
-   [RFC2821] is RECOMMENDED.
+   When generationg a <msg-id>, implementations SHOULD use a domain name
+   as the <id-right>.
 
       NOTE: Section 3.6.4 of [RFC2822] recommends that the <id-right>
       should be a domain name or a domain literal.  Domain literals are
@@ -655,11 +720,6 @@
 
    component-char  =  ALPHA / DIGIT / "+" / "-" / "_"
 
-      NOTE: Observe that the syntax does not allow comments within the
-      Newsgroups header field; this is to simplify processing by
-      relaying and serving agents which have a requirement to process
-      this header field extremely rapidly.
-
    Folding the Newsgroups header field over several lines has been shown
    to harm propagation significantly.  Folded Newsgroups header fields
    SHOULD NOT be generated, but MUST be accepted.
@@ -671,95 +731,108 @@
       NOTE: All-digit components conflict with one widely used storage
       scheme for articles.  Mixed case groups cause confusion between
       systems with case sensitive matching and systems with case
-      insensitive matching of newsgroup names.
+      insensitive matching of <newsgroup-name>s.
 
-   Components beginning with underline ("_") are reserved for use by
-   future versions of this standard and MUST NOT be generated by posting
+   <component>s beginning with underline ("_") are reserved for use by
+   future versions of this standard and MUST NOT be generated by user
    agents (whether in Newsgroups header fields or in newgroup control
-   messages [USEPRO]).  However, such names MUST be accepted by relaying
-   and serving agents.
+   messages [USEPRO]).  However, such names MUST be accepted by news
+   servers.
 
-   Components beginning with "+" and "-" are reserved for private use
-   and MUST NOT be generated by posting agents (whether in Newsgroups
+   <component>s beginning with "+" and "-" are reserved for private use
+   and MUST NOT be generated by user agents (whether in Newsgroups
    header fields or in newgroup control messages [USEPRO]) without a
    private prior agreement to do so.  However, such names MUST be
-   accepted by relaying and serving agents.
+   accepted by news servers.
 
-   The following newsgroup names are reserved, and MUST NOT be used as
+   The following <newsgroup-name>s are reserved, and MUST NOT be used as
    the name of a newsgroup:
 
-   o  Groups starting with the component "example"
+   o  Groups whose first (or only) component is "example"
 
    o  The group "poster"
 
-   The following newsgroup names have been used for specific purposes in
-   various implementations and protocols, and MUST therefore not be used
-   for the names of normal newsgroups.  They MAY be used for their
-   specific purpose, or by local agreement.
+   The following <newsgroup-name&gts have been used for specific
+   purposes in various implementations and protocols, and therefore MUST
+   NOT be used for the names of normal newsgroups.  They MAY be used for
+   their specific purpose, or by local agreement.
 
-      Groups starting with the component "to"
+      Groups whose first (or only) component is "to"
 
-      Groups starting with the component "control"
+      Groups whose first (or only) component is "control"
 
-      Groups containing the component "all"
+      Groups which contain (or consist only of) the component "all"
 
-      Groups containing the component "ctl"
+      Groups which contain (or consist only of) the component "ctl"
 
       The group "junk"
 
-      NOTE: The list above includes the groups "to", "control", "all",
-      and "ctl".
+      NOTE: "example.*" is reserved for examples in this and other
+      standards; "poster" has a special meaning in the Followup-To
+      header field; "to.*" is reserved for certain point-to-point
+      communications in conjunction with the "ihave" control message
+      [USEPRO]; "control.*" and "junk" have special meanings in some
+      news-servers; "all" is used as a wildcard in some implementations;
+      and "ctl" was formerly used to indicate a <control-command> within
+      the Subject header field.
 
 3.1.6.  Path
 
    The Path header field indicates the route taken by an article since
    its injection into the Netnews system.  Each agent that processes an
    article is required to prepend one (or more) identities to this
-   header field body.  This is primarily to enable relaying agents to
-   avoid sending articles to sites already known to have them, in
-   particular the site they came from, and additionally to permit
-   tracing the route articles take in moving over the network, and for
-   gathering Usenet statistics.
+   header field body.  This is primarily to enable news servers to avoid
+   sending articles to sites already known to have them, in particular
+   the site they came from, and additionally to permit tracing the route
+   articles take in moving over the network, and for gathering Usenet
+   statistics.
 
    path            =  "Path:" SP path-list CRLF
 
    path-list       =  [FWS]
-                      *( ( path-identity / path-keyword ) [FWS]
-                      path-delimiter [FWS] )
+                      *( ( path-identity / path-keyword /
+                           path-diagnostic ) [FWS]
+                         path-delimiter [FWS] )
                       tail-entry [FWS]

    path-identity   =  ( ALPHA / DIGIT )
-                      *( ALPHA / DIGIT / "-" / "." / ":" / "_" )
+                      *( ALPHA / DIGIT / "-" / "." / "_" )
+
+   path-keyword    =  "POSTED" / "MISMATCH"
 
-   path-keyword    = "POSTED" / "MISMATCH"
+   path-diagnostic =  1*( ALPHA / DIGIT / "-" / "." / ":" / "_" )
 
    tail-entry      =  path-identity
 
    path-delimiter  =  "!" / "!!"
 
+   A <path-identity> is a name identifying a site.  It takes the form of
+   a domain name having one or more components separated by dots.
+
    Each <path-identity> in the <path-list> (excluding the one in the
    <tail-entry>) indicates, from right to left, the successive agents
-   through which the article has passed.  The <keyword> "POSTED"
+   through which the article has passed.  The <path-keyword> "POSTED"
    indicates that the agent to its left injected the article.  The use
    of the <path-delimiter> "!!" indicates that the agent to its left
    claims that the agent to its right was the verified source of the
    article (whereas the <path-delimiter> "!" implies no such claim).
-   The <keyword> "MISMATCH" indicates that the agent to its right failed
-   to be so verified.  The full procedure for constructing a Path header
-   field as well as the specific format and use of <path-identity> and
-   <tail-entry> are discussed in [USEPRO].
-
-      NOTE: Historically, the <tail-entry> indicated the name of the
-      sender.  If not used for this purpose, the string "not-for-mail"
-      is often used instead (since at one time the whole path could be
-      used as a mail address for the sender).
+   The <path-keyword> "MISMATCH" indicates that the agent to its right
+   failed to be so verified.
 
       NOTE: Although case-insensitive, it is intended that the <path-
       keyword>s "POSTED" and "MISMATCH" should be in upper case, to
       distinguish them from the <path-identity>s which are traditionally
       in lower case.
 
+   A <path-diagnostic> is an item inserted into the Path header for
+   purposes other than to indicate the name of a site.  One commonly
+   observed usage is to insert an IP address.  The colon (":") is
+   permitted in order to allow IPv6 addresses to be inserted; note that
+   this will cause interoperability problems at older sites that regard
+   ":" as a <path-delimiter> and have neighbors whose names have 4 or
+   fewer characters, and where all the characters are valid HEX digits.
+
 3.2.  Optional Header Fields
 
    None of the header fields appearing in this section is required to
@@ -794,21 +867,26 @@
    The Injection-Date header field contains the date and time that the
    article was injected into the network.  Its purpose is to prevent the
    reinjection into the news stream of "stale" articles which have
-   already expired by the time they arrive at some relaying or serving
-   agent.
+   already expired by the time they arrive at some news server.
 
-   injection-date  =  "Injection-Date:" SP date-time CRLF
+   This header field MUST be inserted whenever an article is injected.
+   However, software that predates this standard does not use this
+   header, and therefore agents MUST accept articles without the
+   Injection-Date header field.
 
+   injection-date  =  "Injection-Date:" SP date-time CRLF
 
-   See the remarks under Section 3.1.2 regarding the syntax of date-time
-   and the requirements and recommendations to which it is subject.
 
-      NOTE: The date-time in this header field would normally be
-      expected to be later than the date-time in the Date header field,
-      but differences between the clocks on the various agents and other
-      special circumstances might vitiate that; no provision is made for
-      any such discrepancy to be corrected - better that the injecting
-      agent should just insert the correct time as it sees it.
+   See the remarks under Section 3.1.2 regarding the syntax of <date-
+   time> and the requirements and recommendations to which it is
+   subject.
+
+      NOTE: The <date-time> in this header field would normally be
+      expected to be later than the <date-time> in the Date header
+      field, but differences between the clocks on the various agents
+      and other special circumstances might vitiate that; no provision
+      is made for any such discrepancy to be corrected - better that the
+      news server should just insert the correct time as it sees it.
 
    This header field is intended to replace the currently-used but
    undocumented "NNTP-Posting-Date" header field, whose use is now
@@ -850,8 +928,8 @@
    (Section 3.1.5, with the exception that the keyword "poster" (which
    is always lowercase) requests that followups should be mailed to the
    article's reply address rather than posted.  Although the keyword
-   "poster" is case-sensitive, followup agents MAY choose to recognize
-   case-insensitive forms such as "Poster".
+   "poster" is case-sensitive, user agents MAY choose to recognize case-
+   insensitive forms such as "Poster".
 
 3.2.4.  Expires
 
@@ -861,8 +939,9 @@
 
    expires         =  "Expires:" SP date-time CRLF
 
-   See the remarks under Section 3.1.2 regarding the syntax of date-time
-   and the requirements and recommendations to which it is subject.
+   See the remarks under Section 3.1.2 regarding the syntax of <date-
+   time> and the requirements and recommendations to which it is
+   subject.
 
 3.2.5.  Control
 
@@ -937,7 +1016,8 @@
 
    The Approved header field indicates the mailing addresses (and
    possibly the full names) of the persons or entities approving the
-   article for posting.
+   article for posting.  Its principal uses are in moderated articles
+   and in group control messages [USEPRO].
 
    approved        =  "Approved:" SP mailbox-list CRLF
 
@@ -960,9 +1040,9 @@
 3.2.11.  Xref
 
    The Xref header field indicates where an article was filed by the
-   last serving agent to process it.  The article locations are used to
-   keep track of crossposted articles so that reading agents serviced by
-   a particular serving agent can mark such articles as read.
+   last news server to process it.  The article locations are used to
+   keep track of crossposted articles so that user agents serviced by a
+   particular news server can mark such articles as read.
 
    xref            =  "Xref:" SP [FWS] server-name
                       1*( FWS location ) [FWS] CRLF
@@ -976,12 +1056,12 @@
                       ; except '(' and ';'
 
    The <server-name> is included so that software can determine which
-   serving agent generated the header field.  The locations specify what
+   news server generated the header field.  The locations specify what
    newsgroups the article was filed under (which may differ from those
    in the Newsgroups header field) and where it was filed under them.
-   The exact form of an article-locator is implementation-specific.
+   The exact form of an <article-locator> is implementation-specific.
 
-      NOTE: The traditional form of an article-locator (as required by
+      NOTE: The traditional form of an <article-locator> (as required by
       [NNTP]) is a decimal number, with articles in each newsgroup
       numbered consecutively starting from 1.
 
@@ -1020,13 +1100,13 @@
    product-version =  [CFWS] token
 
    This header field MAY contain multiple product-tokens identifying the
-   agent and any subproducts which form a significant part of the
-   posting agent, listed in order of their significance for identifying
-   the application.
+   user agent and any subproducts which form a significant part of it,
+   listed in order of their significance for identifying the
+   application.
 
       NOTE: Some of this information has previously been sent in non-
       standardized header fields such as X-Newsreader, X-Mailer,
-      X-Posting-Agent, X-Http-User-Agent, and others.  Once an agent
+      X-Posting-Agent, X-Http-User-Agent, and others.  Once a user agent
       uses User-Agent, it should have no need to send these non-standard
       header fields.
 
@@ -1037,87 +1117,94 @@
 
 3.2.14.  Injection-Info
 
-   The Injection-Info header field provides information as to how an
-   article entered the Netnews system and to assist in tracing its true
-   origin.  It can also specify one or more addresses where complaints
-   concerning the poster of the article may be sent.
+   The Injection-Info header field contains information provided by the
+   injecting news server as to how an article entered the Netnews system
+   and to assist in tracing its true origin.  It can also specify one or
+   more addresses where complaints concerning the poster of the article
+   may be sent.
 
    injection-info  =  "Injection-Info:" SP [CFWS] path-identity
-                      *( [CFWS] ";" [CFWS] inj-info-param )
-                      [CFWS] CRLF
-
-   inj-info-param  =  post-host-param /
-                      post-acct-param /
-                      sender-param /
-                      logging-param /
-                      complainto-param /
-                      ext-param
-                      ;; At most one of "post-host-param",
-                      ;; "post-acct-param", "sender-param",
-                      ;; "logging-param" or "complainto-param"
-                      ;; is allowed.
+                      [CFWS] *(';' parameter) CRLF
 
-   ext-param       = parameter
-   [[Should also allow for x-attributes?]]
+      NOTE: The syntax of <parameter> ([RFC2045] as amended by
+      [RFC2231]), taken in conjunction with the folding rules of
+      [RFC0822], effectively allows [CFWS] to occur both before and
+      after the <parameter>, and also on either side of its "=".
+
+   The following table gives the <attribute> and the format of the
+   <value> for each <parameter> defined for use with this header field.
+   At most one occurrence of each such <parameter> is allowed.
+
+   <attribute>              format of <value>
+   --------------------     -----------------
+   "posting-host"           a <host-value>
+   "posting-account"        any <value>
+   "sender"                 a <sender-value>
+   "logging-data"           any <value>
+   "mail-complaints-to"     an <address-list>
 
-   post-host-param =  "posting-host" "=" host-value
+   where
 
-   host-value      =  dot-atom / [ dot-atom ":" ]
+   host-value      =  dot-atom-text / [ dot-atom-text ":" ]
                       ( IPv4address / IPv6address ) ;  see [RFC 3986]
 
-   post-acct-param =  "posting-account" "=" value
-
-   sender-param    =  "sender" "=" sender-value
-
    sender-value    =  mailbox / "verified"
 
-   logging-param   =  "logging-data" "=" value
-
-   complainto-param=  "mail-complaints-to" "=" address-list
-
+      NOTE: Since any such <host-value>>, <sender-value> or <address-
+      list> has also to be a syntactically correct <value>, it will
+      usually be necessary to encapsulate is as a <quoted-string>, for
+      example:
+
+   sender = "\"Joe Q. Public\" <[email-masked]>"
+
+   Additionally, any other <parameter> whose <attribute> starts with
+   "x-" MAY be used where the defined ones appear to be unsuitable, but
+   other unlisted <parameter>s SHOULD NOT be used unless defined in
+   extensions to this standard.
 
    Although comments and folding of white space are permitted throughout
    the Injection-Info header field, it is RECOMMENDED that folding is
-   not used within any parameter (but only before or after the ";"
-   separating those parameters), and that comments are only used
-   following the last parameter.
+   not used within any <parameter> (but only before or after the ";"
+   separating those <parameter>s), and that comments are only used
+   following the last <parameter>.
 
       NOTE: Some of this information has previously been sent in non-
       standardized header fields such as NNTP-Posting-Host, X-trace,
-      X-Complaints-To, and others.  Once an injecting agent uses
-      Injection-Info, it should have no need to send these non-standard
-      header fields.
-
-   The "posting-host" parameter specifies the FQDN and/or IP address
-   (IPv4address or IPv6address) of the host from which the injecting
-   agent received the article.
-
-      NOTE: If the "posting-host" parameter identifies a dial-up point-
-      of-presence, the "posting-account" or the "logging-data" parameter
-      may provide additional information about true origin of the
-      article.
+      X-Complaints-To, and others.  Once a news server uses Injection-
+      Info, it should have no need to send these non-standard header
+      fields.
+
+   The "posting-host" <parameter> specifies the FQDN and/or IP address
+   (IPv4address or IPv6address) of the host from which the news server
+   received the article.
+
+      NOTE: If the "posting-host" <parameter> identifies a dial-up
+      point-of-presence, the "posting-account" or the "logging-data"
+      <parameter> may provide additional information about true origin
+      of the article.
 
-   The "posting-account" parameter identifies the source from which the
-   injecting agent received the article.  For security reasons, it
+   The "posting-account" <parameter> identifies the source from which
+   that news server received the article.  For security reasons, it
    SHOULD be in a cryptic notation understandable only by the
-   administrator of the injecting agent.
+   administrator of the news server.
 
-   The "sender" parameter identifies the mailbox of the verified sender
-   of the article (alternatively, it uses the token "verified" to
+   The "sender" <parameter> identifies the mailbox of the verified
+   sender of the article (alternatively, it uses the token "verified" to
    indicate that at least any addr-spec in the Sender header field of
    the article, or in the From header field if the Sender header field
-   is absent, is correct).  If an injecting agent can verify sender of
-   an article, it SHOULD use this parameter in favour of the "posting-
-   account" parameter.
+   is absent, is correct).  If a news server can verify the sender of an
+   article, it SHOULD use this <parameter> in favor of the "posting-
+   account" <parameter>.
 
-   The "logging-data" parameter contains information (typically a
+   The "logging-data" <parameter> contains information (typically a
    session number or other non-persistent means of identifying a posting
    account) which will enable the true origin of the article to be
-   determined by reference to logging information kept by the injecting
-   agent.
+   determined by reference to logging information kept by the news
+   server.
 
-   The "mail-complaints-to" parameter specifies mailbox(es) for sending
-   complaints concerning the behavior of the poster of the article.
+   The "mail-complaints-to" <parameter> specifies mailbox(es) for
+   sending complaints concerning the behavior of the poster of the
+   article.
 
 3.3.  Obsolete Header Fields
 
@@ -1128,11 +1215,11 @@
    Posting-Version: version B 2.10 2/13/83; site eagle.UUCP
    Date-Received: Friday, 19-Nov-82 16:59:30 EST
 
-   Relay-Version contained version information about the relaying agent
+   Relay-Version contained version information about the news server
    that last processed the article.  Posting-Version contained version
-   information about the posting agent that posted the article.  Date-
-   Received contained the date when the last relaying agent to process
-   the article first saw it (in a slightly nonstandard format).
+   information about the user agent that posted the article.  Date-
+   Received contained the date when the last news server to process the
+   article first saw it (in a slightly nonstandard format).
 
    In addition, this present standard obsoletes certain header fields
    defined in [Son-of-1036]:
@@ -1167,8 +1254,8 @@
    body, and including the whole of all MIME message and multipart parts
    contained in the body (the single empty separator line between the
    header fields and the body is not part of the body).  The "body" here
-   is the body as found in the posted article as transmitted by the
-   posting agent.
+   is the body as found in the posted article as transmitted by the user
+   agent.
 
    Historically, this header field was used by the [NNTP] overview
    extension, but its use for this purpose is now deprecated.  As a
@@ -1181,8 +1268,8 @@
 
    Internationalization of news article header fields and bodies is
    provided using MIME mechanisms discussed in Section 2.3.  Note that
-   the generation of internationalized newsgroup names for use in header
-   fields is not addressed in this document.
+   the generation of internationalized <newsgroup name>s for use in
+   header fields is not addressed in this document.

 5.  Security Considerations
@@ -1205,6 +1292,19 @@
    that generate message identifiers for news articles SHOULD ensure
    that they are unpredictable.
 
+   MIME security considerations are discussed in [RFC2046].  Note that
+   the full range of encodings allowed for parameters in [RFC2046] and
+   [RFC2231] permits constructs that simple parsers may fail to parse
+   correctly; examples of hard-to-parse constructs are:
+
+   Content-Type: multipart/mixed
+   (; boundary=foo ; xyz=");bOuNdArY*=''next%20part(")
+
+   Content-Type: multipart/digest;
+   boundary (not=me) = ("yes ;-) simple (foo;bar") ; x-foo = xyzzy
+
+   Such differences in parsing may be used as part of an attack.
+
 
 6.  References
 
@@ -1242,9 +1342,6 @@
    [RFC2234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
               Specifications: ABNF", RFC 2234, November 1997.
 
-   [RFC2821]  Klensin, J., "Simple Mail Transfer Protocol", RFC 2821,
-              April 2001.
-
    [RFC2822]  Resnick, P., "Internet Message Format", RFC 2822,
               April 2001.
 
@@ -1264,6 +1361,12 @@
    [PGPVERIFY]
               Lawrence, D., "PGPverify", June 1999.
 
+   [RFC0822]  Crocker, D., "Standard for the format of ARPA Internet
+              text messages", STD 11, RFC 822, August 1982.
+
+   [RFC0977]  Kantor, B. and P. Lapsley, "Network News Transfer
+              Protocol", RFC 977, February 1986.
+
    [RFC1036]  Horton, M. and R. Adams, "Standard for interchange of
               USENET messages", RFC 1036, December 1987.
 
@@ -1305,54 +1408,90 @@
    Melnikov.

-Appendix B.  Differences from RFC 1036
+Appendix B.  Differences from RFC 1036 and its derivatives
 
    This appendix contains a list of changes that have been made in the
    Netnews Article Format from earlier standards, specifically
    [RFC1036].
 
+      The [RFC2822] conventions for parenthesis-enclosed <comment>s in
+      header fields are supported in all newly defined header fields and
+      in header fields inherited from [RFC2822].  They are, however,
+      still disallowed for performance and/or compatibility reasons in
+      the Message-ID, Newsgroups, Path, Followup-To, Control,
+      Supersedes, Distribution, Xref and Lines header fields.
+
+      Whitespace is permitted in Newsgroups header fields.
+
+      An enhanced syntax for the Path header field enables the injection
+      point of, and the route taken by an article to be determined with
+      more precision.
+
+      MIME is recognized as an integral part of Netnews.
+
+      There is a new Injection-Date header to make the rejection of
+      stale articles more precise and to minimize spurious rejections.
 
+      There are several new optional header fields defined, notably
+      Archive, Injection-Info and User-Agent, leading to increased
+      functionality.
+
+      Certain header fields, notably Lines, have been made obsolete
+      (Section 3.3).
+
+      There are numerous other small changes, clarifications and
+      enhancements.

 Appendix C.  Differences from RFC 2822
 
    This appendix lists the differences between the syntax allowed by the
    Netnews Article Format (this document) as compared to the Internet
-   Message Format, specifically [RFC2822].
+   Message Format, as specified in [RFC2822].
+
+   The Netnews article format is a strict subset of the Internet Message
+   Format; all Netnews articles conform to the syntax of [RFC2822].
+
+   The following restrictions are important:
 
       A SP (space) is REQUIRED after the colon (':') following header
       field name.
 
-      A more restricted syntax of msg-id (to be used by the Message-ID,
-      References, and Supersedes header fields).
+      A more restricted syntax of <msg-id> (to be used by the
+      Message-ID, References, and Supersedes header fields) is defined.
+
+      The length of a msg-id MUST NOT exceed 250 octets.
 
       Comments are not allowed in the Message-ID header field.
 
-      The CFWS between msg-ids in the References header field is not
+      The CFWS between <msg-id>s in the References header field is not
       optional.
 
-      An <unstructured> header field body MUST contain at least one non-
-      whitespace character (header fields such as Subject can not be
-      empty).
+      It is legal for a parser to not accept obsolete syntax, except
+      that:
 
-      The <obs-phrase> construct MUST be accepted.
+         The <obs-phrase> construct MUST be accepted.
 
-      The obsolete timezone "GMT" MUST be accepted in the Date header
-      field.
+         The obsolete <zone> "GMT" MUST be accepted within a <date-
+         time>.
 
-      The length of a msg-id MUST NOT exceed 250 octets.
+      Every line of a header field body (including the first and any
+      that are subsequently folded) MUST contain at least one non-
+      whitespace character.  This means that an empty header field body
+      is illegal.

 Authors' Addresses
 
    Kenneth Murchison (editor)
-   Oceana Matrix Ltd.
-   21 Princeton Place
-   Orchard Park, NY  14127
+   Carnegie Mellon University
+   5000 Forbes Avenue
+   Cyert Hall 285
+   Pittsburgh, PA  15213
    US
 
-   Phone: +1 716 662 8973
-   Email: [email-masked]
+   Phone: +1 412 268 2638
+   Email: [email-masked]

    Charles H. Lindsey

--------------070504090607030209040906--

From: Florian Weimer <[email-masked]>
To: "Charles Lindsey" <[email-masked]>
Cc: [email-masked]
Subject: Re: Slightly OT - Stupid Spammers
Date: Fri, 16 Dec 2005 19:15:57 +0100
Sender: [email-masked]

* Charles Lindsey:

> Now this list is not archived at Google, AFAICT, so the spammer must have
> been trawling in gmane.

Are you sure?  I would expect that given the size of the list, a few
subscribers use compromised Windows machines, and the spam bots got
the addresses from there.

The solution is simple: use a separate domain for message IDs.
(Rejecting in the MTA does not really help if there are too many
message IDs floating around.)  Obviously, it only works in a setting
where you have some control over the clients.

Date: Fri, 16 Dec 2005 15:16:41 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Charles Lindsey <[email-masked]>, [email-masked]
Subject: Re: toplabel (was: I'm back (finally))
Sender: [email-masked]

--On torsdag, desember 15, 2005 16:59:12 +0000 Charles Lindsey 
<[email-masked]> wrote:

> However, the main question that still needs answering (as Harald has
> agreed) is whether we want to arrange the syntax so that one can
> immediately tell whether a given entry is a path-entry or a
> souce[diagnostic]-entry.
>
> I have said that is a desireable feature, but nobody else has answered
> yet.

And I have said that I do not judge it possible to design and get consensus 
for such a mechanism without delaying USEFOR considerably, given the 
current lack of energy in the group.

I think it's better at this time to allow stuff in USEFOR (which will also 
allow existing usage, which is varied, and not mechanically 
distinguishable) and make rules for "one way to do it" in USEPRO.

If we can get that far.

                  Harald

To: [email-masked]
Xref: clerew local.usefor:22758
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: toplabel (was: I'm back (finally))
Date: Thu, 15 Dec 2005 16:59:12 GMT
Lines: 35
Sender: [email-masked]

In <[email-masked]> Frank Ellermann <[email-masked]> writes:

>Charles Lindsey wrote:

>> The syntax I have proposed currently includes:
>>    toplabel = [ label *( "-" ) ] ALPHA [ label *( "-" ) ]
>>                ; at least one ALPHA

>We'd need "at least one non-DIGIT" for what Harald found out,
>and as stated in RFC 3696, "allowing" toblabels like 1-2-3.

>   toplabel = ( [ label *( "-" ) ] ALPHA [ *( "-" ) label ] )
>            / ( label 1*( "-" ) label )

OK, I've put that in my syntax now.

However, the main question that still needs answering (as Harald has agreed) is
whether we want to arrange the syntax so that one can immediately tell
whether a given entry is a path-entry or a souce[diagnostic]-entry.

I have said that is a desireable feature, but nobody else has answered
yet.

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22759
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: Slightly OT - Stupid Spammers
Date: Thu, 15 Dec 2005 17:02:21 GMT
Lines: 23
Sender: [email-masked]

In <[email-masked]> Russ Allbery <[email-masked]> writes:

>I've gotten so much spam to message IDs for so many years that I wrote
>special rules into my mail server to handle it something like five years
>ago, so I don't even notice new instances any more.

Yes, I am about to arrange a filter upstream of myself (since I obviously
know the format of my locally generated message-ids), so that I don't
see them.

It just struck me that spammers could find more fertile places to scrape
than this list :-).

-- 
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: [email-masked]      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

From: "Ruud H.G. van Tol" <[email-masked]>
To: <[email-masked]>
Subject: Re: Slightly OT - Stupid Spammers
Date: Thu, 15 Dec 2005 00:18:17 +0100
Organization: Chaos rules.
Sender: [email-masked]

Frank Ellermann:
> Ruud H.G. van Tol:

>> all you can do is silently discard them.
>
> After reporting them to SpamCop, that's what I do...

Mail that is not properly addressed, doesn't get past SMTP here. But I
have spamtraps too, and my addresses are quite old and known, so I get a
lot of spam, and occasionally infected messages that weren't detected by
a the self-updating virus scanners yet.

I only report spam that is not already known by (a private selection of)
the big blacklists, which limits it for me to about 30 per day.
The infected messages (that carry complete zips or Windows-executables)
I send to a McAfee submit address following the procedure on
http://vil.nai.com/vil/submit-sample.asp

>> Catch-all is evil.
>
> ...the vanity host @xyzzy is the only way to create
> correct Message-IDs with my UA, and it comes with a
> catch-all, TINSTAAFL.

Would it work if you could put subhosts like "host01.xyzzy.claranet.de"
in DNS as localhost addresses like 127.6.66.01?

> Adding SPF FAIL it's still possible to use catch-all.
> Without SPF I'd given up on SMTP and/or Message-IDs.

I have never really looked into SPF.

>> [receiving messages that were not properly addressed]
>> compare the Envelope-To: with the embedded To:
>
> Won't fly for BCC.

If you have the complete Envelope-To, or at least the selection that
holds all te addresses that are yours, then you can check the
differences, and find the BCC ones. My main provider (xs4all.nl) adds an
Envelope-To header field to the messages with such a selection.

> But "reject as much as you can" is certainly the way to go.

For most people it should be.

I have seen spammers switching IP-nrs quite frequently lately, using an
IP-nr for only one or two days, or even just a few hours, every few
weeks, to let them flow out of black lists again. Some spammers have
been doing that for years already, but it seems to be getting more
popular.

-- 
Grtz, Ruud

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: Slightly OT - Stupid Spammers
Date:  Wed, 14 Dec 2005 22:01:26 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 21
Sender: [email-masked]

Ruud H.G. van Tol wrote:

> all you can do is silently discard them.

After reporting them to SpamCop, that's what I do...
 
> Catch-all is evil.

...the vanity host @xyzzy is the only way to create
correct Message-IDs with my UA, and it comes with a
catch-all, TINSTAAFL.

Adding SPF FAIL it's still possible to use catch-all.
Without SPF I'd given up on SMTP and/or Message-IDs.

> compare the Envelope-To: with the embedded To:

Won't fly for BCC.  But "reject as much as you can"
is certainly the way to go.
                           Bye, Frank

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: Slightly OT - Stupid Spammers
Date:  Wed, 14 Dec 2005 21:47:10 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 17
Sender: [email-masked]

Charles Lindsey wrote:

> the spammer must have been trawling in gmane.

With its Web / RSS interfaces that would require some special
knowledge about the "raw" article view, no rocket science but
still a special procedure.  I'd guess it's plain old NNTP.

> has anyone else been getting spams derived from their
> message-ids used on this list?

I get spam to my Message-IDs all the time, even before I used
GMaNe.  Rarely I get spam to an address that I used precisely
once in de.admin.net-abuse.mail several years ago.  <shrug />

                           Bye, Frank

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  toplabel (was: I'm back (finally))
Date:  Wed, 14 Dec 2005 21:21:28 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 39
Sender: [email-masked]

Charles Lindsey wrote:

> The syntax I have proposed currently includes:
>    toplabel = [ label *( "-" ) ] ALPHA [ label *( "-" ) ]
>                ; at least one ALPHA

Yes, that's the "at least one ALPHA" syntax.  But I got this
wrong, it isn't the same as "not only digits" as in RFC 3696.

We'd need "at least one non-DIGIT" for what Harald found out,
and as stated in RFC 3696, "allowing" toblabels like 1-2-3.

Based on what we discussed in...
http://article.gmane.org/gmane.ietf.usenet.format/30109
...that could result in:

   toplabel = ( [ label *( "-" ) ] ALPHA [ *( "-" ) label ] )
            / ( label 1*( "-" ) label )

Is this the most simple form to say "not all-numeric" plus
"hyphen only inside" ?  We could also add "minimal length 2":

   toplabel = ( [ label *( "-" ) ] ALPHA   *( "-" ) label   )
            / (   label *( "-" )   ALPHA [ *( "-" ) label ] )
            / (   label          1*( "-" )          label   )

> less restrictive than what you have found in RFC 1123.  We
> could follow either, but I don't think Film at 11 would be
> needed either way :-)

It's interesting not only here, it could also affect 2821bis
(= to avoid useless root server queries for erroneous IPv4
constructs without square brackets) and RfCs using the simple
2396 approach "must start with ALPHA".

And SPF could reach AUTH48 as soon as 2476bis got its number.

                           Bye, Frank

From: Russ Allbery <[email-masked]>
To: [email-masked]
Subject: Re: Slightly OT - Stupid Spammers
Organization: The Eyrie
Date: Wed, 14 Dec 2005 11:44:03 -0800
Sender: [email-masked]

Charles Lindsey <[email-masked]> writes:

> Anyway, has anyone else been getting spams derived from their
> message-ids used on this list?

I've gotten so much spam to message IDs for so many years that I wrote
special rules into my mail server to handle it something like five years
ago, so I don't even notice new instances any more.

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

From: "Ruud H.G. van Tol" <[email-masked]>
To: <[email-masked]>
Subject: Re: Slightly OT - Stupid Spammers
Date: Wed, 14 Dec 2005 18:57:24 +0100
Organization: Chaos rules.
Sender: [email-masked]

Charles Lindsey schreef:

> Anyway, has anyone else been getting spams derived from their
> message-ids used on this list?

I get from this that you have a catch-all setup.

If you choose to have messages accepted for non-deliverable addresses,
then all you can do is silently discard them.

Catch-all is evil. Non-existent hostnames and usernames should be
rejected at the very start of the SMTP-conversation (maybe after a
minute of silence).

Something similar happens when such a message is addressed to multiple
recipients from which a few exist, so compare the Envelope-To: with the
embedded To:.

The Message-IDs can have been scraped from the web, simply triggerd by
the '@' inside them. There will be other places than gmane that archive
this list.

-- 
Grtz, Ruud

To: [email-masked]
Xref: clerew local.usefor:22749
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: I'm back (finally)
Date: Wed, 14 Dec 2005 12:50:05 GMT
Lines: 48
Sender: [email-masked]

In <[email-masked]> Frank Ellermann <[email-masked]> writes:

>Charles Lindsey wrote:

>>> at the time Jon Postel was IANA, he said quite clearly that
>>> "there will never be a numeric TLD". But I've not managed to
>>> find a policy document that says so.

>> I think all we can do is to proceed on the assumption that
>> John Postel was correct.

>We don't need ABNF for that, or do we ?  Apparently 1123 2.1
>(a part of STD 3) says toplabel = 1*ALPHA

Well we have decided that a path-identity should be an <fqdn> or a
<bareword>, but not an <IP-address> (those are only for
source-identities/diagnostics). So if we want to give a clear syntax for
what is allowed, some ABNF for <fqdn> seems in order.

The syntax I have proposed currently includes:

   toplabel = [ label *( "-" ) ] ALPHA [ label *( "-" ) ]
               ; at least one ALPHA

which gives the required safety and agrees with Jon Postel, but is less
restrictive than what you have found in RFC 1123. We could follow either,
but I don't think Film at 11 would be needed either way :-) .

>| However, a valid host name can never have the dotted-decimal
>| form #.#.#.#, since at least the highest-level component
>| label will be alphabetic.

Yes, that seems clear enough. (It is also the place where it says that if
a domain name is acceptable in some context, then an IP address SHOULD be
acceptable also - which we have decided not to follow in Paths :-( .)

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22750
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Slightly OT - Stupid Spammers
Date: Wed, 14 Dec 2005 13:03:26 GMT
Lines: 36
Sender: [email-masked]

Well we all know that spammers trawl newsgroups looking for valid email
addresses. But the more stupid ones also pick up message-ids and try to
email spam to them. I have been getting around 50 spams a night addressed
to non-existent users on my machine, which turn out to be message-ids that
I have used. They all come via zombied machines, but the spammer appears
to be feeding the zombies in real time, because the times of posting of a
batch are all close together, even though they come from different
zombies. The contents cover all the spam topics that seem to be
fashionable at the moment.

Anyway, I thought I would try to discover exactly which groups the spammer
had been trawling, but Google only had a few of those message-ids (from
some widely separated copies of a FAQ I post).

But then, to my surprise, I found 5 of them were the message-ids of
messages I had posted to this list (I only looked at those 5, so there
were probably a lot more - they were from the days when the list was
hosted at Landfield, because looking for message-ids on the present
archive is _really_ hard work).

Now this list is not archived at Google, AFAICT, so the spammer must have
been trawling in gmane.

Anyway, has anyone else been getting spams derived from their message-ids
used on this list?

-- 
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: [email-masked]      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

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: I'm back (finally)
Date:  Tue, 13 Dec 2005 16:08:01 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 24
Sender: [email-masked]

Charles Lindsey wrote:

>> at the time Jon Postel was IANA, he said quite clearly that
>> "there will never be a numeric TLD". But I've not managed to
>> find a policy document that says so.

> I think all we can do is to proceed on the assumption that
> John Postel was correct.

That would be "not only digits".  No idea how I managed to
hallucinate "at least one alpha" into RFC 3696, it clearly
says "not all-numeric":

| There is an additional rule that essentially requires that
| top-level domain names not be all-numeric.

We don't need ABNF for that, or do we ?  Apparently 1123 2.1
(a part of STD 3) says toplabel = 1*ALPHA

| However, a valid host name can never have the dotted-decimal
| form #.#.#.#, since at least the highest-level component
| label will be alphabetic.
                             Bye, Frank

Date: Fri, 09 Dec 2005 17:34:57 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Charles Lindsey <[email-masked]>, [email-masked]
Subject: Re: #1102: Proposed resolution
Sender: [email-masked]

--On fredag, desember 09, 2005 12:15:00 +0000 Charles Lindsey 
<[email-masked]> wrote:

>
> In <[email-masked]> Harald Tveit
> Alvestrand <[email-masked]> writes:
>
>> An "user agent" is software that helps posters submit proto-articles to
>> a  news server, fetches articles from a news server and presents them to
>> a  reader, and assists the reader in creating articles and followups.
>
>> A "news server" is software which accepts articles from an user agent,
>> makes articles available to user agents, and exchanges articles with
>> other  news servers.
>
> That wording might imply that each user/serving agent is obliged to offer
> all the services described, whereas there exist specialized agents (esp.
> serving ones) which do only part of the job.
>
> I suggest s/and/or/ in a couple of places. Otherwise, it seems fine.

That's reasonable. I'll leave the editor to do that.

To: [email-masked]
Xref: clerew local.usefor:22746
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: #1102: Proposed resolution
Date: Fri, 9 Dec 2005 12:15:00 GMT
Lines: 34
Sender: [email-masked]

In <[email-masked]> Harald Tveit Alvestrand <[email-masked]> writes:

>An "user agent" is software that helps posters submit proto-articles to a 
>news server, fetches articles from a news server and presents them to a 
>reader, and assists the reader in creating articles and followups.

>A "news server" is software which accepts articles from an user agent, 
>makes articles available to user agents, and exchanges articles with other 
>news servers.

That wording might imply that each user/serving agent is obliged to offer
all the services described, whereas there exist specialized agents (esp.
serving ones) which do only part of the job.

I suggest s/and/or/ in a couple of places. Otherwise, it seems fine.

>CHANGE all occurences of the above + "serving agent", "netnews agents", 
>"news agents" into one of the three terms described above.

There will be a few places where the wording will need a bit more than
that, e.g. "... a news server, when injecting articles, MUST/SHOULD
[do whatever]...."

-- 
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: [email-masked]      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

From: Russ Allbery <[email-masked]>
To: [email-masked]
Subject: Re: #1088 Injection-date (Re: Ticket status, November 28, 2005)
Organization: The Eyrie
Date: Thu, 08 Dec 2005 09:29:36 -0800
Sender: [email-masked]

Harald Tveit Alvestrand <[email-masked]> writes:
> Charles Lindsey <[email-masked]> wrote:

>>> 2 for Russ', 1 for Charles' - other opinions?

>> The proper action, if you don't like my suggested NOTE, is "No change".

> I do not agree. There has been enough debate about this single field that 
> it's a Good Thing to be explicit. In my opinion.

Yup.  Not that this changes the numbers any, but I haven't changed my mind
on this.

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

From: Russ Allbery <[email-masked]>
To: [email-masked]
Subject: Re: #1102: Proposed resolution
Organization: The Eyrie
Date: Thu, 08 Dec 2005 09:29:04 -0800
Sender: [email-masked]

Harald Tveit Alvestrand <[email-masked]> writes:

> I propose the following resolution for #1102:

[...]

I wholeheartedly agree with this proposal.

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

To: [email-masked]
Xref: clerew local.usefor:22741
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: #1102
Date: Thu, 8 Dec 2005 16:55:59 GMT
Lines: 33
Sender: [email-masked]

In <[email-masked]> Harald Tveit Alvestrand <[email-masked]> writes:

>I had an offline exchange with the editor, and he seems to think that it's 
>not unreasonable to make the change.

>I'll propose text for a definitions paragraph, and he will use editorial 
>license to make the changes in the body of the document.

Fair enough! My offer to produce a first cut of the needed changes still
stands if Ken wants to take it up.

I am assuming that the two terms to be defined willl be "User Agent" and
"Serving Agent", and that my suggestion to s/serving agent/storage agent/
plus s/news-server/serving agent/ throughout USEPRO is OK.

The other main consequential change in USEPRO will be that section 2.1
(definitions) will be replaced by a statement that the definitions from
USEFOR are adopted (these definitions are now pretty well identical in the
2 documents) and section 2.2 (Defining the Architecture) will remain
largely as it is (intrpducing the overall architecture by defining the
more specific *-agent terms, which are then used throughout the remainder
of USEPRO).

-- 
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: [email-masked]      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

Date: Thu, 08 Dec 2005 15:37:48 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Charles Lindsey <[email-masked]>, [email-masked]
Subject: Re: #1088 Injection-date (Re: Ticket status, November 28, 2005)
Sender: [email-masked]

--On torsdag, desember 01, 2005 11:40:45 +0000 Charles Lindsey 
<[email-masked]> wrote:
>
>> 2 for Russ', 1 for Charles' - other opinions?

> The proper action, if you don't like my suggested NOTE, is "No change".

I do not agree. There has been enough debate about this single field that 
it's a Good Thing to be explicit. In my opinion.

Date: Thu, 08 Dec 2005 15:29:59 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: [email-masked]
Subject: #1102: Proposed resolution
Sender: [email-masked]

I propose the following resolution for #1102:

ADD to the definitions in 1.5:

An "user agent" is software that helps posters submit proto-articles to a 
news server, fetches articles from a news server and presents them to a 
reader, and assists the reader in creating articles and followups.

A "news server" is software which accepts articles from an user agent, 
makes articles available to user agents, and exchanges articles with other 
news servers.

The word "agent" is used when describing requirements that apply to both 
user agents and news servers.

REMOVE from the definitions in 1.5:

"posting agent" ( -> user agent)
"reading agent" ( -> user agent)
"followup agent" ( -> user agent)
"injecting agent" ( -> news server)

CHANGE all occurences of the above + "serving agent", "netnews agents", 
"news agents" into one of the three terms described above.

Makes sense?

Date: Tue, 06 Dec 2005 09:44:49 +0100
From: Harald Tveit Alvestrand <[email-masked]>
To: Frank Ellermann <[email-masked]>, [email-masked]
Subject: Re: #1102
Sender: [email-masked]

I had an offline exchange with the editor, and he seems to think that it's 
not unreasonable to make the change.

I'll propose text for a definitions paragraph, and he will use editorial 
license to make the changes in the body of the document.

--On torsdag, desember 01, 2005 14:47:02 +0100 Frank Ellermann 
<[email-masked]> wrote:

>
> Charles Lindsey wrote:
>
>> I need to know how the terminology is going to be defined in
>> order to make progress on USEPRO.
>
> Sure, but USEPRO is something for 2006, while USEFOR-06 is for
> this year.  I'd prefer to see or create a short text diff. -05
> vs. -06 without the bulk #1102 updates.  The latter is only a
> case of editorial "lillygilding" (Randy's term for some late
> LTRU issues), no chance to get something seriously wrong.
>
> For the other remaining tickets (excl. #1102) it's likely that
> we find some issues in -06, and a short text diff. should help.
>
>                             Bye, Frank
>
>
>

To: [email-masked]
Xref: clerew local.usefor:22739
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: #1102
Date: Mon, 5 Dec 2005 11:01:41 GMT
Lines: 31
Sender: [email-masked]

In <[email-masked]> Frank Ellermann <[email-masked]> writes:

>Charles Lindsey wrote:
> 
>> I need to know how the terminology is going to be defined in
>> order to make progress on USEPRO.

>Sure, but USEPRO is something for 2006, while USEFOR-06 is for
>this year.  I'd prefer to see or create a short text diff. -05
>vs. -06 without the bulk #1102 updates.  The latter is only a
>case of editorial "lillygilding" (Randy's term for some late
>LTRU issues), no chance to get something seriously wrong.

There is already more that has changed since -05 (as documented in
Harald's proposed/accepted texts) than will fit in a short text diff. ISTM
that you are not opposed to making the #1102 change, in which case I might
as well get on and document what I propose. In that case, I would be able
to produce a revised USEPRO as soon as the next USEFOR appears that would
at least be consistent and remove all the duplications that currently
exist. Then we could start discussing USEPRO in detail.

-- 
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: [email-masked]      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

To: [email-masked]
From: Frank Ellermann <[email-masked]>
Subject:  Re: #1102
Date:  Thu, 01 Dec 2005 14:47:02 +0100
Organization:  <URL:http://purl.net/xyzzy>
Lines: 16
Sender: [email-masked]

Charles Lindsey wrote:
 
> I need to know how the terminology is going to be defined in
> order to make progress on USEPRO.

Sure, but USEPRO is something for 2006, while USEFOR-06 is for
this year.  I'd prefer to see or create a short text diff. -05
vs. -06 without the bulk #1102 updates.  The latter is only a
case of editorial "lillygilding" (Randy's term for some late
LTRU issues), no chance to get something seriously wrong.

For the other remaining tickets (excl. #1102) it's likely that
we find some issues in -06, and a short text diff. should help.

                            Bye, Frank

To: [email-masked]
Xref: clerew local.usefor:22737
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: #1088 Injection-date (Re: Ticket status, November 28, 2005)
Date: Thu, 1 Dec 2005 11:40:45 GMT
Lines: 44
Sender: [email-masked]

In <[email-masked]> Harald Tveit Alvestrand <[email-masked]> writes:

>The text that I inserted into the ticket system is (in case people have 
>forgotten):

> This header field MUST be inserted whenever an article is
> injected.
> However, software that predates this standard does not use this
> header, and therefore agents MUST accept articles without the
> Injection-Date header field.

>I think this text is better than what Charles is proposing.
>I don't see anything that is more bizarre than the other uses of MUST in 
>the document.

But I never claimed that those "MUST"s were "bizarre". I said they were
redundant.

There are currently 14 optional header fields defined in USEFOR. If we are
to say "agents MUST accept articles without the XXXX header field" in this
case, why are we not saying the same thing for all the other 13?

And as for Russ's first MUST, USEPRO currently specifies about a dozen
steps that have to be gone through in order to inject an article correctly
(with assorted MUST/SHOULD/MAY wording as appropriate). One of them is
"MUST insert Injection-Date" (with an exception for some rare special
cases where it is already present) and it clearly belongs as one of those
steps. So why repeat it in USEFOR (and what is proposed is technically
incorrect, because of that rare special case)?

The proper action, if you don't like my suggested NOTE, is "No change".

>2 for Russ', 1 for Charles' - other opinions?

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22736
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: I'm back (finally)
Date: Thu, 1 Dec 2005 11:24:11 GMT
Lines: 36
Sender: [email-masked]

In <[email-masked]> Harald Tveit Alvestrand <[email-masked]> writes:

>The feedback I got (not official) was that the 1123 oblique reference was 
>the closest we have come to an official statement; I got one comment saying 
>that at the time Jon Postel was IANA, he said quite clearly that "there 
>will never be a numeric TLD". But I've not managed to find a policy 
>document that says so.

I think all we can do is to proceed on the assumption that John Postel was
correct.

>I've pushed on the dnsext list for the prohibition to be added to 
>draft-eastlake-2606bis, but that hasn't happened so far... meeting some 
>resistance, mostly of the "not the IETF's business" type.

I would have thought it was very much the IETF's business if every IP
address in the traditional form ("123.456.123.456") could also be
potentially a domain-name. I am sure there are lots of existing things
that would break if that were ever to be allowed.

There is currently a guidance statement from ICANN, that I unearthed in
the IANA website, that says ".example" and the like should not be TLDs. I
suppose persuading ICANN to include a remark about numeric TLDs would
resolve the issue (I gather it is already too late to prevent numeric
components at lower levels).

-- 
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: [email-masked]      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

To: [email-masked]
Xref: clerew local.usefor:22735
Newsgroups: local.usefor
Path: clerew!chl
From: "Charles Lindsey" <[email-masked]>
Subject: Re: #1102
Date: Thu, 1 Dec 2005 11:12:08 GMT
Lines: 37
Sender: [email-masked]

In <[email-masked]> Frank Ellermann <[email-masked]> writes:

>Charles Lindsey wrote:

>> I have already offered to write the detailed changes that
>> would be needed.  Looks Like I should go ahead and do that
>> anyway, so that people can see exactly what the consequences
>> would be.

>I'd guess that this will be a rather boring hour with an editor
>resulting in a better readable version of the text (plus a few
>corresponding changes in USEPRO).

>How about waiting for -06, worst case there are still some
>issues fixed in -07, and then offer a -08 for #1102 and WGLC ?

No, because I need to know how the terminology is going to be defined in
order to make progress on USEPRO.

Hopefully, all technical issues will be resolved in time for -06, and -07
will just be a cleanup. So we should be able to start serious progress on
USEPRO once -06 is done.

So I still think I need to embark on the "boring hour with an editor" now,
assuming there is still some possibility the WG might then agree to adopt
it.

-- 
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: [email-masked]      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