From bba5177c29682881960c13bb8b9b6d984c7aafb9 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Fri, 25 Feb 2022 09:03:38 +0100 Subject: add upstream patch for recent libcurl --- pecl_http-upstream.patch | 46 ++++++++++++++++++++++++++++++++++++++++++++++ php-pecl-http.spec | 12 ++++++++++-- 2 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 pecl_http-upstream.patch diff --git a/pecl_http-upstream.patch b/pecl_http-upstream.patch new file mode 100644 index 0000000..ce8fbe0 --- /dev/null +++ b/pecl_http-upstream.patch @@ -0,0 +1,46 @@ +From 798a561a0763cc92473e25238935242c2289fb98 Mon Sep 17 00:00:00 2001 +From: Michael Wallner +Date: Mon, 21 Feb 2022 11:04:09 +0100 +Subject: [PATCH] fix recursive calls to curl_multi API from the user handler + +--- + src/php_http_client_curl_user.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/src/php_http_client_curl_user.c b/src/php_http_client_curl_user.c +index 1f69a51..95ea6f5 100644 +--- a/src/php_http_client_curl_user.c ++++ b/src/php_http_client_curl_user.c +@@ -57,9 +57,7 @@ static void php_http_client_curl_user_timer(CURLM *multi, long timeout_ms, void + fprintf(stderr, "\ntimer <- timeout_ms: %ld\n", timeout_ms); + #endif + +- if (timeout_ms <= 0) { +- php_http_client_curl_loop(context->client, CURL_SOCKET_TIMEOUT, 0); +- } else { ++ if (timeout_ms >= 0) { + zval args[1], *ztimeout = &args[0]; + + ZVAL_LONG(ztimeout, timeout_ms); +From 2653f8b3a2bf9a6d9cded6ef46236de18a02ff77 Mon Sep 17 00:00:00 2001 +From: Michael Wallner +Date: Mon, 21 Feb 2022 11:06:19 +0100 +Subject: [PATCH] fix recursive calls to curl_multi API from the event handler + +--- + src/php_http_client_curl_event.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/php_http_client_curl_event.c b/src/php_http_client_curl_event.c +index b8db1b2..2e663ed 100644 +--- a/src/php_http_client_curl_event.c ++++ b/src/php_http_client_curl_event.c +@@ -97,8 +97,6 @@ static void php_http_client_curl_event_timer(CURLM *multi, long timeout_ms, void + } + break; + case 0: +- php_http_client_curl_event_handler(context, CURL_SOCKET_TIMEOUT, 0); +- break; + default: + if (!event_initialized(context->timeout)) { + event_assign(context->timeout, context->evbase, CURL_SOCKET_TIMEOUT, 0, php_http_client_curl_event_timeout_callback, context); diff --git a/php-pecl-http.spec b/php-pecl-http.spec index 4279e00..cbeae5d 100644 --- a/php-pecl-http.spec +++ b/php-pecl-http.spec @@ -3,7 +3,7 @@ # # Fedora spec file for php-pecl-http # -# Copyright (c) 2012-2021 Remi Collet +# Copyright (c) 2012-2022 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # @@ -46,7 +46,7 @@ Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} Release: 0.7.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz %else -Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} Source0: https://pecl.php.net/get/%{proj_name}-%{upstream_version}%{?upstream_prever}.tgz %endif Summary: Extended HTTP support @@ -57,6 +57,9 @@ URL: https://pecl.php.net/package/pecl_http # From http://www.php.net/manual/en/http.configuration.php Source1: %{proj_name}.ini +# Upstream patches for recent libcurl +Patch0: %{proj_name}-upstream.patch + BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-devel >= 7 BuildRequires: %{?scl_prefix}php-hash @@ -160,6 +163,8 @@ mv %{proj_name}-%{upstream_version}%{?upstream_prever} NTS %{?_licensedir:sed -e '/LICENSE/s/role="doc"/role="src"/' -i package.xml} cd NTS +%patch0 -p1 -b .up + extver=$(sed -n '/#define PHP_PECL_HTTP_VERSION/{s/.* "//;s/".*$//;p}' php_http.h) if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}%{?gh_date:dev}"; then : Error: Upstream HTTP version is now ${extver}, expecting %{upstream_version}%{?upstream_prever}%{?gh_date:dev}. @@ -345,6 +350,9 @@ fi %changelog +* Fri Feb 25 2022 Remi Collet - 3.2.4-3 +- add upstream patch for recent libcurl + * Mon Sep 6 2021 Remi Collet - 3.2.4-2 - ignore 3 tests failing with recent libcurl -- cgit