uclibc: add a upstream patch to fix vlc runtime issues
PATCH 1/1 uclibc: add a upstream patch to fix vlc runtime issues
IDN related declaration without implementation is a bad idea.
Signed-off-by Waldemar Brodkorb <[email protected]>
--- ...e-netdb.h-Do-not-define-IDN-related-flags.patch | 54 ++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 package/uclibc/0001-include-netdb.h-Do-not-define-IDN-related-flags.patch
package/uclibc/0001-include-netdb.h-Do-not-define-IDN-related-flags.patch new file +54 -0
@@ -0,0 +1,54 @@ +From 5e9a78c8a839381add6faa61e196e6dad9143163 Mon Sep 17 00:00:00 2001 +From: Thomas Claveirole <[email protected]> +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 <[email protected]> +Signed-off-by: Waldemar Brodkorb <[email protected]> +--- + 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 +
Signature · 1 line
1.7.10.4
Thomas Petazzoni
AppliedPATCH 1/1 uclibc: add a upstream patch to fix vlc runtime issues
Dear Waldemar Brodkorb,
Quoted 7 lines · Waldemar Brodkorb
IDN related declaration without implementation is a bad idea.
Signed-off-by Waldemar Brodkorb <[email protected]>--- ...e-netdb.h-Do-not-define-IDN-related-flags.patch | 54 ++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 package/uclibc/0001-include-netdb.h-Do-not-define-IDN-related-flags.patch
Applied, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com