[Buildroot] [git commit] uclibc: add a upstream patch to fix vlc runtime issues

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri Feb 5 20:56:50 UTC 2016


commit: https://git.buildroot.net/buildroot/commit/?id=195601059c0f643d942c2bd7deab0155d1b4e4d9
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

IDN related declaration without implementation is a bad idea.

Signed-off-by: Waldemar Brodkorb <wbx at openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
---
 ...e-netdb.h-Do-not-define-IDN-related-flags.patch | 54 ++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/package/uclibc/0001-include-netdb.h-Do-not-define-IDN-related-flags.patch b/package/uclibc/0001-include-netdb.h-Do-not-define-IDN-related-flags.patch
new file mode 100644
index 0000000..c1985ef
--- /dev/null
+++ b/package/uclibc/0001-include-netdb.h-Do-not-define-IDN-related-flags.patch
@@ -0,0 +1,54 @@
+From 5e9a78c8a839381add6faa61e196e6dad9143163 Mon Sep 17 00:00:00 2001
+From: Thomas Claveirole <thomas.claveirole at 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 at green-communications.fr>
+Signed-off-by: Waldemar Brodkorb <wbx at 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
+


More information about the buildroot mailing list