New versions of Protocol (-04) and Rationale (-02)

Erik van der Poel erikv at google.com
Tue Sep 16 17:09:39 CEST 2008


On Sun, Sep 14, 2008 at 10:41 AM, John C Klensin <klensin at jck.com> wrote:
> --On Friday, 12 September, 2008 17:26 -0700 Erik van der Poel <erikv at google.com> wrote:
>> 5.4.  A-label Input
>>
>>    If the input to this procedure appears to be an A-label
>> (i.e., it    starts in "xn--"), the lookup application MAY
>> attempt to convert it    to a U-label and apply the tests of
>> Section 5.5 and, of course, the    conversion of Section 5.6
>> to that form.  If the A-label is converted    to a U-label
>> then the processing specified in those two sections MUST
>> yield an A-label identical to the original one.
>>
>> It might be a bit clearer if the final sentence is changed to:
>> "If the label is converted to Unicode using the Punycode
>> decoding algorithm, then the processing specified in those two
>> sections MUST be performed, and the label MUST be rejected if
>> the resulting label is not identical to the original."
>
> Definitely better, IMO.  Changed unless someone objects.

Having thought about it some more, I think we may need to specify
another detail: What if the Punycode to Unicode conversion fails? If
we are serious about "reserving" labels that start with "xn--" for
"our" use, we may want to rewrite it as:

If an attempt is made to convert the label to Unicode, the Punycode
decoding algorithm MUST be used, and if that fails, the label MUST be
rejected. If it succeeds, the tests in Section 5.5 and conversion in
Section 5.6 MUST be performed, and if either of those fail or the
resulting label is not identical to the original label that started
with "xn--", then the label MUST be rejected.

Or is this beginning to look too much like the algorithmic description
found in IDNA2003?

Erik


More information about the Idna-update mailing list