mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-21 23:49:50 -04:00
While idn2_to_unicode_8zlz() takes a 'flags' argument, it is ignored and
thus cannot be used to perform IDN checks on the output string.
The bug in libidn2 versions before 2.0.5 was not that a call to
idn2_to_unicode_8zlz() with certain flags set did not cause IDN checks
to be performed. The bug was that idn2_to_unicode_8zlz() did not check
whether a conversion can be performed between UTF-8 and the current
locale's character encoding. In other words, with libidn2 version
2.0.5+, if the current locale's character encoding is ASCII, then
idn2_to_unicode_8zlz() will fail when it is passed any Punycode string
which decodes to a non-ASCII string, even if it is a valid IDNA2008
name.
Rework idn_ace_to_locale() so that invalid IDNA2008 names are properly
and consistently detected for all libidn2 versions and locales.
Update the "idna" system test accordingly. Add checks for processing a
server response containing Punycode which decodes to an invalid IDNA2008
name. Fix invalid subtest description.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| include/dig | ||
| win32 | ||
| .gitignore | ||
| dig.1 | ||
| dig.c | ||
| dig.docbook | ||
| dig.html | ||
| dighost.c | ||
| host.1 | ||
| host.c | ||
| host.docbook | ||
| host.html | ||
| Makefile.in | ||
| nslookup.1 | ||
| nslookup.c | ||
| nslookup.docbook | ||
| nslookup.html | ||