COM/NET informational message

E.B. Dreger eddy+public+spam at noc.everquick.net
Fri Jan 3 19:15:43 UTC 2003


EL> Date: Fri, 3 Jan 2003 13:44:53 -0500
EL> From: Edward Lewis


EL> The DNS protocol is not 8-bit safe, much less any
EL> implementations of it.  This is because ASCII upper case
EL> characters are down cased in comparisons.  I.e., the

My point is there's no need to force chars <= 0x7f if DNS servers
are properly implemented.  If they're not properly implemented,
why not, and whose fault is that?  Catering to bad or broken
implementations instead of following standards is not a good way
to ensure interoperability.

DNS labels are encoded by a one-octet length representation
followed by that number of octets, with no restrictions on the
content of the octets.  Show me where an RFC says something to
the extent of "labels and <any type of> RR MUST NOT contain
characters >= 0x7f" that rescinds 1035.

Yes, comparisons are case-insensitive.  So what?  strcasecmp()
works on ASCII strings.  Now it must work on <new encoding x>.
Why not let <new encoding x> be UTF-8, something programmers
should support already?  Maybe MS-style Unicode encoding?  Why
add yet another encoding?!

I fear I may be straying OT, for this is layers 6/7...


Eddy
--
Brotsman & Dreger, Inc. - EverQuick Internet Division
Bandwidth, consulting, e-commerce, hosting, and network building
Phone: +1 (785) 865-5885 Lawrence and [inter]national
Phone: +1 (316) 794-8922 Wichita

> Network Working Group                                     P. Mockapetris
> Request for Comments: 1035                                           ISI
>                                                            November 1987
>
> 2.3.3. Character Case
>
> For all parts of the DNS that are part of the official protocol, all
> comparisons between character strings (e.g., labels, domain names, etc.)
> are done in a case-insensitive manner.  At present, this rule is in
> force throughout the domain system without exception.  However, future
> additions beyond current usage may need to use the full binary octet
> capabilities in names, so attempts to store domain names in 7-bit ASCII
> or use of special bytes to terminate labels, etc., should be avoided.
>
> When data enters the domain system, its original case should be
> preserved whenever possible.  In certain circumstances this cannot be
> done.  For example, if two RRs are stored in a database, one at x.y and
> one at X.Y, they are actually stored at the same place in the database,
> and hence only one casing would be preserved.  The basic rule is that
> case can be discarded only when data is used to define structure in a
> database, and two names are identical when compared in a case
> insensitive manner.
>
>
> 3.3. Standard RRs
>
> The following RR definitions are expected to occur, at least
> potentially, in all classes.  In particular, NS, SOA, CNAME, and PTR
> will be used in all classes, and have the same format in all classes.
> Because their RDATA format is known, all domain names in the RDATA
> section of these RRs may be compressed.
>
> <domain-name> is a domain name represented as a series of labels, and
> terminated by a label with zero length.  <character-string> is a single
> length octet followed by that number of characters.  <character-string>
> is treated as binary information, and can be up to 256 characters in
> length (including the length octet).

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Date: Mon, 21 May 2001 11:23:58 +0000 (GMT)
From: A Trap <blacklist at brics.com>
To: blacklist at brics.com
Subject: Please ignore this portion of my mail signature.

These last few lines are a trap for address-harvesting spambots.
Do NOT send mail to <blacklist at brics.com>, or you are likely to
be blocked.




More information about the NANOG mailing list