From 6d897082b4b92d1a41c6cdecc693ee23971b9bd5 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 28 Jan 2023 19:44:37 +0000 Subject: [PATCH] sockets updlite protocol support, with checksum coverage settings. --- UPGRADING | 3 +++ ext/sockets/sockets.stub.php | 21 +++++++++++++++++++++ ext/sockets/sockets_arginfo.h | 11 ++++++++++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/UPGRADING b/UPGRADING index 589692aa1e446..d9eb61b0b5375 100644 --- a/UPGRADING +++ b/UPGRADING @@ -141,6 +141,9 @@ PHP 8.3 UPGRADE NOTES . IP_PMTUDISC_INTERFACE (Linux only). . IP_PMTUDISC_OMIT (Linux only). . AF_DIVERT (FreeBSD only). + . SOL_UDPLITE. + . UDPITE_RECV_CSCOV. + . UDPITE_SEND_CSCOV. ======================================== 11. Changes to INI File Handling diff --git a/ext/sockets/sockets.stub.php b/ext/sockets/sockets.stub.php index 2db842810a611..82969270fb846 100644 --- a/ext/sockets/sockets.stub.php +++ b/ext/sockets/sockets.stub.php @@ -1525,6 +1525,13 @@ * @cvalue IPPROTO_UDP */ const SOL_UDP = UNKNOWN; +#ifdef IPPROTO_UDPLITE +/** + * @var int + * @cvalue IPPROTO_UDPLITE + */ +const SOL_UDPLITE = UNKNOWN; +#endif #if HAVE_IPV6 /** @@ -1769,6 +1776,20 @@ */ const IP_PMTUDISC_OMIT = UNKNOWN; #endif +#if defined(UDPLITE_SEND_CSCOV) +/** + * @var int + * @cvalue UDPLITE_SEND_CSCOV + */ +const UDPLITE_SEND_CSCOV = UNKNOWN; +#endif +#if defined(UDPLITE_RECV_CSCOV) +/** + * @var int + * @cvalue UDPLITE_RECV_CSCOV + */ +const UDPLITE_RECV_CSCOV = UNKNOWN; +#endif /** * @strict-properties diff --git a/ext/sockets/sockets_arginfo.h b/ext/sockets/sockets_arginfo.h index eca944ba52136..f630d829f4cd6 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: bf1d22072bd147128a33d82f8b3fc441cf95156a */ + * Stub hash: d02c3c772eab5d9c1310839d2464887993f8e8de */ 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) @@ -915,6 +915,9 @@ static void register_sockets_symbols(int module_number) #endif REGISTER_LONG_CONSTANT("SOL_TCP", IPPROTO_TCP, CONST_PERSISTENT); REGISTER_LONG_CONSTANT("SOL_UDP", IPPROTO_UDP, CONST_PERSISTENT); +#if defined(IPPROTO_UDPLITE) + REGISTER_LONG_CONSTANT("SOL_UDPLITE", IPPROTO_UDPLITE, CONST_PERSISTENT); +#endif #if HAVE_IPV6 REGISTER_LONG_CONSTANT("IPV6_UNICAST_HOPS", IPV6_UNICAST_HOPS, CONST_PERSISTENT); #endif @@ -1018,6 +1021,12 @@ static void register_sockets_symbols(int module_number) #if defined(IP_PMTUDISC_OMIT) REGISTER_LONG_CONSTANT("IP_PMTUDISC_OMIT", IP_PMTUDISC_OMIT, CONST_PERSISTENT); #endif +#if defined(UDPLITE_SEND_CSCOV) + REGISTER_LONG_CONSTANT("UDPLITE_SEND_CSCOV", UDPLITE_SEND_CSCOV, CONST_PERSISTENT); +#endif +#if defined(UDPLITE_RECV_CSCOV) + REGISTER_LONG_CONSTANT("UDPLITE_RECV_CSCOV", UDPLITE_RECV_CSCOV, CONST_PERSISTENT); +#endif } static zend_class_entry *register_class_Socket(void)