I've found what I believe to be a bug in libidn (<= 1.25, didn't check
more recent versions).
The following IDNA-encoded domain, when run through idn, does not
result in an error.
xn--9k39ivpi18g4vn.cn
However, Python does complain:
python -c "'xn--9k39ivpi18g4vn.cn'.decode('idna')"
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib64/python2.7/encodings/idna.py", line 193, in decode
result.append(ToUnicode(label))
File "/usr/lib64/python2.7/encodings/idna.py", line 131, in ToUnicode
result = label1.decode("punycode")
File "/usr/lib64/python2.7/encodings/punycode.py", line 208, in decode
res = punycode_decode(input, errors)
File "/usr/lib64/python2.7/encodings/punycode.py", line 195, in
punycode_decode
return insertion_sort(base, extended, errors)
File "/usr/lib64/python2.7/encodings/punycode.py", line 177, in insertion_sort
raise UnicodeError, ("Invalid character U+%x" % char)
UnicodeError: Invalid character U+160bb4
--
Jon Nelson
_______________________________________________
Help-libidn mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-libidn