mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Disable libIDN2 underscore workaround with libIDN or fixed libIDN2.
This commit is contained in:
12
src/util.c
12
src/util.c
@@ -200,18 +200,20 @@ char *canonicalise(char *in, int *nomem)
|
|||||||
if (!(rc = check_name(in)))
|
if (!(rc = check_name(in)))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
#if defined(HAVE_IDN) || defined(HAVE_LIBIDN2)
|
#if defined(HAVE_LIBIDN2) && (!defined(IDN2_VERSION_NUMBER) || IDN2_VERSION_NUMBER < 0x02000003)
|
||||||
/* libidn2 strips underscores, so don't do IDN processing
|
/* older libidn2 strips underscores, so don't do IDN processing
|
||||||
if the name has an underscore (check_name() returned 2) */
|
if the name has an underscore (check_name() returned 2) */
|
||||||
if (rc != 2)
|
if (rc != 2)
|
||||||
|
#endif
|
||||||
|
#if defined(HAVE_IDN) || defined(HAVE_LIBIDN2)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_LIBIDN2
|
# ifdef HAVE_LIBIDN2
|
||||||
rc = idn2_to_ascii_lz(in, &ret, IDN2_NONTRANSITIONAL);
|
rc = idn2_to_ascii_lz(in, &ret, IDN2_NONTRANSITIONAL);
|
||||||
if (rc == IDN2_DISALLOWED)
|
if (rc == IDN2_DISALLOWED)
|
||||||
rc = idn2_to_ascii_lz(in, &ret, IDN2_TRANSITIONAL);
|
rc = idn2_to_ascii_lz(in, &ret, IDN2_TRANSITIONAL);
|
||||||
#else
|
# else
|
||||||
rc = idna_to_ascii_lz(in, &ret, 0);
|
rc = idna_to_ascii_lz(in, &ret, 0);
|
||||||
#endif
|
# endif
|
||||||
if (rc != IDNA_SUCCESS)
|
if (rc != IDNA_SUCCESS)
|
||||||
{
|
{
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|||||||
Reference in New Issue
Block a user