On Fri, 9 Sep 2005, Frank Ellermann wrote:
A better phrasing in ABNF would be
Domain = (sub-domain *("." sub-domain))
No, that's a bad idea, existing software might check the old
"at least one dot" rule.
This is very arguable. It's an interop bug between 821 and 2821 and it
depends which you think takes precedence. The "at least one dot" rule is
new in 2821, not old. The old rule, still enshrined in the standards and
in all good email software, is zero or more dots none of them trailing.
There are several issues with the domain + literal ABNF:
- top priority, crap like "helo xyzzy" or "ehlo oemcomputer"
is acceptable for an MSA (ater SMTP AUTH or similar), but
not from unknown strangers. It's _wrong_ for (2)821(bis).
"We" (I hope) want to harden both "hellos", among others.
At the moment this is an operational problem, not a protocol problem. The
standard, backed up by decades of practice, is too weak for an MTA to
treat the EHLO hostname with any strictness. What is needed is a protocol
which allows a domain to say "our EHLO hostnames are strictly correct, and
may be verified thusly"; such a protocol is beyond the scope of SMTP. A
separate protocol, such as CSA, is the right approach.
It is wrong to argue about EHLO domain verification in the context of
2821bis, because it has always been outside pure SMTP.
- "TLD is also a host" is a special case, there aren't many
TLDs.
Mail domains and host names are not the same things. 2821bis needs to
clarify the distinction, so I'll excuse your error :-)
If you are sure that "optional trailing dot" won't
work we could still require a trailing dot only for these
special cases: [TLDs]
That would just compund the interop problem.
IMHO we should adopt the <toplabel> idea in 2821bis. While
2821 is clear that a <literal-address> always has square
brackets, it's not clear about what is certainly not a FQDN.
FQDNs cannot be defined syntactially; you must refer to the DNS.
Already discussed here some months ago (with Hector, Claus,
John, and others), and IIRC Claus said that the 2821-syntax
forces him to query the DNS for crap like EHLO 123.45.67.89
Yes. This is a result of the text in RFC 1123 about domain names versus IP
addresses. It says that if the protocol has no syntactic mechanism for
distinguishing them (such as domain literals in SMTP) then all-numeric
strings should be treated as domain names.
Sadly, SMTP servers are given a lot of junk which they then look up in the
DNS. Bare all-numeric domain names are just the start of it. I think this
is an operational or quality of implementation problem.
By adopting a <toplabel> rule found elsewhere (e.g. 3696) we
could silently fix this in 2821bis.
3696 is sloppy. It also does not define <toplabel>.
Tony.
--
f.a.n.finch <dot(_at_)dotat(_dot_)at> http://dotat.at/
BISCAY: WEST 5 OR 6 BECOMING VARIABLE 3 OR 4. SHOWERS AT FIRST. MODERATE OR
GOOD.