PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols
RFC 8264
Document | Type |
RFC - Proposed Standard
(October 2017; Errata)
Obsoletes RFC 7564
|
|
---|---|---|---|
Authors | Peter Saint-Andre , Marc Blanchet | ||
Last updated | 2018-08-27 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Marc Blanchet | ||
Shepherd write-up | Show (last changed 2017-05-30) | ||
IESG | IESG state | RFC 8264 (Proposed Standard) | |
Consensus Boilerplate | Yes | ||
Telechat date | |||
Responsible AD | Alexey Melnikov | ||
Send notices to | Marc Blanchet <Marc.Blanchet@viagenie.ca> | ||
IANA | IANA review state | Version Changed - Review Needed | |
IANA action state | RFC-Ed-Ack |
Internet Engineering Task Force (IETF) P. Saint-Andre Request for Comments: 8264 Jabber.org Obsoletes: 7564 M. Blanchet Category: Standards Track Viagenie ISSN: 2070-1721 October 2017 PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols Abstract Application protocols using Unicode code points in protocol strings need to properly handle such strings in order to enforce internationalization rules for strings placed in various protocol slots (such as addresses and identifiers) and to perform valid comparison operations (e.g., for purposes of authentication or authorization). This document defines a framework enabling application protocols to perform the preparation, enforcement, and comparison of internationalized strings ("PRECIS") in a way that depends on the properties of Unicode code points and thus is more agile with respect to versions of Unicode. As a result, this framework provides a more sustainable approach to the handling of internationalized strings than the previous framework, known as Stringprep (RFC 3454). This document obsoletes RFC 7564. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8264. Copyright Notice Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of Saint-Andre & Blanchet Standards Track [Page 1] RFC 8264 PRECIS Framework October 2017 publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 3. Preparation, Enforcement, and Comparison . . . . . . . . . . 6 4. String Classes . . . . . . . . . . . . . . . . . . . . . . . 8 4.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 8 4.2. IdentifierClass . . . . . . . . . . . . . . . . . . . . . 9 4.2.1. Valid . . . . . . . . . . . . . . . . . . . . . . . . 9 4.2.2. Contextual Rule Required . . . . . . . . . . . . . . 10 4.2.3. Disallowed . . . . . . . . . . . . . . . . . . . . . 10 4.2.4. Unassigned . . . . . . . . . . . . . . . . . . . . . 10 4.2.5. Examples . . . . . . . . . . . . . . . . . . . . . . 11 4.3. FreeformClass . . . . . . . . . . . . . . . . . . . . . . 11 4.3.1. Valid . . . . . . . . . . . . . . . . . . . . . . . . 11 4.3.2. Contextual Rule Required . . . . . . . . . . . . . . 12 4.3.3. Disallowed . . . . . . . . . . . . . . . . . . . . . 12 4.3.4. Unassigned . . . . . . . . . . . . . . . . . . . . . 12 4.3.5. Examples . . . . . . . . . . . . . . . . . . . . . . 12 4.4. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 12 5. Profiles . . . . . . . . . . . . . . . . . . . . . . . . . . 14 5.1. Profiles Must Not Be Multiplied beyond Necessity . . . . 14 5.2. Rules . . . . . . . . . . . . . . . . . . . . . . . . . . 15 5.2.1. Width Mapping Rule . . . . . . . . . . . . . . . . . 15 5.2.2. Additional Mapping Rule . . . . . . . . . . . . . . . 15 5.2.3. Case Mapping Rule . . . . . . . . . . . . . . . . . . 16 5.2.4. Normalization Rule . . . . . . . . . . . . . . . . . 16 5.2.5. Directionality Rule . . . . . . . . . . . . . . . . . 17 5.3. A Note about Spaces . . . . . . . . . . . . . . . . . . . 18 6. Applications . . . . . . . . . . . . . . . . . . . . . . . . 18 6.1. How to Use PRECIS in Applications . . . . . . . . . . . . 18 6.2. Further Excluded Characters . . . . . . . . . . . . . . . 20Show full document text