Re: Case sensitivity of RDATA in PTR records

Mark Andrews <[email protected]>
Newsgroups gmane.ietf.dnsext
Message-ID <[email protected]>
In message <8989710DADDCF44180C6C9FEA3F67C4E4297F7ED@SINEX14MBXC416.southpacific.corp.microsoft.com>, Vi
thalprasad Gaitonde writes:
>
> Is a DNS server expected to preserve the case of domain names in resource
> record data of PTR records.
>
> As per RFC 4343 - Domain Name System case insensitivity
> clarification<http://tools.ietf.org/html/rfc4343>, section 4 says -
> While ASCII label comparisons are case insensitive,
> [STD13<http://tools.ietf.org/html/rfc4343#ref-STD13>] says case MUST be
> preserved on output and preserved when convenient on input.
>
> But RFC RFC2535 - Domain Name System Security Extensions  section 8.1
> says -
> 8.1 Canonical RR Form
>
>    For purposes of DNS<http://www.bind9.net/rfc> security, the canonical
> form for an RR is the
>    wire format of the RR with domain names (1) fully expanded (no name
>    compression via pointers), (2) all domain name letters set to lower
>    case, (3) owner name wild cards in master file form (no substitution
>    made for *), and (4) the original TTL substituted for the current
>    TTL.
>
> RFC 3597 mentions
> DNSSEC<http://www.dnssec.net/> Canonical Form and Ordering
>
>    DNSSEC<http://www.dnssec.net/> defines a canonical form and ordering
> for RRs [RFC 2535<http://www.rfc-archive.org/getrfc.php?rfc=2535>]
>    (section 8.1).  In that canonical form, domain names embedded in the
>    RDATA are converted to lower case.
>
> Are these standards contradicting vis-a-vis case (in)sensitivity of
> domain names. Or is the canonical form definition only  for constructing
> SIG RRs as mention in RFC 2535 section 8 -
> "A canonical form and ordering within an RRset is necessary in
> consistently constructing and verifying SIG RRs"

No, they are not contadictory.  For the purposes of sorting the
for records "B.example", "a.example", "[.example" and "C.example"
sort like this for:

	DNSSEC order:
		[.example
		a.example
		B.example
		C.example

Note case is preserved.

For comparison 
	ASCII order:
		B.example
		C.example
		[.example
		a.example

When signing or verifing you treat "B.example" as if it had been entered as
"b.example".

When transfering a zone. You look for a previous "B.example" (after
expanding compression pointers) if you have a record with "B.example"
in it when generating the compression pointer.  You do NOT look for
"b.example".  If you can't find "B.example", you add the label "B"
then look for "example" not "EXAMPLE" or "ExAmPlE".

Mark

> Thanks,
> Prasad

-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: [email protected]
_______________________________________________
dnsext mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsext
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.