[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RFC2822bis, Message-IDs and USEFOR



Because of some unfortunate properties of Message-IDs as defined in
RFC2822, USEFOR contains some extremely ugly syntax so as to permit the
greatest possible subset of what RFC2822 allows that will nevertheless
work in Usenet. But the fact that it succeeds in doing just that does not
make it any the less ugly :-( .

We agreed way back that, when RFC2822 came up for revision, we should
press for changes that would make it more Usenet-friendly.

That revision has now taken place, and is on the verge of Last Call
(draft-resnick-2822upd-06.txt). Frank and I have been campaigning
throughout for suitable changes to be made, with occasional but useful
assistance from Russ and Alexei, and, after much persistance, we have
gained most of what we asked for (even more than I ever expected).

So, RFC2882-bis changes the suntax of <msg-id> in three ways:
   1. left of the '@', <no-fold-quote> is completely gone (leaving just
      <dot-atom-text>)
   2. right of the '@', <quoted-pair> has disappeared from
      <no-fold-literal> (indeed, it is gone from <domain-literal> too)
   3. NO-WS-CTL has also disappeared from <quoted-pair> (and from
      <quoted-string> too)

So, starting from USEFOR <msg-id> being a subset of the RFC2822 <msg-id>,
it is now almost the other way around - we allow too much! The only
remaining differences are that we still need to forbid '>', and we impose
a 250 character limit on the overall length. And I decided not to push my
luck any further by trying to fix those. I reckon we could live with them.

So the question now arises of whether we should try to bring USEFOR into
line. Granted that USEFOR has now passed its last call (even though not
yet published as an RFC), it would be necessary for us to seek leave from
the IESG to take it back for one further Draft (there is precedent for
that, since it happened that way for the NNTP draft that is now RFC3977).
I think the changes necessary are rather more than could be done at the
final AUTH48 stage.

The change that I would propose would simply be to remove that ugly syntax
and replace it with something pretty close to what is in RFC2822-bis. The
only differences needed would be to forbid '>' in <dtext> and to impose
that 250 character limit, and to apply suitable word-smithing to bring
everything else into line.

We MIGHT go further by basing USEFOR as a whole on RFC2822-bis rather than
on RFC2822. But we should make it clear before we embark on this exercise
that NOTHING else is to be changed that does not arise directly from the
RFC2822-bis changes. We have already achieved consensus on everything else
in USEFOR, and I have no desire at all to change any of that.

{The only other major difference between USEFOR and RFC2822 is that SP
after ':' in headers. It soon became clear that they were not going to
budge on that, although there was some support for a non-normative NOTE
suggesting that such as SP was a good practice for reasons of
interoperability with Usenet (and such a NOTE might yet get in).}

-- 
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131 Fax: +44 161 436 6133   Web: http://www.cs.man.ac.uk/~chl
Email: chl@xxxxxxxxxxxxxxxx      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