Subject: SASLPrep vs Full Stop code points

From: Jeffrey Altman <[email-masked]>
Date: Fri, 31 Oct 2003 13:49:31 -0500

Over the last week I have realized that we may have overlooked a 
necessary mapping for the SASLPrep: Full Stop code points.

The Full Stop code points

    U+002E (full stop)
    U+3002 (ideographic full stop)
    U+FF0E (fullwidth full stop)
    U+FF61 (halfwidth ideographic full stop).

do not have mapping tables in StringPrep and are not mapped in NamePrep 
because IDNA (RFC 3490) uses these characters as an equivalent class of 
label separators.  Therefore, they cannot exist in any input to which 
NamePrep would have been applied.

It is my belief that SASLPrep must specify a mapping requiring all Full 
Stop code points to be mapped to U+002E (full stop).

Jeffrey Altman

---

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

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.

Please see the attached, esp., the issue-1.

With regards,

Ienup

] Date: Fri, 31 Oct 2003 13:49:31 -0500
] From: Jeffrey Altman <[email-masked]>
] Subject: 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
] 
] Over the last week I have realized that we may have overlooked a 
] necessary mapping for the SASLPrep: Full Stop code points.
] 
] The Full Stop code points
] 
]     U+002E (full stop)
]     U+3002 (ideographic full stop)
]     U+FF0E (fullwidth full stop)
]     U+FF61 (halfwidth ideographic full stop).
] 
] do not have mapping tables in StringPrep and are not mapped in NamePrep 
] because IDNA (RFC 3490) uses these characters as an equivalent class of 
] label separators.  Therefore, they cannot exist in any input to which 
] NamePrep would have been applied.
] 
] It is my belief that SASLPrep must specify a mapping requiring all Full 
] Stop code points to be mapped to U+002E (full stop).
] 
] Jeffrey Altman
] 
] 
] 
] 
]

---

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: Ienup Sung <[email-masked]>
Date: Fri, 31 Oct 2003 17:42:56 -0800 (PST)

Regarding the full stops, while I do understand the point of display vs.
storage/query string in my opinion, I think the issue boils down onto
the followign two things in my view:

1. Should/can we treat ideographic/Asian full stops as equivalent characters
   of the ASCII full stop (U+002E) in 100% of the possible cases/usages?
   The answer is no since the U+002E is not only a full stop character but
   it is also a period and dot/decimal point character; CJK speakers do not use
   the ideographic/Asian full stops as the dot/decimal point character and
   hence some use of the ideographic/Asian full stops rather be preserved as
   they are to be distingushed. And in that cases, can we distinguish what to
   preserve and what not to preserve and map?

2. Should/can we keep the compatiblity with the IDNA's additional and
   pre-processing on the label separators, i.e., mappings of all full stops to
   the U+002E, for the domain style (IDN) names before they are used?
   I think the answer should be yes.

I know the above two sound conflicting and the example shown at the argument
#1 could be considered as a case that may not need to be really supported.
But I thought presenting them might be a valuable thing to do.

With regards,

Ienup