Comments on draft-ietf-idnabis-defs-10

John C Klensin klensin at jck.com
Mon Aug 31 08:06:20 CEST 2009



--On Monday, August 31, 2009 07:10 +0200 Patrik Fältström
<patrik at frobbit.se> wrote:

> 
> On 31 aug 2009, at 07.05, Patrik Fältström wrote:
> 
>> So, casefold of the ascii in the A-label only result in
>> casefold of the ascii in the U-label.
> 
> Ok, after a gulp of coffee, I see your point.
> 
> In the tables document we have the following:
> 
>> 2.5. LDH (E) E:
>> 
>>     cp is in {002D, 0030..0039, 0061..007A}
> 
> That make for example 'F' illegal in an U-label.
> 
> By changing this rule to the following, uppercase ASCII would
> be ok to have in an U-label.
> 
> 2.5. LDH (E) E:
> 
>      cp is in {002D, 0030..0039, 0041..005A, 0061..007A}

But that would be a mistake, IMO, because it would result in
U-labels containing uppercase ASCII that produce different
A-labels from the same U-label with lowercase ASCII.  Those
A-labels would match in the DNS, which uses case-insensitive
comparison, but not in ordinary string comparisons (because they
are different).  

Put differently, that would give us a pair of U-labels that do
not compare equal on bitstring comparison (the only kind of
comparison defined for U-labels) but which produce equivalent
(although not identical) A-labels.  And, because of the
compression "feature", we would lose unambiguous symmetry of
A-labels and U-labels because, depending on where it came from,
a given A-label (and its DNS-equivalents) could produce
different U-labels.

This would also imply that 
   "Fältström" and "fältström"
would be valid U-labels but that "FÄLTSTRÖM" would not be
because Ä and Ö are both DISALLOWED.  I don't think we want to
go there.

    john





More information about the Idna-update mailing list