Move manual to doc/.
[libidn.git] / draft-ietf-xmpp-resourceprep-03.txt
blob7114a9df9984c639ff0b4e152179958d27d61ea5
3 Network Working Group                                     P. Saint-Andre
4 Internet-Draft                                Jabber Software Foundation
5 Expires: December 3, 2003                                  J. Hildebrand
6                                                             Jabber, Inc.
7                                                            June 04, 2003
10   Resourceprep: A Stringprep Profile for Resource Identifiers in XMPP
11                     draft-ietf-xmpp-resourceprep-03
13 Status of this Memo
15    This document is an Internet-Draft and is in full conformance with
16    all provisions of Section 10 of RFC2026.
18    Internet-Drafts are working documents of the Internet Engineering
19    Task Force (IETF), its areas, and its working groups. Note that other
20    groups may also distribute working documents as Internet-Drafts.
22    Internet-Drafts are draft documents valid for a maximum of six months
23    and may be updated, replaced, or obsoleted by other documents at any
24    time. It is inappropriate to use Internet-Drafts as reference
25    material or to cite them other than as "work in progress."
27    The list of current Internet-Drafts can be accessed at http://
28    www.ietf.org/ietf/1id-abstracts.txt.
30    The list of Internet-Draft Shadow Directories can be accessed at
31    http://www.ietf.org/shadow.html.
33    This Internet-Draft will expire on December 3, 2003.
35 Copyright Notice
37    Copyright (C) The Internet Society (2003). All Rights Reserved.
39 Abstract
41    This document defines a stringprep profile for resource identifiers
42    in the Extensible Messaging and Presence Protocol (XMPP).
55 Saint-Andre & Hildebrand    Expires December 3, 2003            [Page 1]
57 Internet-Draft                Resourceprep                     June 2003
60 Table of Contents
62    1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
63    1.1 Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
64    1.2 Discussion Venue . . . . . . . . . . . . . . . . . . . . . . .  3
65    1.3 Intellectual Property Notice . . . . . . . . . . . . . . . . .  3
66    2.  Character Repertoire . . . . . . . . . . . . . . . . . . . . .  5
67    3.  Mapping  . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
68    4.  Normalization  . . . . . . . . . . . . . . . . . . . . . . . .  7
69    5.  Prohibited Output  . . . . . . . . . . . . . . . . . . . . . .  8
70    6.  Bidirectional Characters . . . . . . . . . . . . . . . . . . .  9
71    7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 10
72    8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 11
73        Normative References . . . . . . . . . . . . . . . . . . . . . 12
74        Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 12
75    A.  Revision History . . . . . . . . . . . . . . . . . . . . . . . 13
76    A.1 Changes from draft-ietf-xmpp-resourceprep-02 . . . . . . . . . 13
77    A.2 Changes from draft-ietf-xmpp-resourceprep-01 . . . . . . . . . 13
78    A.3 Changes from draft-ietf-xmpp-resourceprep-00 . . . . . . . . . 13
79        Intellectual Property and Copyright Statements . . . . . . . . 14
111 Saint-Andre & Hildebrand    Expires December 3, 2003            [Page 2]
113 Internet-Draft                Resourceprep                     June 2003
116 1. Introduction
118    This document, which defines a profile of stringprep (RFC 3454 [1]),
119    specifies processing rules that will enable users to enter
120    internationalized resource identifiers in XMPP (see XMPP Core [2])
121    and have the highest chance of getting the content of the strings
122    correct. These processing rules are intended only for XMPP resource
123    identifiers (which are often associated with session names), and are
124    not intended for arbitrary text.
126    This profile defines the following, as required by RFC 3454 [1]:
128    o  The intended applicability of the profile: internationalized
129       resource identifiers within XMPP
131    o  The character repertoire that is the input and output to
132       stringprep: Unicode 3.2, specified in section 2
134    o  The mappings used: specified in section 3
136    o  The Unicode normalization used: specified in section 4
138    o  The characters that are prohibited as output: specified in section
139       5
141    o  Bidirectional character handling: specified in section 6
144 1.1 Terminology
146    This document inherits the terminology defined in XMPP Core [2].
148    The capitalized key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
149    "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and
150    "OPTIONAL" in this document are to be interpreted as described in RFC
151    2119 [3].
153 1.2 Discussion Venue
155    The authors welcome discussion and comments related to the topics
156    presented in this document. The preferred forum is the
157    <xmppwg@jabber.org> mailing list, for which archives and subscription
158    information are available at <http://www.jabber.org/cgi-bin/mailman/
159    listinfo/xmppwg/>.
161 1.3 Intellectual Property Notice
163    This document is in full compliance with all provisions of Section 10
167 Saint-Andre & Hildebrand    Expires December 3, 2003            [Page 3]
169 Internet-Draft                Resourceprep                     June 2003
172    of RFC 2026. Parts of this specification use the term "jabber" for
173    identifying namespaces and other protocol syntax. Jabber[tm] is a
174    registered trademark of Jabber, Inc.  Jabber, Inc. grants permission
175    to the IETF for use of the Jabber trademark in association with this
176    specification and its successors, if any.
223 Saint-Andre & Hildebrand    Expires December 3, 2003            [Page 4]
225 Internet-Draft                Resourceprep                     June 2003
228 2. Character Repertoire
230    This profile uses Unicode 3.2 with the list of unassigned code points
231    being Table A.1, both defined in Appendix A of RFC 3454 [1].
279 Saint-Andre & Hildebrand    Expires December 3, 2003            [Page 5]
281 Internet-Draft                Resourceprep                     June 2003
284 3. Mapping
286    This profile specifies mapping using the following tables from RFC
287    3454 [1]:
289       Table B.1
335 Saint-Andre & Hildebrand    Expires December 3, 2003            [Page 6]
337 Internet-Draft                Resourceprep                     June 2003
340 4. Normalization
342    This profile specifies using Unicode normalization form KC, as
343    described in RFC 3454 [1].
391 Saint-Andre & Hildebrand    Expires December 3, 2003            [Page 7]
393 Internet-Draft                Resourceprep                     June 2003
396 5. Prohibited Output
398    This profile specifies prohibiting use of the following tables from
399    RFC 3454 [1].
401       Table C.1.2
403       Table C.2.1
405       Table C.2.2
407       Table C.3
409       Table C.4
411       Table C.5
413       Table C.6
415       Table C.7
417       Table C.8
419       Table C.9
447 Saint-Andre & Hildebrand    Expires December 3, 2003            [Page 8]
449 Internet-Draft                Resourceprep                     June 2003
452 6. Bidirectional Characters
454    This profile specifies checking bidirectional strings as described in
455    section 6 of RFC 3454 [1].
503 Saint-Andre & Hildebrand    Expires December 3, 2003            [Page 9]
505 Internet-Draft                Resourceprep                     June 2003
508 7. Security Considerations
510    The Unicode and ISO/IEC 10646 repertoires have many characters that
511    look similar. In many cases, users of security protocols might do
512    visual matching, such as when comparing the names of trusted third
513    parties.  Because it is impossible to map similar-looking characters
514    without a great deal of context such as knowing the fonts used,
515    stringprep does nothing to map similar-looking characters together
516    nor to prohibit some characters because they look like others.
518    A resource identifier can be employed as one part of an entity's
519    address in XMPP. One common usage is as the name for an instant
520    messaging user's active session; another is as the nickname of a user
521    in a multi-user chat room; and many other kinds of entities could use
522    resource identifiers as part of their addresses. The security of such
523    services could be compromised based on different interpretations of
524    the internationalized resource identifier; for example, a user could
525    attempt to initiate multiple sessions with the same name, or a user
526    could send a message to someone other than the intended recipient in
527    a multi-user chat room.
559 Saint-Andre & Hildebrand    Expires December 3, 2003           [Page 10]
561 Internet-Draft                Resourceprep                     June 2003
564 8. IANA Considerations
566    This is a profile of stringprep. If and when it becomes an RFC, it
567    should be registered in the stringprep profile registry maintained by
568    the IANA [4].
570    Name of this profile:
572       Resourceprep
574    RFC in which the profile is defined:
576       This document
578    Indicator whether or not this is the newest version of the profile:
580       This is the first version of Resourceprep
615 Saint-Andre & Hildebrand    Expires December 3, 2003           [Page 11]
617 Internet-Draft                Resourceprep                     June 2003
620 Normative References
622    [1]  Hoffman, P. and M. Blanchet, "Preparation of Internationalized
623         Strings ("stringprep")", RFC 3454, December 2002.
625    [2]  Saint-Andre, P. and J. Miller, "XMPP Core",
626         draft-ietf-xmpp-core-13 (work in progress), June 2003.
628    [3]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
629         Levels", BCP 14, RFC 2119, March 1997.
631    [4]  Internet Assigned Numbers Authority, "Internet Assigned Numbers
632         Authority", January 1998, <http://www.iana.org/>.
635 Authors' Addresses
637    Peter Saint-Andre
638    Jabber Software Foundation
640    EMail: stpeter@jabber.org
641    URI:   http://www.jabber.org/people/stpeter.php
644    Joe Hildebrand
645    Jabber, Inc.
647    EMail: jhildebrand@jabber.com
648    URI:   http://www.jabber.org/people/hildjj.php
671 Saint-Andre & Hildebrand    Expires December 3, 2003           [Page 12]
673 Internet-Draft                Resourceprep                     June 2003
676 Appendix A. Revision History
678    Note to RFC Editor: please remove this entire appendix, and the
679    corresponding entries in the table of contents, prior to publication.
681 A.1 Changes from draft-ietf-xmpp-resourceprep-02
683    o  Provided additional examples of resource identifier usage.
685    o  Made several small editorial changes.
688 A.2 Changes from draft-ietf-xmpp-resourceprep-01
690    o  Made small editorial changes to address RFC Editor requirements.
693 A.3 Changes from draft-ietf-xmpp-resourceprep-00
695    o  Clarified references to Unicode 3.2 and unassigned code points.
697    o  Corrected normalization routine.
699    o  Removed reference to section B.2 of RFC 3454 (no case folding
700       required).
727 Saint-Andre & Hildebrand    Expires December 3, 2003           [Page 13]
729 Internet-Draft                Resourceprep                     June 2003
732 Intellectual Property Statement
734    The IETF takes no position regarding the validity or scope of any
735    intellectual property or other rights that might be claimed to
736    pertain to the implementation or use of the technology described in
737    this document or the extent to which any license under such rights
738    might or might not be available; neither does it represent that it
739    has made any effort to identify any such rights. Information on the
740    IETF's procedures with respect to rights in standards-track and
741    standards-related documentation can be found in BCP-11. Copies of
742    claims of rights made available for publication and any assurances of
743    licenses to be made available, or the result of an attempt made to
744    obtain a general license or permission for the use of such
745    proprietary rights by implementors or users of this specification can
746    be obtained from the IETF Secretariat.
748    The IETF invites any interested party to bring to its attention any
749    copyrights, patents or patent applications, or other proprietary
750    rights which may cover technology that may be required to practice
751    this standard. Please address the information to the IETF Executive
752    Director.
755 Full Copyright Statement
757    Copyright (C) The Internet Society (2003). All Rights Reserved.
759    This document and translations of it may be copied and furnished to
760    others, and derivative works that comment on or otherwise explain it
761    or assist in its implementation may be prepared, copied, published
762    and distributed, in whole or in part, without restriction of any
763    kind, provided that the above copyright notice and this paragraph are
764    included on all such copies and derivative works. However, this
765    document itself may not be modified in any way, such as by removing
766    the copyright notice or references to the Internet Society or other
767    Internet organizations, except as needed for the purpose of
768    developing Internet standards in which case the procedures for
769    copyrights defined in the Internet Standards process must be
770    followed, or as required to translate it into languages other than
771    English.
773    The limited permissions granted above are perpetual and will not be
774    revoked by the Internet Society or its successors or assignees.
776    This document and the information contained herein is provided on an
777    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
778    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
779    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
783 Saint-Andre & Hildebrand    Expires December 3, 2003           [Page 14]
785 Internet-Draft                Resourceprep                     June 2003
788    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
789    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
792 Acknowledgement
794    Funding for the RFC Editor function is currently provided by the
795    Internet Society.
839 Saint-Andre & Hildebrand    Expires December 3, 2003           [Page 15]