]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - package/php/0008-ext-sockets-make-AI_IDN-usage-optional.patch
time: bump to version 1.9
[coffee/buildroot.git] / package / php / 0008-ext-sockets-make-AI_IDN-usage-optional.patch
1 From 923cab3a5ee112d3de44b5571e73402f1fa3d619 Mon Sep 17 00:00:00 2001
2 From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
3 Date: Mon, 26 Feb 2018 19:06:40 +0100
4 Subject: [PATCH] ext/sockets: make AI_IDN usage optional
5
6 AI_IDN is not supported by all C libraries (uClibc, musl), so make it
7 optional, like AI_ALL.
8
9 Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
10 Upstream-status: https://github.com/php/php-src/pull/3160
11 ---
12  ext/sockets/config.m4 | 13 +++++++++++++
13  ext/sockets/sockets.c |  2 +-
14  2 files changed, 14 insertions(+), 1 deletion(-)
15
16 diff --git a/ext/sockets/config.m4 b/ext/sockets/config.m4
17 index fe7d22a10a..2bf6a2bd11 100644
18 --- a/ext/sockets/config.m4
19 +++ b/ext/sockets/config.m4
20 @@ -69,6 +69,19 @@ if test "$PHP_SOCKETS" != "no"; then
21      AC_DEFINE(HAVE_AI_ALL,1,[Whether you have AI_ALL])
22    fi
23  
24 +  dnl Check for AI_IDN flag
25 +  AC_CACHE_CHECK([if getaddrinfo supports AI_IDN],[ac_cv_gai_ai_idn],
26 +  [
27 +    AC_TRY_COMPILE([
28 +#include <netdb.h>
29 +  ], [int flag = AI_IDN;],
30 +     ac_cv_gai_ai_idn=yes, ac_cv_gai_ai_idn=no)
31 +  ])
32 +
33 +  if test "$ac_cv_gai_ai_idn" = yes; then
34 +    AC_DEFINE(HAVE_AI_IDN,1,[Whether you have AI_IDN])
35 +  fi
36 +
37    PHP_NEW_EXTENSION([sockets], [sockets.c multicast.c conversions.c sockaddr_conv.c sendrecvmsg.c], [$ext_shared],, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
38    PHP_INSTALL_HEADERS([ext/sockets/], [php_sockets.h])
39  fi
40 diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c
41 index 6db56c2816..ee9651ce09 100644
42 --- a/ext/sockets/sockets.c
43 +++ b/ext/sockets/sockets.c
44 @@ -796,7 +796,7 @@ static PHP_MINIT_FUNCTION(sockets)
45         REGISTER_LONG_CONSTANT("AI_ALL",                        AI_ALL,                         CONST_CS | CONST_PERSISTENT);
46  #endif
47         REGISTER_LONG_CONSTANT("AI_ADDRCONFIG",         AI_ADDRCONFIG,          CONST_CS | CONST_PERSISTENT);
48 -#ifdef __USE_GNU
49 +#if defined(HAVE_AI_IDN) && defined(__USE_GNU)
50         REGISTER_LONG_CONSTANT("AI_IDN",                        AI_IDN,                         CONST_CS | CONST_PERSISTENT);
51         REGISTER_LONG_CONSTANT("AI_CANONIDN",           AI_CANONIDN,            CONST_CS | CONST_PERSISTENT);
52         REGISTER_LONG_CONSTANT("AI_IDN_ALLOW_UNASSIGNED",               AI_IDN_ALLOW_UNASSIGNED, CONST_CS | CONST_PERSISTENT);
53 -- 
54 2.14.3
55