Network Working Group T. NEMOTO Internet-Draft Keio University Intended status: Informational Y. YONEYA Expires: January 6, 2013 JPRS July 5, 2012 precis framework implementation report draft-nemoto-precis-framework-implement-report-00 Abstract This document reports implementation experience of precis framework [I-D.ietf-precis-framework] for SASLprepbis [I-D.melnikov-precis-saslprepbis] and findings from the experience. 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 January 6, 2013. Copyright Notice Copyright (c) 2012 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 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 January 6, 2013 [Page 1] Internet-Draft precis framework implementation report July 2012 1. Introduction This document is a report of implementation experience to evaluate whether precis framework [I-D.ietf-precis-framework] for SASLprepbis [I-D.melnikov-precis-saslprepbis] can implement and findings from this experience. Some implementations of IDNA2008 [RFC5890][RFC5891][RFC5892] [RFC5893][RFC5894] are expected to be modified to fit precis framework. The experience was 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 implementation of IDNA2008 to provide useful features such as normalization and mapping for precis framework and SASLprepbis. The other is empirically to calculate precis' derived property value and to generate idnabis-tables.xml alike table based on precis framework by using Unicode properties files. These implementations are experimental for limited to SASLprepbis and not generic. NEMOTO & YONEYA Expires January 6, 2013 [Page 2] Internet-Draft precis framework implementation report July 2012 2. Experience 2.1. Purposes Purposes of the implementations are following; o To evaluate whether precis framework can implement. o To examine whether implementations based on IDNA2008 has useful features and needs modifications for precis framework implementations. o To evaluate whether generated table's derived property value by this implementation is the same as precis framework's one. 2.2. Implementations In this document, two implementations based on precis framework are described. These implementations follow implementations of IDNA2008 [I-D.nemoto-idna2008-implementation-report]. The one is modified implementation of IDNA2008 for precis framework. The base implementation provides APIs for handling internationalized domain names. This implementation is for providing mapping SASLprepbis 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 implementations 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 framework which 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 alike table based on precis framework by using Unicode properties files. NEMOTO & YONEYA Expires January 6, 2013 [Page 3] Internet-Draft precis framework implementation report July 2012 3. Findings Findings from implementation experience are following. o SASLprepbis as one of precis framework's property can implement. o Useful processes of IDNA2008 implementation for precis framework are following. * Some mapping features Ex. Casefolding, nfc, width * 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 string length is non-zero o Modifications to IDNA2008 implementation for precis framework are following. * Mappings depend on each protocols defined mapping table. Ex. Special mapping (Map to SPACE, Map to Nothing) * Checking whether strings are precis NAME CLASS or FREE CLASS processes o In IDNA2008, handling order is NFC and then strings validity checking. But, in SASLprepbis handling order is precis strings validity checking and then NFC. This different handling order may be one of problems at modifications to IDNA2008 implementation for SASLprepbis. We evaluated their order of handling and found different results from each handling orders. I.e. In Hangul, some characters' derived property value is DISALLOWED before NFC, but after NFC the value is PVALID. Before NFC: HANGUL JAMO (1100+1161) = DISALLOWED After NFC: HANGUL SYLLABLE (AC00) = PVALID If these different results are not critical, it may be better for developers that SASLprepbis' handling order imitates IDNA2008's one as NFC and then strings validity checking. o Generated table's derived property value by this implementation isn't the same as precis framework's one. Ex. "00BA" is FREE_PVAL in precis framework's table but PVALID in the generated one. Ex. "074B" is PVALID in precis framework's table but UNASSIGNED in the generated one. In these case, according to on Unicode properties files values, NEMOTO & YONEYA Expires January 6, 2013 [Page 4] Internet-Draft precis framework implementation report July 2012 the generated table's values are correct. Precis framework's table may need to review. NEMOTO & YONEYA Expires January 6, 2013 [Page 5] Internet-Draft precis framework implementation report July 2012 4. IANA Considerations TBD. NEMOTO & YONEYA Expires January 6, 2013 [Page 6] Internet-Draft precis framework implementation report July 2012 5. Security Considerations TBD. NEMOTO & YONEYA Expires January 6, 2013 [Page 7] Internet-Draft precis framework implementation report July 2012 6. 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-03 (work in progress), May 2012. [I-D.nemoto-idna2008-implementation-report] NEMOTO, T. and Y. Yoneya, "IDNA2008 implementation report", draft-nemoto-idna2008-implementation-report-00 (work in progress), February 2012. [I-D.melnikov-precis-saslprepbis] Saint-Andre, P. and A. Melnikov, "Username and Password Preparation Algorithms", draft-melnikov-precis-saslprepbis-00 (work in progress), March 2012. NEMOTO & YONEYA Expires January 6, 2013 [Page 8] Internet-Draft precis framework implementation report July 2012 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 January 6, 2013 [Page 9]