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

msg-id (was: Issues outstanding)



Frank Ellermann wrote (another error):

  [Charles said:]
>> adopt the RFC 2821 restriction (i.e. to an ipv4 or ipv6
>> address).

> 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]

Nice argument, but completely wrong, ":" is not in atext, but
RfC 3513 2.2 and other texts with address literals need it.
We could get away with...

| mdomain          = dot-atom-text / ("[" address-literal "]")
| address-mliteral = 1*( atext / "." / ":" )    ; see RfC 2821

...if the idea is to enumerate the legal char.s without the
semantics.  Otherwise copying address-literals from 2821 is
better, as Charles said.

A simplified solution for the "must-quote" double-dots problem:

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

I've replaced 2*(".") in unique-lit by ".." in unique-text,
and any leading or trailing 1*(".") by "." in unique-quote,
a leading or trailing 2*(".") is handled by unique-text "..".

                      Bye, Frank