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

Re: Issues outstanding



Charles Lindsey wrote:

>>| msg-id-core     =  "<" unique "@" mdomain ">"
>>| mdomain         = dot-atom-text / ( "[" dot-atom-text "]" )

> That is indeed a subset of RFC 2822, but if you are going to
> restrict what is allowed in a no-fold-literal, then you may
> as well go the whole hog and adopt the RFC 2821 restriction
> (i.e. to an ipv4 or ipv6 address).

Yes, but the 2821 definitions are not exactly what we want for
a Message-ID.  Some points:

- at least one dot, fine for SMTP, TLDs wanting to be a host
  like TV can be ignored.  Less convincing for us, if we want
  to allow UUCP names.
- ldh-string, I don't see why <unique@xxxxxxxxxxxxxxxxx> is a
  bad idea ("_" is not in ldh-string), dito other atext char.s
  not covered by ldh-string
- simplicity, a memo about news articles is not in the business
  of defining address literals, that's the job of other texts,
  and so far the results are a proper subset of [dot-atom-text]
- if a really stupid implementation get's some things wrong, at
  least dot-atom-text should work whereever it's used.  It's
  essentially the same idea as your msg-id-core, no [CFWS] etc.

>>| unique-text     = %d33 / %d35-61 / ; no WSP, no DQUOTE
>>|                   %d63 / %d65-91 / ; no ">", no "@"
>>|                   %d93-127         ; no "\", no CTL

> that is not a subset of RFC 2822

Then it's wrong.  And allowing ":" would be very dubious, this
could result in <news:x@example> or <mailto:x@example>, where
a browser (or human) would be forced to guess, is it a URL or
a complete Message-ID ?

> something along the lines you suggest might be in order

How about this (= your idea of a "must-quote" again):

| unique       = dot-atom-text / ( DQUOTE unique-quote DQUOTE )
| unique-quote = 1*([dot-atom-text] unique-lit [dot-atom-text])
| unique-lit   = ["."] unique-text ["."]
| unique-text  = "(" / ")" / "<" / ; all specials, minus ">",
|                "[" / "]" / ":" / ; minus DQUOTE, minus "\",
|                ";" / "@" / ","   ; and minus "." (dot)

If you insist on it add the quoted-pairs "\\" and ("\" DQUOTE).
The unique-quote and unique-lit productions ares not parser-
friendly, please improve it somehow.

> please bear in mind that we shall want to sell back whatever
> we decide to the next revision of RFC 2822, and the more we
> change the harder that will be.

ACK.  There is already a strange restriction, the limit 250 for
a complete Message-ID in NNTP.  AFAIK a domain can have up to
253 characters (actually 255 minus overhead used for DNS), and
2822 mumbles something about 64 char.s for the local part.  If
I add this I arrive at 320 (incl. <@>) instead of 250.  Nothing
we can change, but it's still odd.

                        Bye, Frank