Internet DRAFT - draft-nemoto-precis-framework-implement-report
draft-nemoto-precis-framework-implement-report
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]