Subject: Re: Valid charecter set in DNS

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

> 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. 
> 

	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.

> 
> 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.

	3.5. Preferred name syntax

	Note the word "Preferred".

> 
> <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/>
--
Mark Andrews, Internet Software Consortium
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: [email-masked]

---

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: 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: 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