John C Klensin wrote:
> My problem is that I don't know how to tell the three cases > apart (except by looking at RR type or Class definitions). If > you believe [...] What I believe is that DNS systems store and exchange raw octet values. Secondary to that point, the only time that ASCII enters into the equation is when the octet values need to be interpreted, as in: (1) the 7-bit values are rendered for display, and (2) the 7-bit values in the A-Z and a-z ranges from ASCII are compared. In all other cases, the data is treated as simple octet values. This includes ASCII character values (NB the case-specific storage rules), the non-character ASCII values, and the eight-bit non-interpreted codes. Tertiary to that point, the rules for hostnames are recommendations which act as a higher-layer octet-range mask, but this does not change the storage and transfer formats, nor does it change the interpretation rules. Instead it only defines a reasonable subset of characters with high probabilities of successful interpretation. In short, all code values in the DNS database and message are treated as octets. If a domain name contains a seven-bit code, that value must be treated as a precise ASCII character. If a domain contains an eight-bit code, then that code must be treated as undefined data. If the domain name needs to be compared with another domain name, all of the codes must be treated as eight-bit values, with the exception of the A-Z and a-z ranges. I also believe that it is entirely possible for people to think way too much about this. Finally, I also believe that any subsequent discussion on this matter should be directed to namedroppers. This WG is not the proper forum for any advancement of this discussion. -- Eric A. Hall http://www.ehsco.com/ Internet Core Protocols http://www.oreilly.com/catalog/coreprot/
