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]