Commit Graph
8 Commits
Author SHA1 Message Date
Ondřej SurýandMark Andrews ec6bb32c6a Update the idna tests for the new non-tty defaults
(cherry picked from commit e8c57a78aa)
2018-11-07 11:37:11 +11:00
Michał Kępień 4fdee34a0b Improve error handling in idn_ace_to_locale()
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 7fe0f00a3b)
2018-07-13 12:15:03 +02:00
Stephen Morris 79b7a5c89b Check libidn2 version before proceding with one of the tests.
A known issue in libidn2 causes one of the tests of a fake A-label
to fail.  The problem should be corrected in version 2.0.5 of
libidn2.
2018-04-04 09:48:52 -04:00
Ondřej SurýandStephen Morris 05880829e0 Use C.UTF-8 if available, and en_US.UTF-8 is available, otherwise do nothing and let the test break 2018-04-04 09:48:51 -04:00
Stephen Morris 8319ece415 Set known locale prior to running tests. 2018-04-04 09:48:50 -04:00
Stephen Morris dfb264f85c Fix check for the presence of IDNA. 2018-04-04 09:48:49 -04:00
Stephen Morris 777a37affd Added additional tests for invalid punycode strings. 2018-04-04 09:48:49 -04:00
Stephen Morris e0b6c11840 Initial set of IDNA tests. 2018-04-04 09:48:47 -04:00