[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