Subject: Re: SASLPrep vs Full Stop code points

From: Ienup Sung <[email-masked]>
Date: Fri, 31 Oct 2003 13:07:14 -0800 (PST)

Thanks.

I agree with you on the place where the mappings of various full stops to
the U+002E (ASCII's full stop) should be done; the best place would be before
any Stringprep profile based preparation and iff the name is of Internet domain
style names.

The reason for the above is that the U+002E isn't equivalent/equal to any
other ideographic full stops for all the cases and thus, rather, the ideographic
full stops needed to be preserved as they are. One notable exception is
of course when they are used as label separators for the Internet domain
style names.

With regards,

Ienup

] Date: Fri, 31 Oct 2003 15:07:42 -0500
] From: Jeffrey Altman <[email-masked]>
] Subject: Re: SASLPrep vs Full Stop code points
] To: [email-masked], [email-masked]
] MIME-version: 1.0
] Content-transfer-encoding: 7bit
] X-Accept-Language: en-us, en
] X-No-Spam-Score: Local
] X-Scanned-By: MIMEDefang 2.35
] 
] Ienup Sung wrote:
] 
] >Actually, the IDNA specifies that out of the Stringprep and the Nameprep
] >profile; in the similar sense/reasons and to preserve the context of the 
various
] >full stops as much as possible, it seems the Kerberos extension also need to
] >specify the additional mappings at the extension not at the Stringprep profile
] >and only for the Internet domain-style names
] >  
] >
] I see no justification for while this should be specified at some level 
] above the
] application of SASLprep.  SASLprep is applied to Storage and Query 
] strings for the
] purpose of ensuring that the strings are equivalent when matching are 
] performed
] or that the one true form is used as input to cryptographic operations.
] 
] If the Full Stop must be mapped to U+002E before applying SASLprep, and 
] both
] operations must always be performed, then it follows that the Full Stop 
] mapping
] should be part of SASLprep. 
] 
] 
] 
] 
]

---

From: Jeffrey Altman <[email-masked]>
Date: Fri, 31 Oct 2003 16:38:09 -0500

Ienup:

I do not agree with you. 

You cannot have it both ways.  Either the code points are considered to be
equivalent in which case they are mapped, or they are not equivalent in 
which
case they cannot be mapped.

Please remember that the purpose of SASLPrep is to produce a unique 
representation
of a string which is independent of locale and which can be stored in a 
database
for the purpose of ensuring that it can be queried successfully in the 
future.

Strings which have a String Prep profile applied to them are NOT meant 
to be
used for displaying strings to end users.  They are meant only for the 
purpose
of on the wire equivalency.

SASLPrep is a string prep profile which specifies all of the steps which 
must be
taken an in which order they are to be taken in order to produce the 
form to be
stored in the database.  If there are different classes of strings for 
which
there should be different string prep profiles specified for the 
different classes.

- Jeff