summaryrefslogtreecommitdiffstats
path: root/package/uclibc/0001-include-netdb.h-Do-not-define-IDN-related-flags.patch
blob: c1985ef1c72c227336279176e5cde0385614bfc7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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

OpenPOWER on IntegriCloud