| From 5e9a78c8a839381add6faa61e196e6dad9143163 Mon Sep 17 00:00:00 2001 |
| From: Thomas Claveirole <thomas.claveirole@green-communications.fr> |
| Date: Tue, 2 Feb 2016 12:13:09 +0100 |
| Subject: [PATCH] include/netdb.h: Do not define IDN-related flags. |
| |
| getaddrinfo() does not implement IDN encoding, and always fail when |
| provided an IDN flag (e.g., AI_IDN) with EAI_BADFLAGS. Some packages |
| (such as the VLC media player) check for AI_IDN before they use it; |
| providing an unimplemented AI_IDN in the libc makes these package |
| fail. As a result they make calls to getaddrinfo() with AI_IDN that |
| always fail while they could have made successful calls without AI_IDN |
| instead. |
| |
| Thus, do not define IDN flags: it is better not to compile rather than |
| to compile a code that always fail. |
| |
| Signed-off-by: Thomas Claveirole <thomas.claveirole@green-communications.fr> |
| Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org> |
| --- |
| include/netdb.h | 11 ----------- |
| 1 file changed, 11 deletions(-) |
| |
| diff --git a/include/netdb.h b/include/netdb.h |
| index a636b5f..95abe95 100644 |
| --- a/include/netdb.h |
| +++ b/include/netdb.h |
| @@ -627,16 +627,6 @@ struct addrinfo |
| # define AI_ALL 0x0010 /* Return IPv4 mapped and IPv6 addresses. */ |
| # define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose |
| returned address type.. */ |
| -# ifdef __USE_GNU |
| -# define AI_IDN 0x0040 /* IDN encode input (assuming it is encoded |
| - in the current locale's character set) |
| - before looking it up. */ |
| -# define AI_CANONIDN 0x0080 /* Translate canonical name from IDN format. */ |
| -# define AI_IDN_ALLOW_UNASSIGNED 0x0100 /* Don't reject unassigned Unicode |
| - code points. */ |
| -# define AI_IDN_USE_STD3_ASCII_RULES 0x0200 /* Validate strings according to |
| - STD3 rules. */ |
| -# endif |
| # define AI_NUMERICSERV 0x0400 /* Don't use name resolution. */ |
| |
| /* Error values for `getaddrinfo' function. */ |
| @@ -658,7 +648,6 @@ struct addrinfo |
| # define EAI_NOTCANCELED -102 /* Request not canceled. */ |
| # define EAI_ALLDONE -103 /* All requests done. */ |
| # define EAI_INTR -104 /* Interrupted by a signal. */ |
| -# define EAI_IDN_ENCODE -105 /* IDN encoding failed. */ |
| # endif |
| |
| # ifdef __USE_MISC |
| -- |
| 1.7.10.4 |
| |