summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pecl_http-upstream.patch46
-rw-r--r--php-pecl-http.spec15
2 files changed, 56 insertions, 5 deletions
diff --git a/pecl_http-upstream.patch b/pecl_http-upstream.patch
new file mode 100644
index 0000000..452fedb
--- /dev/null
+++ b/pecl_http-upstream.patch
@@ -0,0 +1,46 @@
+From e7b1f15da7b31de77e75cd81c2b2fc8816200f27 Mon Sep 17 00:00:00 2001
+From: Michael Wallner <mike@php.net>
+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 9fb1c51406519a06bf58589dc8e1c80b82beee09 Mon Sep 17 00:00:00 2001
+From: Michael Wallner <mike@php.net>
+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 75a9d51..7523bcb 100644
--- a/php-pecl-http.spec
+++ b/php-pecl-http.spec
@@ -36,7 +36,7 @@
%bcond_without tests
%endif
-%global upstream_version 4.2.2
+%global upstream_version 4.2.1
#global upstream_prever beta1
#global upstream_lower beta1
@@ -46,7 +46,7 @@ Version: %{upstream_version}%{?upstream_prever:~%{upstream_lower}}
Release: 0.9.%{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: 0%{?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: make
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel >= 8.0
@@ -152,6 +155,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}.
@@ -335,10 +340,10 @@ fi
%changelog
-* Mon Feb 21 2022 Remi Collet <remi@remirepo.net> - 4.2.2-0
-- test build for upcoming 4.2.2
+* Fri Feb 25 2022 Remi Collet <remi@remirepo.net> - 4.2.1-0
+- add upstream patch for recent libcurl
-* Wed Sep 29 2021 Remi Collet <remi@remirepo.net> - 1.11.0~alpha1-2
+* Wed Sep 29 2021 Remi Collet <remi@remirepo.net> - 4.2.1-2
- rebuild using ICU 69
* Mon Sep 13 2021 Remi Collet <remi@remirepo.net> - 4.2.1-1