draft-ietf-dnsext-insensitive-03.txt | draft-ietf-dnsext-insensitive-04.txt | |||
---|---|---|---|---|
INTERNET-DRAFT Donald E. Eastlake 3rd | INTERNET-DRAFT Donald E. Eastlake 3rd | |||
Clarifies STD0013 Motorola Laboratories | Clarifies STD0013 Motorola Laboratories | |||
Expires September 2003 April 2003 | Expires December 2004 July 2004 | |||
Domain Name System (DNS) Case Insensitivity Clarification | Domain Name System (DNS) Case Insensitivity Clarification | |||
------ ---- ------ ----- ---- ------------- ------------- | ------ ---- ------ ----- ---- ------------- ------------- | |||
<draft-ietf-dnsext-insensitive-03.txt> | <draft-ietf-dnsext-insensitive-04.txt> | |||
Donald E. Eastlake 3rd | Donald E. Eastlake 3rd | |||
Status of This Document | Status of This Document | |||
By submitting this Internet-Draft, I certify that any applicable | ||||
patent or other IPR claims of which I am aware have been disclosed, | ||||
and any of which I become aware will be disclosed, in accordance with | ||||
RFC 3668. | ||||
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 | |||
working documents of the Internet Engineering Task Force (IETF), its | working documents of the Internet Engineering Task Force (IETF), its | |||
areas, and its working groups. Note that other groups may also | areas, and its working groups. Note that other groups may also | |||
distribute working documents as Internet-Drafts. | distribute working documents as Internet-Drafts. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet- Drafts as reference | time. It is inappropriate to use Internet- Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt. 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. | |||
INTERNET-DRAFT DNS Case Insensitivity | INTERNET-DRAFT DNS Case Insensitivity | |||
skipping to change at page 2, line 26 | skipping to change at page 2, line 26 | |||
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 | |||
2. Case Insensitivity of DNS Labels........................3 | 2. Case Insensitivity of DNS Labels........................3 | |||
2.1 Escaping Unusual DNS Label Octets......................3 | 2.1 Escaping Unusual DNS Label Octets......................3 | |||
2.2 Example Labels with Escapes............................4 | 2.2 Example Labels with Escapes............................4 | |||
2.3 Name Lookup Case Insensitivity.........................4 | 3. Name Lookup, Label Types, and CLASS.....................4 | |||
2.4 Original DNS Label Types...............................5 | 3.1 Original DNS Label Types...............................5 | |||
3. Additional DNS Case Insensitivity Considerations........5 | ||||
3.1 CLASS Case Insensitivity Considerations................5 | ||||
3.2 Extended Label Type Case Insensitivity Considerations..5 | 3.2 Extended Label Type Case Insensitivity Considerations..5 | |||
3.3 CLASS Case Insensitivity Considerations................5 | ||||
4. Case on Input and Output................................6 | 4. Case on Input and Output................................6 | |||
4.1 DNS Output Case Preservation...........................6 | 4.1 DNS Output Case Preservation...........................6 | |||
4.2 DNS Input Case Preservation............................6 | 4.2 DNS Input Case Preservation............................6 | |||
4.3 Wildcard Matching......................................7 | ||||
5. Internationalized Domain Names..........................7 | 5. Internationalized Domain Names..........................7 | |||
6. Security Considerations.................................7 | 6. Security Considerations.................................7 | |||
Copyright and Disclaimer...................................9 | ||||
Normative References.......................................9 | Normative References.......................................9 | |||
Informative References.....................................9 | Informative References....................................10 | |||
-02 to -03 Changes........................................10 | -02 to -03 Changes........................................10 | |||
Author's Address..........................................10 | -03 to -04 Changes........................................11 | |||
Expiration and File Name..................................10 | Author's Address..........................................11 | |||
Expiration and File Name..................................11 | ||||
INTERNET-DRAFT DNS Case Insensitivity | INTERNET-DRAFT DNS Case Insensitivity | |||
1. Introduction | 1. Introduction | |||
The Domain Name System (DNS) is the global hierarchical replicated | The Domain Name System (DNS) is the global hierarchical replicated | |||
distributed database system for Internet addressing, mail proxy, and | distributed database system for Internet addressing, mail proxy, and | |||
other information. Each node in the DNS tree has a name consisting of | other information. Each node in the DNS tree has a name consisting of | |||
zero or more labels [STD 13][RFC 1591, 2606] that are treated in a | zero or more labels [STD 13][RFC 1591, 2606] that are treated in a | |||
case insensitive fashion. This document clarifies the meaning of | case insensitive fashion. This document clarifies the meaning of | |||
skipping to change at page 3, line 39 | skipping to change at page 3, line 39 | |||
www.gnu.ai.mit.edu. | www.gnu.ai.mit.edu. | |||
or 69.2.0.192.in-addr.arpa. | or 69.2.0.192.in-addr.arpa. | |||
Case varied alternatives to the above would be DNS names like | Case varied alternatives to the above would be DNS names like | |||
Foo.ExamplE.net. | Foo.ExamplE.net. | |||
AOL.COM. | AOL.COM. | |||
WWW.gnu.AI.mit.EDU. | WWW.gnu.AI.mit.EDU. | |||
or 69.2.0.192.in-ADDR.ARPA. | or 69.2.0.192.in-ADDR.ARPA. | |||
The individual octets of which DNS names consist are not limited to | However, the individual octets of which DNS names consist are not | |||
valid ASCII character codes. They are as 8-bit bytes and all values | limited to valid ASCII character codes. They are 8-bit bytes and all | |||
are allowed. Many applications, however, interprete them as ASCII | values are allowed. Many applications, however, interpret them as | |||
characters. | ASCII characters. | |||
2.1 Escaping Unusual DNS Label Octets | 2.1 Escaping Unusual DNS Label Octets | |||
In Master Files [STD 13] and other human readable and writable ASCII | In Master Files [STD 13] and other human readable and writable ASCII | |||
contexts, an escape is needed for the byte value for period (0x2E, | contexts, an escape is needed for the byte value for period (0x2E, | |||
".") and all octet values outside of the inclusive range of 0x21 ("!") | ".") and all octet values outside of the inclusive range of 0x21 | |||
to 0x7E ("~"). That is to say, 0x2E and all octet values in the two | ("!") to 0x7E ("~"). That is to say, 0x2E and all octet values in | |||
inclusive ranges 0x00 to 0x20 and 0x7F to 0xFF. | the two inclusive ranges 0x00 to 0x20 and 0x7F to 0xFF. | |||
One typographic convention for octets that do not correspond to an | One typographic convention for octets that do not correspond to an | |||
INTERNET-DRAFT DNS Case Insensitivity | INTERNET-DRAFT DNS Case Insensitivity | |||
ASCII printing graphic is to use a back-slash followed by the value of | ASCII printing graphic is to use a back-slash followed by the value | |||
the octet as an unsigned integer represented by exactly three decimal | of the octet as an unsigned integer represented by exactly three | |||
digits. | decimal digits. | |||
The same convention can be used for printing ASCII characters so that | The same convention can be used for printing ASCII characters so that | |||
they will be treated as a normal label character. This includes the | they will be treated as a normal label character. This includes the | |||
back-slash character used in this convention itself and the special | back-slash character used in this convention itself which can be | |||
label separator period (".") which can be expressed as \092 and \046 | expressed as \092 or \\ and the special label separator period (".") | |||
respectively. It is advisable to avoid using a backslash to quote an | which can be expressed as and \046 or \. respectively. It is | |||
immediately following non-printing ASCII character code to avoid | advisable to avoid using a backslash to quote an immediately | |||
implementation difficulties. | following non-printing ASCII character code to avoid implementation | |||
difficulties. | ||||
A back-slash followed by only one or two decimal digits is | A back-slash followed by only one or two decimal digits is undefined. | |||
undefined. A back-slash followed by four decimal digits produces two | A back-slash followed by four decimal digits produces two octets, the | |||
octets, the first octet having the value of the first three digits | first octet having the value of the first three digits considered as | |||
considered as a decimal number and the second octet being the | a decimal number and the second octet being the character code for | |||
character code for the fourth decimal digit. | the fourth decimal digit. | |||
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 5 octet label where the second | within a label. The second one show a 5 octet label where the second | |||
octet has all bits zero, the third is a backslahs, | octet has all bits zero, the third is a backslash, and the fourth | |||
and the fourth octet has all bits one. | octet has all bits one. | |||
Donald\032E\.\032Eastlake\0323rd.example. | Donald\032E\.\032Eastlake\0323rd.example. | |||
and a\000\\\255z.example. | and a\000\\\255z.example. | |||
2.3 Name Lookup Case Insensitivity | 3. Name Lookup, Label Types, and CLASS | |||
The design decision was made that comparisons on name lookup for DNS | The design decision was made that comparisons on name lookup for DNS | |||
queries should be case insensitive [STD 13]. That is to say, a lookup | queries should be case insensitive [STD 13]. That is to say, a lookup | |||
string octet with a value in the inclusive range of 0x41 to 0x5A, the | string octet with a value in the inclusive range of 0x41 to 0x5A, the | |||
upper case ASCII letters, MUST match the identical value and also | upper case ASCII letters, MUST match the identical value and also | |||
match the corresponding value in the inclusive range 0x61 to 0x7A, | match the corresponding value in the inclusive range 0x61 to 0x7A, | |||
the lower case ASCII letters. And a lookup string octet with a lower | the lower case ASCII letters. And a lookup string octet with a lower | |||
case ASCII letter value MUST similarly match the identical value and | case ASCII letter value MUST similarly match the identical value and | |||
also match the corresponding value in the upper case ASCII letter | also match the corresponding value in the upper case ASCII letter | |||
range. | range. | |||
skipping to change at page 5, line 17 | skipping to change at page 5, line 17 | |||
One way to implement this rule would be, when comparing octets, to | One way to implement this rule would be, when comparing octets, to | |||
subtract 0x20 from all octets in the inclusive range 0x61 to 0x7A | subtract 0x20 from all octets in the inclusive range 0x61 to 0x7A | |||
before the comparison. Such an operation is commonly known as "case | before the comparison. Such an operation is commonly known as "case | |||
folding" but implementation via case folding is not required. Note | folding" but implementation via case folding is not required. Note | |||
that the DNS case insensitivity does NOT correspond to the case | that the DNS case insensitivity does NOT correspond to the case | |||
folding specified in iso-8859-1 or iso-8859-2. For example, the | folding specified in iso-8859-1 or iso-8859-2. For example, the | |||
octets 0xDD (\221) and 0xFD (\253) do NOT match although in other | octets 0xDD (\221) and 0xFD (\253) do NOT match although in other | |||
contexts, where they are interpreted as the upper and lower case | contexts, where they are interpreted as the upper and lower case | |||
version of "Y" with an acute accent, they might. | version of "Y" with an acute accent, they might. | |||
2.4 Original DNS Label Types | 3.1 Original DNS Label Types | |||
DNS labels in wire encoded names have a type associated with them. | DNS labels in wire encoded names have a type associated with them. | |||
The original DNS standard [RFC 1035] had only two types. ASCII | The original DNS standard [RFC 1035] had only two types. ASCII | |||
labels, with a length of from zero to 63 octets and indirect labels | labels, with a length of from zero to 63 octets, and indirect labels | |||
which consist of an offset pointer to a name location elsewhere in | which consist of an offset pointer to a name location elsewhere in | |||
the wire encoding on a DNS message. (The ASCII label of length zero | the wire encoding on a DNS message. (The ASCII label of length zero | |||
is reserved for use as the name of the root node of the name tree.) | is reserved for use as the name of the root node of the name tree.) | |||
ASCII labels follow the ASCII case conventions described above. | ASCII labels follow the ASCII case conventions described herein and, | |||
Indirect labels are, in effect, replaced by the name to which they | as stated above, can actually contain arbitrary byte values. Indirect | |||
point which is then treated with the case insensitivity rules in this | labels are, in effect, replaced by the name to which they point which | |||
document. | is then treated with the case insensitivity rules in this document. | |||
3. Additional DNS Case Insensitivity Considerations | 3.2 Extended Label Type Case Insensitivity Considerations | |||
This section clarifies the effect of DNS CLASS and extended Label | DNS was extended by [RFC 2671] to have additional label type numbers | |||
Type on case insensitivity. | available. (The only such type defined so far is the BINARY type [RFC | |||
2673].) | ||||
3.1 CLASS Case Insensitivity Considerations | The ASCII case insensitivity conventions only apply to ASCII labels, | |||
that is to say, label type 0x0, whether appearing directly or invoked | ||||
by indirect labels. | ||||
3.3 CLASS Case Insensitivity Considerations | ||||
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 | ||||
DNS was extended by [RFC 2671] to have additional label type numbers | ||||
available. (The only such type defined so far is the BINARY type [RFC | ||||
2673].) | ||||
INTERNET-DRAFT DNS Case Insensitivity | INTERNET-DRAFT DNS Case Insensitivity | |||
The ASCII case insensitivity conventions, or case folding, only apply | ||||
to ASCII labels, that is to say, label type 0x0, whether appearing | ||||
directly or invoked by indirect labels. | ||||
4. Case on Input and Output | 4. Case on Input and Output | |||
While ASCII label comparisons are case insensitive, case MUST be | While ASCII label comparisons are case insensitive, [STD 13] says | |||
preserved on output, except when output is optimized by the use of | case MUST be preserved on output, and preserved when convenient on | |||
indirect labels, and preserved when convenient on input. | input. However, this means less than it would appear since the | |||
preservation of case on output is NOT required when output is | ||||
optimized by the use of indirect labels, as explained below. | ||||
4.1 DNS Output Case Preservation | 4.1 DNS Output Case Preservation | |||
[STD 13] views the DNS namespace as a node tree. ASCII output is as | [STD 13] views the DNS namespace as a node tree. ASCII output is as | |||
if a name was marshalled by taking the label on the node whose name | if a name was marshaled by taking the label on the node whose name is | |||
is to be output, converting it to a typographically encoded ASCII | to be output, converting it to a typographically encoded ASCII | |||
string, walking up the tree outputting each label encountered, and | string, walking up the tree outputting each label encountered, and | |||
preceding all labels but the first with a period ("."). Wire output | preceding all labels but the first with a period ("."). Wire output | |||
follows the same sequence but each label is wire encoded and no | follows the same sequence but each label is wire encoded and no | |||
periods inserted. No "case conversion" or "case folding" is done | periods inserted. No "case conversion" or "case folding" is done | |||
during such output operations. However, to optimize output, indirect | during such output operations, thus "preserving" case. However, to | |||
labels may be used to point to names elsewhere in the DNS answer. In | optimize output, indirect labels may be used to point to names | |||
determining whether the name to be pointed to is the "same" as the | elsewhere in the DNS answer. In determining whether the name to be | |||
remainder of the name being optimized, the case insensitive | pointed to, for example the QNAME, is the "same" as the remainder of | |||
comparison specified above is done. Thus such optimization MAY | the name being optimized, the case insensitive comparison specified | |||
destroy the output preservation of case. This type of optimization is | above is done. Thus such optimization MAY easily destroy the output | |||
commonly called "name compression". | preservation of case. This type of optimization is 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] or a zone transfer. DNS Dynamic update and incremental zone | |||
[RFC 2136, 3007]. When a node in the DNS name tree is created by such | transfers [RFC 1995] have been added as a source of DNS data [RFC | |||
input, no case conversion is done and the case of ASCII labels is | 2136, 3007]. When a node in the DNS name tree is created by any of | |||
preserved if they are for nodes being created. However, when a name | such inputs, no case conversion is done. Thus the case of ASCII | |||
label is input for a node that already exist in DNS data being | labels is preserved if they are for nodes being created. However, | |||
augmented or updated, the situation is more complex. Implemenations | when a name label is input for a node that already exist in DNS data | |||
may retain the case first input for such a label or allow new input | being held, the situation is more complex. Implementations may retain | |||
to override the old case or maintain separate copies preserving the | the case first input for such a label or allow new input to override | |||
input case. | the old case or even maintain separate copies preserving the input | |||
case. | ||||
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", might or might | of the label on the "bar.example" node, i.e. "bar", might or might | |||
not be changed to "BAR" or the actual input case could be preserved. | not be changed to "BAR" or the actual input case could be preserved. | |||
Thus later retrieval of data stored under "xyz.bar.example" in this | ||||
case can easily return data with "xyz.BAR.example". The same | ||||
INTERNET-DRAFT DNS Case Insensitivity | INTERNET-DRAFT DNS Case Insensitivity | |||
Thus later retrieval of data stored under "xyz.bar.example" in this | considerations apply when inputting multiple data records with owner | |||
case can easily result is obtaining data with "xyz.BAR.example". The | names differing only in case. For example, if an "A" record is stored | |||
same considerations apply when inputting multiple data records with | as the first resourced record under owner name "xyz.BAR.example" and | |||
owner names differing only in case. From the example above, if an "A" | then a second "A" record is stored under "XYZ.BAR.example", the | |||
record is stored under owner name "xyz.BAR.example" and then a second | second MAY be stored with the first (lower case initial label) name | |||
"A" record under "XYZ.BAR.example", the second MAY be stored with the | or the second MAY override the first so that only an upper case | |||
first (lower case initial label) name. | initial label is retained or both capitalizations MAY be kept. | |||
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. | unpredictable output capitalization. | |||
4.3 Wildcard Matching | ||||
There is one additional instance of note, which reflects the general | ||||
rules that output case reflects input case unless there is | ||||
conflicting capitalization in the DNS database or the output case is | ||||
hidden by name compression. This is when a query matches a wildcard | ||||
in the DNS database at a server. In that case, the answer SHOULD | ||||
reflect the input case of the label or labels that matched the | ||||
wildcard unless they are replaced by an indirect label which MAY | ||||
point to a name with different capitalization. | ||||
5. Internationalized Domain Names | 5. Internationalized Domain Names | |||
A scheme has been adopted for "internationalized domain names" and | A scheme has been adopted for "internationalized domain names" and | |||
"internationalized labels" as described in [RFC 3490, 3454, 3491, and | "internationalized labels" as described in [RFC 3490, 3454, 3491, and | |||
3492]. It makes most of [UNICODE] available through a separate | 3492]. It makes most of [UNICODE] available through a separate | |||
application level transformation from internationalized domain name | application level transformation from internationalized domain name | |||
to DNS domain name and from DNS domain name to internationalized | to DNS domain name and from DNS domain name to internationalized | |||
domain name. Any case insensitivity that internationalized domain | domain name. Any case insensitivity that internationalized domain | |||
names and labels have varies depending on the script and is handled | names and labels have varies depending on the script and is handled | |||
skipping to change at page 8, line 5 | skipping to change at page 7, line 40 | |||
[RFC 3491] which should be seen for further details. This is not a | [RFC 3491] which should be seen for further details. This is not a | |||
part of the DNS as standardized in STD 13. | part of the DNS as standardized in STD 13. | |||
6. Security Considerations | 6. Security Considerations | |||
The equivalence of certain DNS label types with case differences, as | The equivalence of certain DNS label types with case differences, as | |||
clarified in this document, can lead to security problems. For | clarified in this document, can lead to security problems. For | |||
example, a user could be confused by believing two domain names | example, a user could be confused by believing two domain names | |||
differing only in case were actually different names. | differing only in case were actually different names. | |||
INTERNET-DRAFT DNS Case Insensitivity | ||||
Furthermore, a domain name may be used in contexts other than the | Furthermore, a domain name may be used in contexts other than the | |||
DNS. It could be used as a case sensitive index into some data base | DNS. It could be used as a case sensitive index into some data base | |||
system. Or it could be interpreted as binary data by some integrity | system. Or it could be interpreted as binary data by some integrity | |||
or authentication code system. These problems can usually be handled | or authentication code system. These problems can usually be handled | |||
by using a standardized or "canonical" form of the DNS ASCII type | by using a standardized or "canonical" form of the DNS ASCII type | |||
labels, that is, always map the ASCII letter value octets in ASCII | labels, that is, always mapping the ASCII letter value octets in | |||
labels to some specific pre-chosen case, either upper case or lower | ASCII labels to some specific pre-chosen case, either upper case or | |||
case. An example of a canonical form for domain names (and also a | lower case. An example of a canonical form for domain names (and also | |||
canonical ordering for them) appears in Section 8 of [RFC 2535]. See | a canonical ordering for them) appears in Section 8 of [RFC 2535]. | |||
also [UNKRR]. | See also [RFC 3597]. | |||
Finally, a non-DNS name may be stored into DNS with the false | Finally, a non-DNS name may be stored into DNS with the false | |||
expectation that case will always be preserved. For example, although | expectation that case will always be preserved. For example, although | |||
INTERNET-DRAFT DNS Case Insensitivity | ||||
this would be quite rare, on a system with case sensitive email | this would be quite rare, on a system with case sensitive email | |||
address local parts, an attempt to store two "RP" records that | address local parts, an attempt to store two "RP" records that | |||
differed only in case would probably produce unexpected results that | differed only in case would probably produce unexpected results that | |||
might have security implications. That is because the entire email | might have security implications. That is because the entire email | |||
address, including the possibly case sensitive local or left hand | address, including the possibly case sensitive local or left hand | |||
part, is encoded into a DNS name in a readable fashion where the case | part, is encoded into a DNS name in a readable fashion where the case | |||
of some letters might be changed on output as described above. | of some letters might be changed on output as described above. | |||
INTERNET-DRAFT DNS Case Insensitivity | INTERNET-DRAFT DNS Case Insensitivity | |||
Copyright and Disclaimer | ||||
Copyright (C) The Internet Society 2004. This document is subject to | ||||
the rights, licenses and restrictions contained in BCP 78, and except | ||||
as set forth therein, the authors retain all their rights. | ||||
This document and the information contained herein are provided on an | ||||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | ||||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | ||||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | ||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | ||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | ||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | ||||
Normative References | Normative References | |||
[ASCII] - ANSI, "USA Standard Code for Information Interchange", | [ASCII] - ANSI, "USA Standard Code for Information Interchange", | |||
X3.4, American National Standards Institute: New York, 1968. | X3.4, American National Standards Institute: New York, 1968. | |||
[RFC 1034, 1035] - See [STD 13]. | [RFC 1034, 1035] - See [STD 13]. | |||
[RFC 2119] - "Key words for use in RFCs to Indicate Requirement | [RFC 1995] - M. Ohta, "Incremental Zone Transfer in DNS", August | |||
Levels", S. Bradner, March 1997. | 1996. | |||
[RFC 2119] - S. Bradner, "Key words for use in RFCs to Indicate | ||||
Requirement Levels", March 1997. | ||||
[RFC 2136] - P. Vixie, Ed., S. Thomson, Y. Rekhter, J. Bound, | [RFC 2136] - P. Vixie, Ed., S. Thomson, Y. Rekhter, J. Bound, | |||
"Dynamic Updates in the Domain Name System (DNS UPDATE)", April 1997. | "Dynamic Updates in the Domain Name System (DNS UPDATE)", April 1997. | |||
[RFC 2535] - D. Eastlake, "Domain Name System Security Extensions", | [RFC 2535] - D. Eastlake, "Domain Name System Security Extensions", | |||
March 1999. | March 1999. | |||
[RFC 3007] - B. Wellington, "Secure Domain Name System (DNS) Dynamic | [RFC 3007] - B. Wellington, "Secure Domain Name System (DNS) Dynamic | |||
Update", November 2000. | Update", November 2000. | |||
[RFC 3597] - Andreas Gustafsson, "Handling of Unknown DNS RR Types", | ||||
draft-ietf-dnsext-unknown-rrs-05.txt, March 2003. | ||||
[STD 13] | [STD 13] | |||
- P. Mockapetris, "Domain names - concepts and facilities", RFC | - P. Mockapetris, "Domain names - concepts and facilities", RFC | |||
1034, November 1987. | 1034, November 1987. | |||
- P. Mockapetris, "Domain names - implementation and | - P. Mockapetris, "Domain names - implementation and | |||
specification", RFC 1035, November 1987. | specification", RFC 1035, November 1987. | |||
[UNKRR] - Andreas Gustafsson, "Handling of Unknown DNS RR Types", | INTERNET-DRAFT DNS Case Insensitivity | |||
draft-ietf-dnsext-unknown-rrs-05.txt, March 2003. | ||||
Informative References | Informative References | |||
[RFC 1591] - J. Postel, "Domain Name System Structure and | [RFC 1591] - J. Postel, "Domain Name System Structure and | |||
Delegation", March 1994. | Delegation", March 1994. | |||
[RFC 2606] - D. Eastlake, A. Panitz, "Reserved Top Level DNS Names", | [RFC 2606] - D. Eastlake, A. Panitz, "Reserved Top Level DNS Names", | |||
June 1999. | June 1999. | |||
[RFC 2929] - D. Eastlake, E. Brunner-Williams, B. Manning, "Domain | [RFC 2929] - D. Eastlake, E. Brunner-Williams, B. Manning, "Domain | |||
Name System (DNS) IANA Considerations", September 2000. | Name System (DNS) IANA Considerations", September 2000. | |||
[RFC 2671] - P. Vixie, "Extension mechanisms for DNS (EDNS0)", August | [RFC 2671] - P. Vixie, "Extension mechanisms for DNS (EDNS0)", August | |||
1999. | 1999. | |||
[RFC 2673] - M. Crawford, "Binary Labels in the Domain Name System", | [RFC 2673] - M. Crawford, "Binary Labels in the Domain Name System", | |||
August 1999. | August 1999. | |||
[RFC 3092] - D. Eastlake 3rd, C. Manros, E. Raymond, "Etymology of | ||||
Foo", 1 April 2001. | ||||
[RFC 3454] - P. Hoffman, M. Blanchet, "Preparation of | [RFC 3454] - P. Hoffman, M. Blanchet, "Preparation of | |||
Internationalized String ("stringprep")", December 2002. | Internationalized String ("stringprep")", December 2002. | |||
INTERNET-DRAFT DNS Case Insensitivity | ||||
[RFC 3490] - P. Faltstrom, P. Hoffman, A. Costello, | [RFC 3490] - P. Faltstrom, P. Hoffman, A. Costello, | |||
"Internationalizing Domain Names in Applications (IDNA)", March 2003. | "Internationalizing Domain Names in Applications (IDNA)", March 2003. | |||
[RFC 3491] - P. Hoffman, M. Blanchet, "Nameprep: A Stringprep Profile | [RFC 3491] - P. Hoffman, M. Blanchet, "Nameprep: A Stringprep Profile | |||
for Internationalized Domain Names (IDN)", March 2003. | for Internationalized Domain Names (IDN)", March 2003. | |||
[RFC 3492] - A. Costello, "Punycode: A Bootstring encoding of Unicode | [RFC 3492] - A. Costello, "Punycode: A Bootstring encoding of Unicode | |||
for Internationalized Domain Names in Applications (IDNA)", March | for Internationalized Domain Names in Applications (IDNA)", March | |||
2003. | 2003. | |||
skipping to change at page 10, line 32 | skipping to change at page 11, line 5 | |||
The following changes were made between draft version -02 and -03: | The following changes were made between draft version -02 and -03: | |||
1. Add internationalized domain name section and references. | 1. Add internationalized domain name section and references. | |||
2. Change to indicate that later input of a label for an existing DNS | 2. Change to indicate that later input of a label for an existing DNS | |||
name tree node may or may not be normalized to the earlier input or | name tree node may or may not be normalized to the earlier input or | |||
override it or both may be preserved. | override it or both may be preserved. | |||
3. Numerous minor wording changes. | 3. Numerous minor wording changes. | |||
INTERNET-DRAFT DNS Case Insensitivity | ||||
-03 to -04 Changes | ||||
The following changes were made between draft version -03 and -04: | ||||
1. Change to conform to the new IPR, Copyright, etc., notice | ||||
requirements. | ||||
2. Change in some section headers for clarity. | ||||
3. Drop section on wildcards. | ||||
4. Add emphasis on loss of case preservation due to name compression. | ||||
5. Add references to RFCs 1995 and 3092. | ||||
Author's Address | Author's Address | |||
Donald E. Eastlake 3rd | Donald E. Eastlake 3rd | |||
Motorola Laboratories | Motorola Laboratories | |||
155 Beaver Street | 155 Beaver Street | |||
Milford, MA 01757 USA | Milford, MA 01757 USA | |||
Telephone: +1 508-851-8280 (w) | Telephone: +1 508-786-7554 (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 September 2003. | This draft expires December 2004. | |||
Its file name is draft-ietf-dnsext-insensitive-03.txt. | Its file name is draft-ietf-dnsext-insensitive-04.txt. | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |