FWIW, this seems about right to me.
    john

--On Friday, 07 March, 2014 11:02 -0700 Peter Saint-Andre
<[email protected]> wrote:

> As promised at IETF 89, I have compared the username
> definitions from draft-oiwa-precis-httpauthprep-00 and
> draft-ietf-precis-saslprepbis-06, with the purpose of perhaps
> harmonizing the two approaches so that we can avoid
> multiplying PRECIS profiles beyond necessity.
> 
> (I am writing this email on the flight home, and I neglected
> to load up the meeting minutes before leaving, so I might not
> address all of the relevant points in this message.)
> 
> First, let's look at the syntax definitions.
> 
> draft-ietf-precis-saslprepbis-06 states that a username can
> (a) consist of one of more userparts, or (b) can be of the
> form userpart@domainpart. The ABNF definition is:
> 
>     username   = userpart [1*(1*SP userpart)]
>                / userpart '@' domainpart
> 
>     userpart   = 1*(idpoint)
> 
>     domainpart = IP-literal / IPv4address / ifqdn
> 
>     ifqdn      = 1*1023(domainpoint)
> 
> Where:
> 
> * an "idpoint" is a UTF-8 encoded Unicode code point that
> conforms to the PRECIS "IdentifierClass"
> * an "IPv4address" is as defined in RFC 3986
> * an "IP-literal" is as defined in RFC 3986
> * a "domainpoint" is a UTF-8 encoded Unicode code point that
> conforms to RFC 5890
> 
> By contrast, draft-oiwa-precis-httpauthprep states that a
> username consists of one or more UTF-8 encoded Unicode code
> points that conform to the PRECIS "IdentifierClass". The ABNF
> definition is:
> 
>     userpart   = 1*(idpoint)
> 
> We quickly see that an http-auth username is a legal PRECIS
> username, since 1*(idpoint) is simply a userpart as defined in
> draft-ietf-precis-saslprepbis-06, and a PRECIS username can
> consist of only one userpart. Therefore, in this respect, I
> think the httpauthprep text (whether it appears in a
> standalone document or elsewhere) can simply state that for
> purposes of HTTP authentication a username is a userpart as
> defined in draft-ietf-precis-saslprepbis.
> 
> Second, let's look at the string preparation method.
> 
> Here, too, draft-oiwa-precis-httpauthprep-00 is a subset of
> draft-ietf-precis-saslprepbis-06. The preparation method in
> draft-ietf-precis-saslprepbis-06 is:
> 
>     1.  The base string class is the "IdentifierClass"
> specified in
>         [I-D.ietf-precis-framework].
>     2.  Fullwidth and halfwidth characters MUST be mapped to
> their
>         decomposition equivalents.
>     3.  So-called additional mappings MAY be applied, such as
> those
>         defined in [I-D.ietf-precis-mappings].
>     4.  Uppercase and titlecase characters might be mapped to
> their
>         lowercase equivalents (see Section 4.2.1 below).
>     5.  Unicode Normalization Form C (NFC) MUST be applied to
> all
>         characters.
> 
> By contrast, the preparation method in
> draft-oiwa-precis-httpauthprep-00 is:
> 
>     1.  Fullwidth and halfwidth characters MUST be mapped to
> their
>         decomposition equivalents.
>     2.  Additional mappings SHOULD NOT be applied, such as
> those defined
>         in [I-D.ietf-precis-mappings], unless there are
> implementation-
>         dependent reasons to do so, or these are exceptionally
> required
>         by specific authentication schemes.
>     3.  Case mapping is not applied.
>     4.  Unicode Normalization Form C (NFC) MUST be applied to
> all
>         characters.o
> 
> These two defnitions agree on the width mapping and
> normalization rules described in the PRECIS framework. They
> appear to differ slightly with regard to the additional
> mapping and case mapping rules. However,
> draft-oiwa-precis-httpauthprep-00 is merely a bit more
> restrictive with regard to matters that are purely optional
> according to draft-ietf-precis-saslprepbis-06. For example,
> the option of saying that "case mapping is not applied" is
> allowed by the text "uppercase and titlecase characters might
> be mapped to their lowercase equivalents".
> 
> To make this clearer, I suggest that we modify the advice in
> draft-oiwa-precis-httpauthprep-00 so that it no longer defines
> its own PRECIS profile. Instead, I suggest that we phrase the
> httpauthprep text in terms of the username profile in
> draft-ietf-precis-saslprepbis-06. To my mind, something like
> this would work:
> 
>### 
> 
> For the purposes of HTTP authentication, a username conforms
> to the syntax definition and preparation methods specified in
> [I.D-draft-ietf-precis-saslprepbis], with the following
> limitations:
> 
> * a username conforms to the "userpart" construction from
> [I-D.draft-ietf-precis-saslprepbis]
> * case mapping is not applied
> * delimiter mappings, special mappings, and other so-called
> additional mappings [I-D.draft-ietf-precis-mappings] are not
> applied
> 
>### 
> 
> As far as I can see, this simplifies the httpautheprep text
> quite a bit.
> 
> (By the way, draft-oiwa-precis-httpauthprep-00 also seems to
> copy the password profile verbatim from
> draft-ietf-precis-saslprepbis. I think this text can be
> removed entirely, so that the httpauthprep text can simply
> reference draft-ietf-precis-saslprepbis.)
> 
> Yutaka and Alexey (and others), let me know what you think
> about what I have written here.
> 
> Thanks,
> 
> Peter
> 
> _______________________________________________
> precis mailing list
> [email protected]
> https://www.ietf.org/mailman/listinfo/precis




_______________________________________________
precis mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/precis

Reply via email to