Network Working Group T. NEMOTO Internet-Draft Keio University Intended status: Informational Y. YONEYA Expires: August 29, 2013 JPRS February 25, 2013 precis implementation report draft-nemoto-precis-framework-implement-report-01 Abstract This document reports implementation experience of precis framework [I-D.ietf-precis-framework], for SASLprepbis [I-D.ietf-precis-saslprepbis], Nickname [I-D.ietf-precis-nickname] and XMPPbis [I-D.ietf-xmpp-6122bis], and findings from the experience. And this document further discusses considerations to implement precis framework. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on August 29, 2013. Copyright Notice Copyright (c) 2013 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 (http://trustee.ietf.org/license-info) in effect on the date of 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 NEMOTO & YONEYA Expires August 29, 2013 [Page 1] Internet-Draft precis imple February 2013 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. NEMOTO & YONEYA Expires August 29, 2013 [Page 2] Internet-Draft precis imple February 2013 1. Introduction This document is a report of implementation experience to evaluate whether precis framework for each protocol can implement. Some applications of IDNA2008 [RFC5890] [RFC5891] [RFC5892] [RFC5893] [RFC5894] are expected to modified to precis framework. This document reports to examine whether a implementation based on IDNA2008 has useful processes and needs modifications for precis framework. In this document, two implementations based on precis framework are described. The one is to evaluate the feasibility of implementation for precis framework. This implementation is modified an application of IDNA2008 to provide useful features such as normalization and mappings for precis framework and some protocols. The other is empirically to calculate precis' derived property value and to generate idnabis-tables.xml is a like table based on precis framework by using Unicode properties files. And also some applications are expected to support some protocols. If one precis framework implementation is for one protocol, there may be duplications of processes in multiprotocols-adaptive applications. To eliminate the waste of duplications and to be adapted flexibly for multiprotocols, this document reports summary of common features with and different individual features from precis framework's recommendation in each protocol. NEMOTO & YONEYA Expires August 29, 2013 [Page 3] Internet-Draft precis imple February 2013 2. Experience 2.1. Purposes Purposes of the implementations are following; o To evaluate whether precis framework can implement. o To examine whether applications based on IDNA2008 has useful features and needs modifications for precis framework implementations. o To evaluate whether precis framework implementations for some protocols have common features with and different individual features from precis framework's recommendation. 2.2. Implementations In this document, two implementations based on precis are described. these implementations follow implementations of IDNA2008 [I-D.nemoto-idna2008-implementation-report]. The one is modified application of IDNA2008 for precis framework. The base application provides APIs for handling internationalized domain names. This implementation is for providing mapping SASLprepbis, Nickname and XMPPbis defined and strings validity check. The implementation is to evaluate whether SASLprepbis as one of precis framework's property can be implemented and to find out whether applications based on IDNA2008 has useful features and needs modifications for precis framework implementations. The implementation can import tables of certain version of Unicode properties and corresponding derived property value table for precis is the same format as idnabis-tables.xml for codepoint validation. The other is empirically to calculate precis' derived property value and to generate idnabis-tables.xml is a like table based on precis framework by using Unicode properties files. NEMOTO & YONEYA Expires August 29, 2013 [Page 4] Internet-Draft precis imple February 2013 3. Findings Findings from implementation experience are following. o SASLprepbis, Nickname and XMPPbis as one of precis framework's property can implement individually. o Applications based on IDNA2008 has useful processes are following. * Some mapping features Ex. Casemapping, nfc, width mapping, delimiter mapping * Strings validity checking processes Ex. For derived property value (As necessary, the file describing derived property value table for precis should be generated.) Ex. For byte length o Applications based on IDNA2008 needs modifications for precis implementations are following. * Mappings depend on each protocols defined mapping table. Ex. Specilal mapping (Mapping to SPACE, Mapping to Nothitng) * Checking whether strings are precis NameClass, FreeClass or SubClass processes NEMOTO & YONEYA Expires August 29, 2013 [Page 5] Internet-Draft precis imple February 2013 4. Summary of implementation results This section summarizes different protocol individual features from and common features with precis framework's recommendation. And this section lists useful processes from an application based on IDNA2008. 4.1. Individual features for SASLprepbis o In passwords, non ASCII space characters are mapped to SPACE(U+ 0020) 4.2. Individual features for Nickname o NFKC o Non ASCII space characters from "N" category MUST be mapped to SPACE(U+0020) o Leading and trailing whitespace MUST be removed o Interior sequences of more than one ASCII space character MUST be mapped to a single ASCII space character 4.3. Individual features for XMPPbis o Width mapping 4.4. Common features with precis framework's recommendation o NFC o Casemapping o Additional mapping o Bidi Rule 4.5. Useful processes from an IDNA2008 application o NFC, NFKC o Casemapping o Width mapping o Delimiter mapping NEMOTO & YONEYA Expires August 29, 2013 [Page 6] Internet-Draft precis imple February 2013 o Language based local mapping o Bidi Rule o Strings validity checking NEMOTO & YONEYA Expires August 29, 2013 [Page 7] Internet-Draft precis imple February 2013 5. Further Discussion In this document, some applications are expected to use some protocols and one precis framework implementation shuold be adapted for multiprotocols. From this point, this section further discusses open issues to implement precis framework. o If one implementation supports precis NameClass and FreeClass, it is necessary to be able to express these in one derived properties table to eliminate the waste of duplications. And it's necessary to define a format of a precis' derived properties table. o From Section 4, each protocol has some similar individual features(Ex: mapping to SPASE, mapping to nothitng, delimiter mapping). It's necessary to generalize these features and prepare some generalized features to be adapted flexibly for multiprotocols. Followings are generalized features for precis framework implementation. * Mapping from one character to other character or nothitng * Mapping from sequence that is more than one character to one character * Removing leading and trailing whitespace * Disallowing additional prohibited characters that each protocol defines as SubClass of precis framework individually NEMOTO & YONEYA Expires August 29, 2013 [Page 8] Internet-Draft precis imple February 2013 6. IANA Considerations TBD. NEMOTO & YONEYA Expires August 29, 2013 [Page 9] Internet-Draft precis imple February 2013 7. Security Considerations TBD. NEMOTO & YONEYA Expires August 29, 2013 [Page 10] Internet-Draft precis imple February 2013 8. Acknowledgment TBD. NEMOTO & YONEYA Expires August 29, 2013 [Page 11] Internet-Draft precis imple February 2013 9. Normative references [RFC5890] Klensin, J., "Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework", RFC 5890, August 2010. [RFC5891] Klensin, J., "Internationalized Domain Names in Applications (IDNA): Protocol", RFC 5891, August 2010. [RFC5892] Faltstrom, P., "The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)", RFC 5892, August 2010. [RFC5893] Alvestrand, H. and C. Karp, "Right-to-Left Scripts for Internationalized Domain Names for Applications (IDNA)", RFC 5893, August 2010. [RFC5894] Klensin, J., "Internationalized Domain Names for Applications (IDNA): Background, Explanation, and Rationale", RFC 5894, August 2010. [I-D.ietf-precis-framework] Saint-Andre, P. and M. Blanchet, "PRECIS Framework: Preparation and Comparison of Internationalized Strings in Application Protocols", draft-ietf-precis-framework-06 (work in progress), September 2012. [I-D.nemoto-idna2008-implementation-report] NEMOTO, T. and Y. Yoneya, "IDNA2008 implementation report", draft-nemoto-idna2008-implementation-report-01 (work in progress), August 2012. [I-D.ietf-precis-saslprepbis] Saint-Andre, P. and A. Melnikov, "Preparation and Comparison of Internationalized Strings Representing Simple User Names and Passwords", draft-ietf-precis-saslprepbis-00 (work in progress), February 2013. [I-D.ietf-precis-nickname] Saint-Andre, P., "Preparation and Comparison of Nicknames", draft-ietf-precis-nickname-05 (work in progress), November 2012. [I-D.ietf-xmpp-6122bis] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Address Format", draft-ietf-xmpp-6122bis-05 (work in progress), NEMOTO & YONEYA Expires August 29, 2013 [Page 12] Internet-Draft precis imple February 2013 November 2012. NEMOTO & YONEYA Expires August 29, 2013 [Page 13] Internet-Draft precis imple February 2013 Appendix A. Change Log A.1. Changes since -00 o Modify document structure for developers of an application of precis framework. o Modify the Section 2 "Experience". o Modify the Section 3 "Findings". o Add the Section 4 "Summary of implementation results". o Add the Section 5 "Further Discussion". o Add the Appendix A "Change Log". NEMOTO & YONEYA Expires August 29, 2013 [Page 14] Internet-Draft precis imple February 2013 Authors' Addresses Takahiro NEMOTO Keio University Graduate School of Media Design 4-1-1 Hiyoshi, Kohoku-ku Yokohama, Kanagawa 223-8526 Japan Phone: +81 45 564 2517 Email: t.nemo10@kmd.keio.ac.jp Yoshiro YONEYA JPRS Chiyoda First Bldg. East 13F 3-8-1 Nishi-Kanda Chiyoda-ku, Tokyo 101-0065 Japan Phone: +81 3 5215 8451 Email: yoshiro.yoneya@jprs.co.jp NEMOTO & YONEYA Expires August 29, 2013 [Page 15]