[unisog] DNS Hostname and SMTP Helo
jtk at depaul.edu
Tue Jan 30 22:20:20 GMT 2007
On Tue, 30 Jan 2007 13:54:03 -0800
Tom Perrine <tperrine at scea.com> wrote:
> Depends on whether or not you want to get email from 3com, among others.
> (They were the driving force behind the change in domain name syntax
> rules back in the day. It was an amusing discussion to watch.)
I remember the four11.com example myself. :-)
> Also 3m.com, etc.
Take note folks, there are domain names and host names. I asked a
similar question of one of my resident DNS geeks (Ed Lewis) awhile
back. I'm sure he won't mind if I just paste his authoritative (pun
intended :-) answer about this (wasn't the exact same question, but
There are two valid lists...
For a domain name, anything is valid, all 8 bits worth of value. Of
course, the ASCII upper case values are considered equal to the ASCII
lower case values which is the true problem for IDN. 
For a host name - which most people confuse with a domain name - the
list is given in RFC 1123. Off hand I forget that list.
The difference between a domain name and a host name is that a host
name is a domain name that is intended to be used as a host name.
The RDATA of an NS record is a host name (as well as a domain name).
The signer of an RRSIG is a domain name (not necessarily a host
name). It's like object oriented inheritance, a host name is a
subclass of domain name with some restrictions placed on it.
The ultimate confusion is that olde tyme registry designers confused
the two and decided to restrict registrations to host name syntax.
That is why there seems to have been a change is what is legal. The
syntax definitions haven't changed, it's that registry rules have
been corrected (in places).
 - A footnote, in RFC 1034/1035, there are two definitions of
valid domain names. One is "on-the-wire" which is any 8-bit value.
The other is the cursed zone file definition which has escapes for
some characters (like \.) and numeric escapes (like \DDD).
The biggest engineering mistake in DNS is the owner name before
class. The biggest documentation bug is the definition of the zone
file format in the first RFCs.
More information about the unisog