Unconditional punycode conversion

Andrew Sullivan ajs at shinkuro.com
Tue Mar 8 12:42:26 CET 2011

On Tue, Mar 08, 2011 at 01:02:14AM +0100, Simon Josefsson wrote:
> The next-to-last part of IDNA2008-lookup is section 5.5 of RFC 5891:
>    The string that has now been validated for lookup is converted to ACE
>    form by applying the Punycode algorithm to the string and then adding
>    the ACE prefix ("xn--").
> Consider an IDNA2008-lookup input label of "foo".  The above appear to
> say that this string should be punycode encoded, which seems wrong.

Sections 5.2 and 5.3 suggest that the label should be "in Unicode" and
need to be a putative U-label.  It is unfortunate that the text
doesn't explicitly here say that the algorithm already doesn't apply
to NR-LDH labels, but I think that's correct.  So you shouldn't need
to run "foo" through punycode because you didn't take that branch: you
can tell before you get to the IDNA2008 lookup rules that it's an
NR-LDH label, so it won't be processed.


Andrew Sullivan
ajs at shinkuro.com
Shinkuro, Inc.

More information about the Idna-update mailing list