Subject: Valid charecter set in DNS

From: "dhiraj Dhiraj" <[email-masked]>
Date: Tue, 16 Apr 2002 21:24:09 -0600

Hi all,
               I have a question regarding the valid character set in
DNS. I have seen RFC 1034, 1123, 2181. It seems RFC 2181 removes the
restrictions of RFC 1034,1123 which says that only  letters, digits, and
hyphen are allowed. I wanted to know whether this interpretation is
correct or not and if it is, then what are the applications that require
other characters? I am aware of that underscores are required bcoz of
the SRV RR. 

RFC 1034 section 3.5: The labels must follow the rules for ARPANET host
names.  They must start with a letter, end with a letter or digit, and
have as interior characters only letters, digits, and hyphen.  There are
also some restrictions on the length.  Labels must be 63 characters or
less.

<domain>      ::= <subdomain> | " "
<subdomain>   ::= <label> | <subdomain> "." <label>
<label>       ::= <letter> [ [ <ldh-str> ] <let-dig> ]
<ldh-str>     ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>
<let-dig-hyp> ::= <let-dig> | "-"
<let-dig>     ::= <letter> | <digit>
<letter>      ::= any one of the 52 alphabetic characters A through Z
in
                  upper case and a through z in lower case
<digit>       ::= any one of the ten digits 0 through 9

RFC 1123 2.1  Host Names and Numbers:  The syntax of a legal Internet
host name was specified in RFC-952 [DNS:4].  One aspect of host name
syntax is hereby changed: the restriction on the first character is
relaxed to allow either a letter or a digit.  Host software MUST support
this more liberal  syntax. Host software MUST handle host names of up to
63 characters and SHOULD handle host names of up to 255 characters.

RFC 2181 11. Name syntax: The DNS itself places only one restriction on
the particular labels that can be used to identify resource records. 
That one restriction relates to the length of the label and the full
name.  The length of any one label is limited to between 1 and 63
octets.  A full domain name is limited to 255 octets (including the
separators).  The zero length full name is defined as representing the
root of the DNS tree, and is typically written and displayed as ".". 
Those restrictions aside, any binary string whatever can be used as the
label of any resource record.  Similarly, any binary string can serve as
the value of any record that includes a domain name as some or all of
its value (SOA, NS, MX, PTR, CNAME, and any others that may be added).
Implementations of the DNS protocols must not place any restrictions on
the labels that can be used.  In particular, DNS servers must not refuse
to serve a zone because it contains labels that might not be acceptable
to some DNS client programs.  A DNS server may be configurable to issue
warnings when loading, or even to refuse to load, a primary zone
containing labels that might be considered questionable, however this
should not happen by default.

Regards
dhiraj

--
to unsubscribe send a message to [email-masked] with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>

---

From: [email-masked]
Date: Wed, 17 Apr 2002 14:13:32 +1000

> other characters? I am aware of that underscores are required bcoz of

	Hostnames and domain names are *different* things and are
	NOT interchangable.  Hostnames have a maximum lenth of 255.
	Domain names have a maximum length of 253 (wire length 255)
	when you restrict the characters to those allowed for hostnames.

	952 is talking about HOSTNAMES.
	1123 is talking about HOSTNAMES.

	1034 is talking about DOMAIN NAMES.
	2181 is talking about DOMAIN NAMES.

	If you ignore the host names that are too long to fit into a
	domain name, hostnames are a subset of domain names.

	You can store hostnames in the DNS.  You can also store other
	things in the DNS which don't have the syntax restrictions of
	hostnames.

> also some restrictions on the length.  Labels must be 63 characters or

	3.5. Preferred name syntax

	Note the word "Preferred".

--
Mark Andrews, Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: [email-masked]

---

From: Danny Mayer <[email-masked]>
Date: Wed, 17 Apr 2002 20:38:17 -0500

>other characters? I am aware of that underscores are required bcoz of

This is incorrect.  Microsoft requires underscores it for its Active Directory
information. It's not part of any RFC for SRV Records.

         Danny

---

From: Robert Elz <[email-masked]>
Date: Thu, 18 Apr 2002 13:05:14 +0700

Date:        Wed, 17 Apr 2002 20:38:17 -0500
    From:        Danny Mayer <[email-masked]>
    Message-ID:  <[email-masked]>

  | It's not part of any RFC for SRV Records.

Have you ever looked at RFC2782 ?

kre

---

From: Kenneth Porter <[email-masked]>
Date: 18 Apr 2002 12:59:24 -0700

> Have you ever looked at RFC2782 ?

Don't feel bad, I got burned by this a few months back. The newer RFC
wasn't in the BIND distribution at the time. It specifies the prefixing
of underscores on service and protocol names to avoid collision with
other names in the DNS namespace.

http://www.ietf.org/rfc/rfc2782.txt