From bef364e366f26613d83b8fe621bafd98fd277263 Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Fri, 16 Feb 2024 13:19:32 +0100 Subject: [PATCH 1/2] Check sockaddr_storage.ss_family with AC_CHECK_MEMBERS This simplifies the check. On AIX 6 and newer, the ss_family is available, if compiled without defining COMPAT_43 (BSD 4.3 compatibility). --- ext/sockets/config.m4 | 14 +------------- ext/sockets/php_sockets.h | 2 +- 2 files changed, 2 insertions(+), 14 deletions(-) diff --git a/ext/sockets/config.m4 b/ext/sockets/config.m4 index 398354fdb9a99..7551407fc5144 100644 --- a/ext/sockets/config.m4 +++ b/ext/sockets/config.m4 @@ -10,19 +10,7 @@ if test "$PHP_SOCKETS" != "no"; then AC_DEFINE([HAVE_SOCKETS], 1, [ ]) dnl Check for fied ss_family in sockaddr_storage (missing in AIX until 5.3) - AC_CACHE_CHECK([for field ss_family in struct sockaddr_storage], ac_cv_ss_family, - [ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ -#include -#include -#include - ]], [[struct sockaddr_storage sa_store; sa_store.ss_family = AF_INET6;]])], - [ac_cv_ss_family=yes], [ac_cv_ss_family=no]) - ]) - - if test "$ac_cv_ss_family" = yes; then - AC_DEFINE(HAVE_SA_SS_FAMILY,1,[Whether you have sockaddr_storage.ss_family]) - fi + AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family],,,[#include ]) dnl Check for AI_V4MAPPED flag AC_CACHE_CHECK([if getaddrinfo supports AI_V4MAPPED],[ac_cv_gai_ai_v4mapped], diff --git a/ext/sockets/php_sockets.h b/ext/sockets/php_sockets.h index 93eba9da0731a..42db7679522ed 100644 --- a/ext/sockets/php_sockets.h +++ b/ext/sockets/php_sockets.h @@ -132,7 +132,7 @@ PHP_SOCKETS_API bool socket_import_file_descriptor(PHP_SOCKET socket, php_socket #define phpext_sockets_ptr NULL #endif -#if defined(_AIX) && !defined(HAVE_SA_SS_FAMILY) +#if defined(_AIX) && !defined(HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY) # define ss_family __ss_family #endif From bc6aadc5634eb933061821b89d5417d145d45ed0 Mon Sep 17 00:00:00 2001 From: Peter Kokot Date: Fri, 16 Feb 2024 13:34:31 +0100 Subject: [PATCH 2/2] [skip ci] Fix typo --- ext/sockets/config.m4 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/sockets/config.m4 b/ext/sockets/config.m4 index 7551407fc5144..d0f630c5502ca 100644 --- a/ext/sockets/config.m4 +++ b/ext/sockets/config.m4 @@ -9,7 +9,7 @@ if test "$PHP_SOCKETS" != "no"; then AC_CHECK_HEADERS([sys/sockio.h linux/filter.h]) AC_DEFINE([HAVE_SOCKETS], 1, [ ]) - dnl Check for fied ss_family in sockaddr_storage (missing in AIX until 5.3) + dnl Check for field ss_family in sockaddr_storage (missing in AIX until 5.3) AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family],,,[#include ]) dnl Check for AI_V4MAPPED flag