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]