draft-ietf-dnsext-insensitive-01.txt   draft-ietf-dnsext-insensitive-02.txt 
INTERNET-DRAFT Donald E. Eastlake 3rd INTERNET-DRAFT Donald E. Eastlake 3rd
Clarifies STD0013 Motorola Laboratories Clarifies STD0013 Motorola Laboratories
Expires August 2003 February 2003 Expires August 2003 February 2003
Domain Name System (DNS) Case Insensitivity Clarification Domain Name System (DNS) Case Insensitivity Clarification
------ ---- ------ ----- ---- ------------- ------------- ------ ---- ------ ----- ---- ------------- -------------
<draft-ietf-dnsext-insensitive-01.txt> <draft-ietf-dnsext-insensitive-02.txt>
Donald E. Eastlake 3rd Donald E. Eastlake 3rd
Status of This Document Status of This Document
Distribution of this document is unlimited. Comments should be sent Distribution of this document is unlimited. Comments should be sent
to the DNSEXT working group at namedroppers@ops.ietf.org. to the DNSEXT working group at namedroppers@ops.ietf.org.
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC 2026. Internet-Drafts are all provisions of Section 10 of RFC 2026. Internet-Drafts are
skipping to change at page 2, line 5 skipping to change at page 1, line 42
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
Domain Name System (DNS) names are "case insensitive". This document Domain Name System (DNS) names are "case insensitive". This document
explains exactly what that means and provides a clear specification explains exactly what that means and provides a clear specification
of the rules. This clarification should not have any interoperability of the rules. This clarification should not have any interoperability
consequences. consequences.
Copyright (C) 2003 The Internet Society. All Rights Reserved.
INTERNET-DRAFT DNS Case Insensitivity INTERNET-DRAFT DNS Case Insensitivity
Acknowledgements Acknowledgements
The contributions to this document of Rob Austein, Olafur The contributions to this document of Rob Austein, Olafur
Gudmundsson, Daniel J. Anderson, Alan Barrett, and Andrew Main are Gudmundsson, Daniel J. Anderson, Alan Barrett, Dana, Andrew Main, and
gratefully acknowledged. Scott Seligman are gratefully acknowledged.
Table of Contents Table of Contents
Status of This Document....................................1 Status of This Document....................................1
Abstract...................................................1 Abstract...................................................1
Acknowledgements...........................................2 Acknowledgements...........................................2
Table of Contents..........................................2 Table of Contents..........................................2
1. Introduction............................................3 1. Introduction............................................3
skipping to change at page 4, line 25 skipping to change at page 4, line 25
octets, the first octet having the value of the first three digits octets, the first octet having the value of the first three digits
considered as a decimal number and the second octet being the considered as a decimal number and the second octet being the
character code for the fourth decimal digit. character code for the fourth decimal digit.
Octets, other than those corresponding to the ASCII digits 0 through Octets, other than those corresponding to the ASCII digits 0 through
9, can also be protected from recognition, so that they will be 9, can also be protected from recognition, so that they will be
treated as a normal label character, by a second convention: treated as a normal label character, by a second convention:
preceding them with a back-slash. This is the most commonly used preceding them with a back-slash. This is the most commonly used
technique for protecting back slash ("\") and period ("."). However, technique for protecting back slash ("\") and period ("."). However,
it is advisable to avoid using this on other than printing ASCII it is advisable to avoid using this on other than printing ASCII
characters. characters to avoid implementation difficulties.
2.2 Example Labels with Escapes 2.2 Example Labels with Escapes
The first example below shows embedded spaces and a period (".") The first example below shows embedded spaces and a period (".")
within a label. The second one show a 4 octet label where the second within a label. The second one show a 4 octet label where the second
octet has all bits zero and the third octet has all bits one. octet has all bits zero and the third octet has all bits one.
Donald\032E\.\032Eastlake\0323rd.example. Donald\032E\.\032Eastlake\0323rd.example.
or a\000\255z.example. or a\000\255z.example.
skipping to change at page 5, line 48 skipping to change at page 5, line 48
As described in [STD 13] and [RFC 2929], DNS has an additional axis As described in [STD 13] and [RFC 2929], DNS has an additional axis
for data location called CLASS. The only CLASS in global use at this for data location called CLASS. The only CLASS in global use at this
time is the "IN" or Internet CLASS. time is the "IN" or Internet CLASS.
The handling of DNS label case is not CLASS dependent. The handling of DNS label case is not CLASS dependent.
3.2 Extended Label Type Case Insensitivity Considerations 3.2 Extended Label Type Case Insensitivity Considerations
DNS was extended by [RFC 2671] to have additional label type numbers DNS was extended by [RFC 2671] to have additional label type numbers
available. (The only such type defined so far it the BINARY type [RFC available. (The only such type defined so far is the BINARY type [RFC
INTERNET-DRAFT DNS Case Insensitivity INTERNET-DRAFT DNS Case Insensitivity
2673].) 2673].)
The ASCII case insensitivity conventions, or case folding, only apply The ASCII case insensitivity conventions, or case folding, only apply
to ASCII labels, that is to say, label type 0x0, whether appearing to ASCII labels, that is to say, label type 0x0, whether appearing
directly or invoked by indirect labels. directly or invoked by indirect labels.
4. Case on Input and Output 4. Case on Input and Output
skipping to change at page 6, line 42 skipping to change at page 6, line 42
comparison specified above is done. Thus such optimization MAY comparison specified above is done. Thus such optimization MAY
destroy the output preservation of case. This type of optimization is destroy the output preservation of case. This type of optimization is
commonly called "name compression". commonly called "name compression".
4.2 DNS Input Case Preservation 4.2 DNS Input Case Preservation
Originally, DNS input came from an ASCII Master File as defined in Originally, DNS input came from an ASCII Master File as defined in
[STD 13]. DNS Dynamic update has been added as a source of DNS data [STD 13]. DNS Dynamic update has been added as a source of DNS data
[RFC 2136, 3007]. When a node in the DNS name tree is created by such [RFC 2136, 3007]. When a node in the DNS name tree is created by such
input, no case conversion is done and the case of ASCII labels is input, no case conversion is done and the case of ASCII labels is
preserved if they are for nodes being creted. However, no change is preserved if they are for nodes being created. However, no change is
made in the name label on nodes that already exist is the DNS data made in the name label on nodes that already exist in the DNS data
being augmented or updated. It is quite common for higher level nodes being augmented or updated. It is quite common for higher level nodes
to already exist. to already exist.
For example, if data with owner name "foo.bar.example" is input and For example, if data with owner name "foo.bar.example" is input and
then later data with owner name "xyz.BAR.example" is input, the name then later data with owner name "xyz.BAR.example" is input, the name
of the label on the "bar.example" node, i.e. "bar", is not changed to of the label on the "bar.example" node, i.e. "bar", is not changed to
"BAR". Thus later retrieval of data stored under "xyz.bar.example" in "BAR". Thus later retrieval of data stored under "xyz.bar.example" in
INTERNET-DRAFT DNS Case Insensitivity INTERNET-DRAFT DNS Case Insensitivity
this case can easily result is obtaining data with "xyz.BAR.example". this case can easily result is obtaining data with "xyz.BAR.example".
The same considerations apply inputting multiple data records with The same considerations apply when inputting multiple data records
owner names differing only in case. From the example above, if an "A" with owner names differing only in case. From the example above, if
record is stored under owner name "xyz.BAR.example" and then a second an "A" record is stored under owner name "xyz.BAR.example" and then a
"A" record under "XYZ.BAR.example", the second will be stored at the second "A" record under "XYZ.BAR.example", the second will be stored
node with the first (lower case initial label) name. at the node with the first (lower case initial label) name.
Note that the order of insertion into a server database of the DNS Note that the order of insertion into a server database of the DNS
name tree nodes that appear in a Master File is not defined so that name tree nodes that appear in a Master File is not defined so that
the results of inconsistent capitalization in a Master File are the results of inconsistent capitalization in a Master File are
unpredicatable output capitalization. unpredicatable output capitalization.
4.3 Wildcard Matching 4.3 Wildcard Matching
There is one additional instance of note, which reflects the general There is one additional instance of note, which reflects the general
rules that output case reflects input case unless there is rules that output case reflects input case unless there is
skipping to change at page 10, line 22 skipping to change at page 10, line 22
Milford, MA 01757 USA Milford, MA 01757 USA
Telephone: +1 508-851-8280 (w) Telephone: +1 508-851-8280 (w)
+1 508-634-2066 (h) +1 508-634-2066 (h)
EMail: Donald.Eastlake@motorola.com EMail: Donald.Eastlake@motorola.com
Expiration and File Name Expiration and File Name
This draft expires August 2003. This draft expires August 2003.
Its file name is draft-ietf-dnsext-insensitive-01.txt. Its file name is draft-ietf-dnsext-insensitive-02.txt.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/