simon at josefsson.org
Thu Jan 27 12:19:35 CET 2011
Mark Davis ☕ <mark at macchiato.com> writes:
>> Thank you, I'm now going through these against my implementation.
>> However, shouldn't I also ignore the toUnicode column for all B tests?
> The B lines are valid for both T and N, so you should include them.
Then I'm stuck, and I would appreciate clarification from everyone about
what IDNA2008 is saying. Your second test case is:
B; FASS.DE; fass.de; ;
The only place (that I can find) where IDNA2008 converts to lower case
is in the following paragraph:
5.3. A-label Input
If the input to this procedure appears to be an A-label (i.e., it
starts in "xn--", interpreted case-insensitively), the lookup
application MAY attempt to convert it to a U-label, first ensuring
that the A-label is entirely in lowercase (converting it to lowercase
if necessary), and apply the tests of Section 5.4 and the conversion
of Section 5.5 to that form. If the label is converted to Unicode
(i.e., to U-label form) 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. See Section 8.1 of the Rationale document [RFC5894]
for additional discussion on this topic.
However "FASS.DE" is not an A-label.
Is there anything else in IDNA2008 that lower case labels?
Further, I don't interpret the above to cause case conversion of the
string looked up in DNS. I only interprete it as converting it to lower
case for the purpose of comparing with the output from the Punycode
output. It would be nice if someone could confirm or reject this
interpretation as well.
Since your test vectors aren't written in the form of test vectors for
IDNA2008, it is difficult for me to understand whether this is caused by
something in TR46 (which I don't implement) or just an misunderstanding
on my or your side.
More information about the Idna-update