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