summaryrefslogtreecommitdiffstats
path: root/pecl_http-curl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pecl_http-curl.patch')
-rw-r--r--pecl_http-curl.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/pecl_http-curl.patch b/pecl_http-curl.patch
new file mode 100644
index 0000000..e10b05c
--- /dev/null
+++ b/pecl_http-curl.patch
@@ -0,0 +1,27 @@
+From 9c0294956c75fda02269432ba4f693afecea1c5b Mon Sep 17 00:00:00 2001
+From: Michael Wallner <mike@php.net>
+Date: Tue, 27 Aug 2024 19:59:56 +0200
+Subject: [PATCH] curl: add workaround for CURLOPT_INTERFACE for v8.9-8.10
+
+---
+ src/php_http_client_curl.c | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/php_http_client_curl.c b/src/php_http_client_curl.c
+index 4decc7a..ed778b1 100644
+--- a/src/php_http_client_curl.c
++++ b/src/php_http_client_curl.c
+@@ -1413,7 +1413,12 @@ static void php_http_curle_options_init(php_http_options_t *registry)
+ #endif
+
+ /* outgoing interface */
+- php_http_option_register(registry, ZEND_STRL("interface"), CURLOPT_INTERFACE, IS_STRING);
++ if ((opt = php_http_option_register(registry, ZEND_STRL("interface"), CURLOPT_INTERFACE, IS_STRING))) {
++#if PHP_HTTP_CURL_VERSION(8,9,0) && !PHP_HTTP_CURL_VERSION(8,10,0)
++ // NULL support lost in v8.9 and restored in libcurl v8.10
++ opt->flags |= PHP_HTTP_CURLE_OPTION_IGNORE_RC;
++#endif
++ }
+ if ((opt = php_http_option_register(registry, ZEND_STRL("portrange"), CURLOPT_LOCALPORT, IS_ARRAY))) {
+ opt->setter = php_http_curle_option_set_portrange;
+ }