< draft-klensin-idna-unicode-review-00.txt   draft-klensin-idna-unicode-review-01.txt >
Network Working Group J. Klensin Network Working Group J. Klensin
Internet-Draft Internet-Draft
Updates: 5892 (if approved) P. Faltstrom Updates: 5892 (if approved) P. Faltstrom
Intended status: Standards Track Netnod Intended status: Standards Track Netnod
Expires: December 14, 2019 June 12, 2019 Expires: January 7, 2020 July 6, 2019
IDNA Review for New Unicode Versions IDNA Review for New Unicode Versions
draft-klensin-idna-unicode-review-00 draft-klensin-idna-unicode-review-01
Abstract Abstract
The standards for Internationalized Domain Names in Applications The standards for Internationalized Domain Names in Applications
(IDNA) require a review of each new version of Unicode to determine (IDNA) require a review of each new version of Unicode to determine
whether incompatibilities with prior version or other issues exist whether incompatibilities with prior version or other issues exist
and, where appropriate, to allow the IETF to decide on the trade-offs and, where appropriate, to allow the IETF to decide on the trade-offs
between compatibility with prior IDNA versions and compatibility with between compatibility with prior IDNA versions and compatibility with
Unicode going forward. That requirement, and its relationship to Unicode going forward. That requirement, and its relationship to
tables maintained by IANA, has caused significant confusion in the tables maintained by IANA, has caused significant confusion in the
skipping to change at page 1, line 42 skipping to change at page 1, line 42
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on December 14, 2019. This Internet-Draft will expire on January 7, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 31 skipping to change at page 2, line 31
3.1. Review Model Part I: Algorithmic Comparison . . . . . . . 4 3.1. Review Model Part I: Algorithmic Comparison . . . . . . . 4
3.2. Review Model Part II: New Code Point Analysis . . . . . . 5 3.2. Review Model Part II: New Code Point Analysis . . . . . . 5
4. IDNA Assumptions and Current Practice . . . . . . . . . . . . 6 4. IDNA Assumptions and Current Practice . . . . . . . . . . . . 6
5. Derived Tables Published by IANA . . . . . . . . . . . . . . 7 5. Derived Tables Published by IANA . . . . . . . . . . . . . . 7
6. Editorial clarification to RFC 5892 . . . . . . . . . . . . . 7 6. Editorial clarification to RFC 5892 . . . . . . . . . . . . . 7
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
9. Security Considerations . . . . . . . . . . . . . . . . . . . 9 9. Security Considerations . . . . . . . . . . . . . . . . . . . 9
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
10.1. Normative References . . . . . . . . . . . . . . . . . . 9 10.1. Normative References . . . . . . . . . . . . . . . . . . 9
10.2. Informative References . . . . . . . . . . . . . . . . . 10 10.2. Informative References . . . . . . . . . . . . . . . . . 11
Appendix A. Summary of Changes to RFC 5892 . . . . . . . . . . . 12 Appendix A. Summary of Changes to RFC 5892 . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 Appendix B. Change Log . . . . . . . . . . . . . . . . . . . . . 14
B.1. Changes from version -00 (2019-06-12) to -01 . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14
1. Introduction 1. Introduction
The standards for Internationalized Domain Names in Applications The standards for Internationalized Domain Names in Applications
(IDNA) require a review of each new version of Unicode to determine (IDNA) require a review of each new version of Unicode to determine
whether incompatibilities with prior version or other issues exist whether incompatibilities with prior version or other issues exist
and, where appropriate, to allow the IETF to decide on the trade-offs and, where appropriate, to allow the IETF to decide on the trade-offs
between compatibility with prior IDNA versions and compatibility with between compatibility with prior IDNA versions and compatibility with
Unicode [Unicode] going forward. That requirement, and its Unicode [Unicode] going forward. That requirement, and its
relationship to tables maintained by IANA, has caused significant relationship to tables maintained by IANA, has caused significant
confusion in the past. This document makes adjustments to the review confusion in the past. This document makes adjustments to the review
procedure based on nearly a decade of experience and updates IDNA, procedure based on nearly a decade of experience and updates IDNA,
specifically the document that specifies the relationship between specifically the document that specifies the relationship between
Unicode code points and IDNA derived properties [RFC5892], to reflect Unicode code points and IDNA derived properties [RFC5892], to reflect
those changes and clarify the various relationships involved. those changes and clarify the various relationships involved.
This specification does not change the requirement that registries,
at all levels of the DNS tree, take responsibility for the labels
they are inserting in the DNS, a level of responsibility that
requires allowing only a subset of the code points and strings
allowed by the IDNA protocol itself. That requirement is discussed
in more detail in a companion document
[ID.draft-klensin-idna-rfc5891bis].
Terminology note: In this document, "IDNA" refers to the current Terminology note: In this document, "IDNA" refers to the current
version as described in RFC 5890 [RFC5890] and subsequent documents version as described in RFC 5890 [RFC5890] and subsequent documents
and sometimes known as "IDNA2008". Distinctions between it and the and sometimes known as "IDNA2008". Distinctions between it and the
earlier version are explicit only where that is necessary to earlier version are explicit only where that is necessary to
understanding the relationships involved, e.g., in Section 2. understanding the relationships involved, e.g., in Section 2.
2. Brief History of IDNA Versions, the Review Requirement, and RFC 5982 2. Brief History of IDNA Versions, the Review Requirement, and RFC 5982
The original, now-obsolete, version of IDNA, commonly known as The original, now-obsolete, version of IDNA, commonly known as
"IDNA2003" [RFC3490] [RFC3491] was defined in terms of a profile of a "IDNA2003" [RFC3490] [RFC3491] was defined in terms of a profile of a
skipping to change at page 6, line 11 skipping to change at page 6, line 18
IETF consensus conclusions about how to proceed. The affected code IETF consensus conclusions about how to proceed. The affected code
points should be considered unsafe and identified as "under review" points should be considered unsafe and identified as "under review"
in the IANA tables until final derived properties are assigned. in the IANA tables until final derived properties are assigned.
4. IDNA Assumptions and Current Practice 4. IDNA Assumptions and Current Practice
At the time the IDNA2008 documents were written, the assumption was At the time the IDNA2008 documents were written, the assumption was
that, if new versions of Unicode introduced incompatible changes, the that, if new versions of Unicode introduced incompatible changes, the
Standard would be updated to preserve backward compatibility for Standard would be updated to preserve backward compatibility for
users of IDNA. For most purposes, this would be done by adding to users of IDNA. For most purposes, this would be done by adding to
the table of exceptions associated with Rule G (Section 2.7 of RFC the table of exceptions associated with Rule G [RFC5892a].
5892).
This has not been the practice in the reviews completed subsequent to This has not been the practice in the reviews completed subsequent to
Unicode 5.2, as discussed in Section 3. Incompatibilities were Unicode 5.2, as discussed in Section 3. Incompatibilities were
identified in Unicode 6.0 [RFC6452], in the cumulative review leading identified in Unicode 6.0 [RFC6452], in the cumulative review leading
to tables for Unicode 11.0 [ID.draft-faltstrom-unicode11] and the to tables for Unicode 11.0 [ID.draft-faltstrom-unicode11] and the
subsequent one for Unicode 12.0 [IDNA-Unicode12]. In all of those subsequent one for Unicode 12.0 [IDNA-Unicode12]. In all of those
cases, the decision was made to maintain compatibility with Unicode cases, the decision was made to maintain compatibility with Unicode
properties rather than with prior versions of IDNA. properties rather than with prior versions of IDNA.
Subsequent to the publication of this document, changes in Unicode Subsequent to the publication of this document, changes in Unicode
skipping to change at page 7, line 30 skipping to change at page 7, line 37
significantly mitigating the confusion about the status of the tables significantly mitigating the confusion about the status of the tables
published by IANA, serious consideration should be given to published by IANA, serious consideration should be given to
eliminating those tables entirely. eliminating those tables entirely.
6. Editorial clarification to RFC 5892 6. Editorial clarification to RFC 5892
In order to avoid this document going forward with remaining known In order to avoid this document going forward with remaining known
errors or omissions in RFC 5892, this section updates that document errors or omissions in RFC 5892, this section updates that document
to provide fixes to known applicable errata. In particular, verified to provide fixes to known applicable errata. In particular, verified
RFC Editor Erratum 3312 [RFC5892Erratum] provides a clarification to RFC Editor Erratum 3312 [RFC5892Erratum] provides a clarification to
Appendix A and Section A.1 of RFC 5892, which is resolved below. Appendix A and Section A.1 of RFC 5892. That clarification is
resolved below.
1. In Appendix A, add a new paragraph after the paragraph that 1. In Appendix A, add a new paragraph after the paragraph that
begins "The code point...". The new paragraph should read: begins "The code point...". The new paragraph should read:
"For the rule to be evaluated to True for the label, it MUST be "For the rule to be evaluated to True for the label, it MUST be
evaluated separately for every occurrence of the Code point in evaluated separately for every occurrence of the Code point in
the label; each of those evaluations must result in True." the label; each of those evaluations must result in True."
2. In Appendix A, Section A.1, replace the "Rule Set" by 2. In Appendix A, Section A.1, replace the "Rule Set" by
Rule Set: Rule Set:
False; False;
If Canonical_Combining_Class(Before(cp)) .eq. Virama Then True; If Canonical_Combining_Class(Before(cp)) .eq. Virama Then True;
If cp .eq. \u200C And If cp .eq. \u200C And
RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*cp RegExpMatch((Joining_Type:{L,D})(Joining_Type:T)*cp
(Joining_Type:T)*(Joining_Type:{R,D})) Then True; (Joining_Type:T)*(Joining_Type:{R,D})) Then True;
7. Acknowledgements 7. Acknowledgements
This document was inspired by extensive discussions within the I18N This document was inspired by extensive discussions within the I18N
skipping to change at page 10, line 10 skipping to change at page 10, line 17
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5892] Faltstrom, P., Ed., "The Unicode Code Points and [RFC5892] Faltstrom, P., Ed., "The Unicode Code Points and
Internationalized Domain Names for Applications (IDNA)", Internationalized Domain Names for Applications (IDNA)",
RFC 5892, DOI 10.17487/RFC5892, August 2010, RFC 5892, DOI 10.17487/RFC5892, August 2010,
<https://www.rfc-editor.org/info/rfc5892>. <https://www.rfc-editor.org/info/rfc5892>.
[RFC5892a]
Faltstrom, P., Ed., "The Unicode Code Points and
Internationalized Domain Names for Applications (IDNA)",
RFC 5892, August 2010,
<http://www.rfc-editor.org/rfc/rfc5892.txt>.
Section 2.7
[RFC5892Erratum] [RFC5892Erratum]
"RFC5892, "The Unicode Code Points and Internationalized "RFC5892, "The Unicode Code Points and Internationalized
Domain Names for Applications (IDNA)", August 2010, Errata Domain Names for Applications (IDNA)", August 2010, Errata
ID: 3312", Errata ID 3312, August 2012, ID: 3312", Errata ID 3312, August 2012,
<http://www.rfc-editor.org/errata_search.php?rfc=5892>. <http://www.rfc-editor.org/errata_search.php?rfc=5892>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
skipping to change at page 11, line 18 skipping to change at page 11, line 34
Tables", June 2019, <https://www.icann.org/public- Tables", June 2019, <https://www.icann.org/public-
comments/proposed-iana-sla-lgr-idn-tables-2019-06-10-en>. comments/proposed-iana-sla-lgr-idn-tables-2019-06-10-en>.
Captured 2019-06-12. In public comment until 2019-07-26. Captured 2019-06-12. In public comment until 2019-07-26.
[ID.draft-faltstrom-unicode11] [ID.draft-faltstrom-unicode11]
Faltstrom, P., "IDNA2008 and Unicode 11.0.0", March 2019, Faltstrom, P., "IDNA2008 and Unicode 11.0.0", March 2019,
<https://datatracker.ietf.org/doc/ <https://datatracker.ietf.org/doc/
draft-faltstrom-unicode11/>. draft-faltstrom-unicode11/>.
[ID.draft-klensin-idna-rfc5891bis]
Klensin, J. and P. Falstrom, "Internationalized Domain
Names in Applications (IDNA): Registry Restrictions and
Recommendations", July 2019,
<https://datatracker.ietf.org/doc/
draft-klensin-idna-rfc5891bis/>.
[IDNA-Unicode12] [IDNA-Unicode12]
Faltstrom, P., "IDNA2008 and Unicode 12.0.0", March 2019, Faltstrom, P., "IDNA2008 and Unicode 12.0.0", March 2019,
<https://datatracker.ietf.org/doc/ <https://datatracker.ietf.org/doc/
draft-faltstrom-unicode12/>. draft-faltstrom-unicode12/>.
This document is in the RFC Editor queue at of 2019-06-09. This document is in the RFC Editor queue at of 2019-06-09.
Update to RFC reference if/when appropriate. Update to RFC reference if/when appropriate.
[IDNA-Unicode7] [IDNA-Unicode7]
Klensin, J. and P. Falstrom, "IDNA Update for Unicode Klensin, J. and P. Falstrom, "IDNA Update for Unicode
skipping to change at page 13, line 27 skipping to change at page 14, line 5
Unicode versions. Unicode versions.
o In part because Unicode is now on a regular one-year cycle rather o In part because Unicode is now on a regular one-year cycle rather
than producing major and minor versions as needed, to avoid than producing major and minor versions as needed, to avoid
overloading the IETF's i18n resources, and to avoid generating and overloading the IETF's i18n resources, and to avoid generating and
storing IANA tables for trivial changes (e.g., the single new code storing IANA tables for trivial changes (e.g., the single new code
point in Unicode 12.1), the review procedure is applied only to point in Unicode 12.1), the review procedure is applied only to
major versions of Unicode unless exceptional circumstances arise major versions of Unicode unless exceptional circumstances arise
and are identified. and are identified.
Appendix B. Change Log
RFC Editor: Please remove this appendix before publication.
B.1. Changes from version -00 (2019-06-12) to -01
o Added a note about the relationship to draft-klensin-idna-
rfc5891bis.
o Adjusted references per discussion with RFC Editor.
o Minor editorial corrections and improvements.
Authors' Addresses Authors' Addresses
John C Klensin John C Klensin
1770 Massachusetts Ave, Ste 322 1770 Massachusetts Ave, Ste 322
Cambridge, MA 02140 Cambridge, MA 02140
USA USA
Phone: +1 617 245 1457 Phone: +1 617 245 1457
Email: john-ietf@jck.com Email: john-ietf@jck.com
 End of changes. 11 change blocks. 
10 lines changed or deleted 47 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/