[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: msg-id
Charles Lindsey wrote:
> you can't say "see RfC 2821" when the syntax you give bears
> no resemblance to anything actually in RFC 2821.
ACK, please replace 2821 by 3513 for IPv6, and any _good_ RfC
defining IPv4 literals. Unfortunately 2821 isn't good enough.
> our remit is to be compatible with RFC 2822 wherever
> possible.
We're also trying to be compatible with 1036, s-o-1036, and the
finished NNTP draft (or whatever its status is). The proposed...
| address-literal = 1*( atext / "." / ":" )
...is "compatible" with 2822, if you take it as "proper subset",
and that's in fact what you've done so far: msg-id-core instead
of msg-id, absolutely no ">", even if it's quoted, and no more
NO-WS-CTL.
If your strategy is as little derivations from 2822 as possible,
then you in fact allow stuff like <unique@[212.82.226.0/24]> or
<unique@[http://purl.net/xyzzy/]> as Message-ID. Do you really
want this ?
> Now our Chair _might_ allow us to go for something much
> simpler such as you suggested, and it would indeed be tidier,
> but there is no _technical_ requirement to do so
The technical requirement to generate proper Message-IDs is to
use an FQDN as RHS. And only if it's absolutely necessary an
address literal. But not a CIDR, URL, ISBN. SSN, phone number,
avian carrier license number, or what else. Not because that
is technically impossible, but because implementors will get it
wrong, and that could cause technical trouble somewhere else,
where you don't expect it and don't need it.
> mdomain = dot-atom-text / ("[" no-fold-literal "]")
Please don't use 2822 terms like "no-fold-literal" with a new
definition. Many UAs support news and mail, and an implementor
could be tempted to use the first definition he finds. You can
use "address-literal", it's a hint about the intended semantics
no matter what the syntax says. Same idea as for the new terms
s/id-right/mdomain/ and s/id-left/unique/
> no-fold-literal = "[" *( mdtext / "\[" / "\]" / "\\" ) "]"
> mdtext = %d33-61 / ; printable US-ASCII
> %d63-90 / ; not including
> %d94-126 ; ">", "[" , "]", or "\"
Okay, that's the minimal derivation from RfC 2822. OTOH it's
something like a maximal derivation from the semantics of an
address literal, let alone 1036 and its son.
[unique-* stuff]
> that syntax would work, though I am not so convinced by the
> names you want to give to the various pieces (particularly
> the "unique" stuff, since the id-left has no requirement to
> be globally unique on its own
True, but it's the name used in RfCs 1036 and 1738. And if you
have a some = thing production then it's natural to use "some"
as prefix for related terms "some-begin", "some-item", etc., as
in "path", "path-list", "path-identity", and "path-delimiter".
Maybe unique-text would be better than unique-literal for your
general 2822-style, although "..", "\\", '\"' are no char.s (?)
Bye, Frank