> > > --On Friday, 28 September, 2007 09:48 +1000 Mark Andrews > <Mark_Andrews@xxxxxxx> wrote: > > >... > >> It's not. Even without IPv6, having search domains means you > >> can get unexpected results. If that's not acceptable, don't > >> complain, but put a period behind your FQDNs. > > > > Please state were in RFC 952 a final period is legal in > > a hostname. > > > > Remember applications take HOSTNAMES not DOMAIN NAMES. > > There are HOSTNAMES that you cannot store in the DNS. > > There are DOMAIN NAMES that are not legal HOSTNAMES. > > Mark, your recollection and understanding of history and > vocabulary may be different from mine (and probably is), but I > think you are getting confused by some informal terminology and > risking confusing others even further. > > RFC 952 in fact prohibits trailing periods in domain names used > as host names, but 952 is a very early document, superceded by > all sorts of things both formally and informally. I note, for > example, that it has been a rather long time since every > boundary router on the network (a "gateway") had a name ending > in "-GW" or "-GATEWAY". Please don't read sentences of 952 out > of context and consider them binding. > > You will not find the "hostname" versus "domain" distinction > made in RFC 1034. Actually will find the distinction made. Please go re-read RFC 1034 and RFC 1035. Mark 3.5. Preferred name syntax The DNS specifications attempt to be as general as possible in the rules for constructing domain names. The idea is that the name of any existing object can be expressed as a domain name with minimal changes. However, when assigning a domain name for an object, the prudent user will select a name which satisfies both the rules of the domain system and any existing rules for the object, whether these rules are published or implied by existing programs. For example, when naming a mail domain, the user should satisfy both the rules of this memo and those in RFC-822. When creating a new host name, the old rules for HOSTS.TXT should be followed. This avoids problems when old software is converted to use domain names. Note: NS specifies a HOST. 3.3.11. NS RDATA format +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / NSDNAME / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ where: NSDNAME A <domain-name> which specifies a host which should be authoritative for the specified class and domain. Note: CNAME is a general DOMAIN. 3.3.1. CNAME RDATA format +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ / CNAME / / / +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ where: CNAME A <domain-name> which specifies the canonical or primary name for the owner. The owner name is an alias. > 1034 and its conceptual predecessors > discusses the domain name system as a replacement for the > hostname one and even notes (correctly) that different > applications have different syntax rules for names for hosts. > To make the ambiguity worse, when the term "host" or "hostname" > is used in applications in conjunction with the DNS, that term > often refers to the leaf-note label and not to the FQDN. See, > for example, section 3.7 of RFC 821, which describes > "Fred.Cambridge.UK" as a possible "host-and-domain identifier". > However, the familiar "mailbox" is defined as > <mailbox> ::= <local-part> "@" <domain> > Note that it is not > <local-part> "@" <hostname> > or > <local-part> "@" <host-and-domain> > > RFC 1034 also seems to believe that all fully-qualified (aka > "absolute") domains names, including those used to refer to > hosts, end in a period, even if that period is typographically > omitted for convenience. > Of course, it also contains a > masterwork of apparently-circular definition: "A domain is > identified by a domain name, and consists of that part of the > domain name space that is at or below the domain name which > specifies the domain." > > While 1034 suggests that the trailing period is always > permitted, even if it is implied, Section 2.3.1 of 1035 gives a > syntax that doesn't permit them. But it does so without trying > to distinguish between a "host" and a "domain". In particular, > it says that [all of] "The labels must follow the rules for > ARPANET host names", which is ultimately a reference to 952 > although 1035 repeats the rule. That rule is applied to all > labels, not just the leaf one or ones identifying hosts. > > As an indirect illustration of this, note that 1035 Section 3.5 > describes IN-ADDR.ARPA as supporting "host address to host name > mapping". That mapping is to an FQDN, not a label or "hostname" > as you use the term above. It does for almost all possible hostnames. Maximum length hostnames can't fit into the DNS. For that mapping to be valid the data encoded in the FQDN must map back to a valid hostname. If I put "!@#@#$%%^&^&*$%^.example.net" in that PTR record would you claim that it is a valid hostname? The DNS is much more than a distributed HOST <-> ADDRESS mapping mechinism. It was designed to be general. This was a good thing. However that does mean that you need to be aware of what is valid and what is invalid as the DNS itself does protect you when you get it wrong. > RFC 1123 makes explicit provision for trailing dots in > application interfaces to domain names ("hosts") while noting > that RFC 822 (and 821) do not permit that syntax in the > protocols. Nothing has ever permitted a UI designer, even for a > mail-related program, from accepting the trailing dot as long as > it is removed (and any searching or aliases resolved) before the > name goes out on the wire. But forcing people to put the period in when we have stuffed up the API is just stupid. RFC 1535 also shows that RFC 1123 was wrong in this respect. An absolute name should always match without having to remember to put periods at the end. The common search strategy didn't do this along with automatically created search lists lead to the *.EDU.COM fiasco. The search strategy was modified as reaction to RFC 1535. It however need to be modified further. I've been arguing this for years. Getting others to see the issue has been a problem. Remember when RFC 1123 and RFC 1535 were written the search strategy was to try the entered name last. That also ment you often needed to skip across wildcard MX records so the search didn't stop on a NODATA response. If we had though to stop on NODATA as well as trying the name as entered first when it had multiple labels than I suspect there wouldn't be a issue now. However the changes in response to RFC 1535 didn't do that and we need a RFC that describes how to do searching correctly. > So I believe the distinction you are trying to make is not > historically supported, not particularly helpful, ambiguous, and > probably just plain wrong. > > > regards, > john > -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: Mark_Andrews@xxxxxxx _______________________________________________ Ietf@xxxxxxxx https://www1.ietf.org/mailman/listinfo/ietf