diff --git a/NEWS b/NEWS index ad99a49e6bb..f1ff08ccd50 100644 --- a/NEWS +++ b/NEWS @@ -78,6 +78,8 @@ PHP NEWS (David Carlier) . socket_set_option() catches possible overflow with SO_RCVTIMEO/SO_SNDTIMEO with timeout setting on windows. (David Carlier) + . Added TCP_FUNCTION_ALIAS, TCP_REUSPORT_LB_NUMA, TCP_REUSPORT_LB_NUMA_NODOM, + TCP_REUSPORT_LB_CURDOM, TCP_BBR_ALGORITHM constants. - Standard: . Fixed crypt() tests on musl when using --with-external-libcrypt diff --git a/UPGRADING b/UPGRADING index 1bdca204a0f..ece002628c9 100644 --- a/UPGRADING +++ b/UPGRADING @@ -181,6 +181,11 @@ PHP 8.5 UPGRADE NOTES - Sockets: . IPPROTO_ICMP/IPPROTO_ICMPV6. . TCP_FUNCTION_BLK (FreeBSD only). + . TCP_FUNCTION_ALIAS (FreeBSD only). + . TCP_REUSPORT_LB_NUMA (FreeBSD only). + . TCP_REUSPORT_LB_NUMA_NODOM (FreeBSD only). + . TCP_REUSPORT_LB_NUMA_CURDOM (FreeBSD only). + . TCP_BBR_ALGORITHM (FreeBSD only). ======================================== 11. Changes to INI File Handling diff --git a/ext/sockets/sockets.c b/ext/sockets/sockets.c index 31250d02262..7da3eceea1f 100644 --- a/ext/sockets/sockets.c +++ b/ext/sockets/sockets.c @@ -1711,7 +1711,11 @@ PHP_FUNCTION(socket_get_option) #endif #ifdef TCP_FUNCTION_BLK - case TCP_FUNCTION_BLK: { + case TCP_FUNCTION_BLK: +#ifdef TCP_FUNCTION_ALIAS + case TCP_FUNCTION_ALIAS: +#endif + { struct tcp_function_set tsf = {0}; optlen = sizeof(tsf); diff --git a/ext/sockets/sockets.stub.php b/ext/sockets/sockets.stub.php index 77efa04b99b..325ade65c9f 100644 --- a/ext/sockets/sockets.stub.php +++ b/ext/sockets/sockets.stub.php @@ -647,6 +647,37 @@ const TCP_KEEPCNT = UNKNOWN; */ const TCP_FUNCTION_BLK = UNKNOWN; #endif +#ifdef TCP_FUNCTION_ALIAS +/** + * @var int + * @cvalue TCP_FUNCTION_ALIAS + */ +const TCP_FUNCTION_ALIAS = UNKNOWN; +#endif +#ifdef TCP_REUSPORT_LB_NUMA +/** + * @var int + * @cvalue TCP_REUSPORT_LB_NUMA + */ +const TCP_REUSPORT_LB_NUMA = UNKNOWN; +/** + * @var int + * @cvalue TCP_REUSPORT_LB_NUMA_NODOM + */ +const TCP_REUSPORT_LB_NUMA_NODOM = UNKNOWN; +/** + * @var int + * @cvalue TCP_REUSPORT_LB_NUMA_CURDOM + */ +const TCP_REUSPORT_LB_NUMA_CURDOM = UNKNOWN; +#endif +#ifdef TCP_BBR_ALGORITHM +/** + * @var int + * @cvalue TCP_BBR_ALGORITHM + */ +const TCP_BBR_ALGORITHM = UNKNOWN; +#endif /** * @var int * @cvalue PHP_NORMAL_READ diff --git a/ext/sockets/sockets_arginfo.h b/ext/sockets/sockets_arginfo.h index af247a17df1..fdaa537b41d 100644 --- a/ext/sockets/sockets_arginfo.h +++ b/ext/sockets/sockets_arginfo.h @@ -1,5 +1,5 @@ /* This is a generated file, edit the .stub.php file instead. - * Stub hash: 341bf3dfc486ca410cf1e15e1e22b0c60734277b */ + * Stub hash: 2c5f4685d5dab42426d4fe0553dd17cb9935a572 */ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_select, 0, 4, MAY_BE_LONG|MAY_BE_FALSE) ZEND_ARG_TYPE_INFO(1, read, IS_ARRAY, 1) @@ -559,6 +559,21 @@ static void register_sockets_symbols(int module_number) #endif #if defined(TCP_FUNCTION_BLK) REGISTER_LONG_CONSTANT("TCP_FUNCTION_BLK", TCP_FUNCTION_BLK, CONST_PERSISTENT); +#endif +#if defined(TCP_FUNCTION_ALIAS) + REGISTER_LONG_CONSTANT("TCP_FUNCTION_ALIAS", TCP_FUNCTION_ALIAS, CONST_PERSISTENT); +#endif +#if defined(TCP_REUSPORT_LB_NUMA) + REGISTER_LONG_CONSTANT("TCP_REUSPORT_LB_NUMA", TCP_REUSPORT_LB_NUMA, CONST_PERSISTENT); +#endif +#if defined(TCP_REUSPORT_LB_NUMA) + REGISTER_LONG_CONSTANT("TCP_REUSPORT_LB_NUMA_NODOM", TCP_REUSPORT_LB_NUMA_NODOM, CONST_PERSISTENT); +#endif +#if defined(TCP_REUSPORT_LB_NUMA) + REGISTER_LONG_CONSTANT("TCP_REUSPORT_LB_NUMA_CURDOM", TCP_REUSPORT_LB_NUMA_CURDOM, CONST_PERSISTENT); +#endif +#if defined(TCP_BBR_ALGORITHM) + REGISTER_LONG_CONSTANT("TCP_BBR_ALGORITHM", TCP_BBR_ALGORITHM, CONST_PERSISTENT); #endif REGISTER_LONG_CONSTANT("PHP_NORMAL_READ", PHP_NORMAL_READ, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PHP_BINARY_READ", PHP_BINARY_READ, CONST_PERSISTENT);