ietf-smtp
[Top] [All Lists]

Re: domain name definition in RFC2821

2007-03-20 09:11:40

Frank,

This is a bit more complex than you suggest.

--On Tuesday, March 20, 2007 02:24 +0100 Frank Ellermann <nobody(_at_)xyzzy(_dot_)claranet(_dot_)de> wrote:


John C Klensin wrote (2006-04-22 on the SMTP list):

Unless others disagree with Ned's (IMO extremely coherent)
analysis, I'll pull the changes out of 2821bis.

Did you forget this in version 01, or did you change your
mind ?


I've reread the relevant notes.

The change that was inserted and then removed was to the definition of "Domain" in section 4.1.2. The change permitted "label.[...]label." as well as "label.". This provision in 2.3.5 covers only the TLD case. Permitting "label.[...]label." was clearly a mistake on my part.

To refresh everyone's memories (borrowing heavily from Ned's note) and try to be sure that we get this sufficiently resolved that we don't have to discuss it again (I intend to make the text very clear, one way or the other):

I do not believe that there is any remaining question about trailing periods on multiple-label FQDNs. They are prohibited. There is also no question about whether anything other than an FQDN is permitted between SMTP servers on the network: all domain names MUST be FQDNs and there is no possibility for ambiguity.

The question is how the email address
     foo(_at_)bar
is to be interpreted. Historically, the interpretation has, I believe, almost always been that this is an abbreviated name: not suitable for use on the public Internet, but very common in localized environments. There are special provisions in Message Submission (RFC4409) for this sort of thing and, because it still permits use for submission, 2821 does not prohibit it.

But, if it is interpreted that way, then, if the operators of Frank's top-level domain concluded that they wanted to accept mail at the TLD itself,
   foo(_at_)de
would be problematic. _Some_ method would be required to indicate that it is actually a TLD.

So the intent of the original remark in 2.3.5 was to permit
  foo(_at_)de(_dot_)
for the one-label case only.

So as to avoid going around the loop again, I propose to take one of two actions in the text, and request input from the group as to which one to pick.

(1) I replace the existing text in 2.3.5 by a comment reminding people that single-label domains MUST NOT appear between SMTP servers unless they refer to TLDs and that any implementation intending to use single-label domains as abbreviations must be sure to have a mechanism for distinguishing between such abbreviations and FQDNs.

(2) I tune the 2.3.5 text slightly to clearly permit the trailing period on single-label domains, i.e., for TLDs only. If I do that, then the syntax for Domain becomes

  Domain = ( sub-domain 1*("." sub-domain)) / sub-domain "." )

My instinct and understanding right now is that the first option reflects the dominant current practice as we understand it and ought to be the choice here. Anyone who disagrees should please speak up quickly and clearly.

     john

<Prev in Thread] Current Thread [Next in Thread>