[arch-commits] Commit in curl/trunk (4 files)
Christian Hesse
eworm at archlinux.org
Sun Mar 8 19:26:48 UTC 2020
Date: Sunday, March 8, 2020 @ 19:26:47
Author: eworm
Revision: 377185
upgpkg: curl 7.69.0-4
fix segfault (FS#65739)
Added:
curl/trunk/0002-pause-force-a-connection-re-check-after-unpausing.patch
(from rev 377184, curl/trunk/0001-pause-force-a-connection-re-check-after-unpausing.patch)
curl/trunk/0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch
Modified:
curl/trunk/PKGBUILD
Deleted:
curl/trunk/0001-pause-force-a-connection-re-check-after-unpausing.patch
-----------------------------------------------------------------------+
0001-pause-force-a-connection-re-check-after-unpausing.patch | 33 --------
0002-pause-force-a-connection-re-check-after-unpausing.patch | 33 ++++++++
0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch | 37 ++++++++++
PKGBUILD | 11 +-
4 files changed, 77 insertions(+), 37 deletions(-)
Deleted: 0001-pause-force-a-connection-re-check-after-unpausing.patch
===================================================================
--- 0001-pause-force-a-connection-re-check-after-unpausing.patch 2020-03-08 19:01:11 UTC (rev 377184)
+++ 0001-pause-force-a-connection-re-check-after-unpausing.patch 2020-03-08 19:26:47 UTC (rev 377185)
@@ -1,33 +0,0 @@
-From e040146f22608fd92c44be2447a6505141a8a867 Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel at haxx.se>
-Date: Fri, 6 Mar 2020 10:04:28 +0100
-Subject: [PATCH] pause: force a connection (re-)check after unpausing
-
-There might be data available that was already read off the socket, for
-example in the TLS layer.
-
-Reported-by: Anders Berg
-Fixes #4966
-Closes #5049
----
- lib/easy.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/lib/easy.c b/lib/easy.c
-index 33bc1aab7..f7a6d5c60 100644
---- a/lib/easy.c
-+++ b/lib/easy.c
-@@ -1047,6 +1047,10 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
- if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
- (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) {
- Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
-+
-+ /* force a recv/send check of this connection, as the data might've been
-+ read off the socket already */
-+ data->conn->cselect_bits = CURL_CSELECT_IN | CURL_CSELECT_OUT;
- if(data->multi)
- Curl_update_timer(data->multi);
- }
---
-2.25.1
-
Copied: curl/trunk/0002-pause-force-a-connection-re-check-after-unpausing.patch (from rev 377184, curl/trunk/0001-pause-force-a-connection-re-check-after-unpausing.patch)
===================================================================
--- 0002-pause-force-a-connection-re-check-after-unpausing.patch (rev 0)
+++ 0002-pause-force-a-connection-re-check-after-unpausing.patch 2020-03-08 19:26:47 UTC (rev 377185)
@@ -0,0 +1,33 @@
+From e040146f22608fd92c44be2447a6505141a8a867 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Fri, 6 Mar 2020 10:04:28 +0100
+Subject: [PATCH] pause: force a connection (re-)check after unpausing
+
+There might be data available that was already read off the socket, for
+example in the TLS layer.
+
+Reported-by: Anders Berg
+Fixes #4966
+Closes #5049
+---
+ lib/easy.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/lib/easy.c b/lib/easy.c
+index 33bc1aab7..f7a6d5c60 100644
+--- a/lib/easy.c
++++ b/lib/easy.c
+@@ -1047,6 +1047,10 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
+ if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
+ (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) {
+ Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
++
++ /* force a recv/send check of this connection, as the data might've been
++ read off the socket already */
++ data->conn->cselect_bits = CURL_CSELECT_IN | CURL_CSELECT_OUT;
+ if(data->multi)
+ Curl_update_timer(data->multi);
+ }
+--
+2.25.1
+
Added: 0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch
===================================================================
--- 0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch (rev 0)
+++ 0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch 2020-03-08 19:26:47 UTC (rev 377185)
@@ -0,0 +1,37 @@
+From 64258bd0aa6ad23195f6be32e6febf7439ab7984 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Tue, 3 Mar 2020 08:10:09 +0100
+Subject: [PATCH] pause: return early for calls that don't change pause state
+
+Reviewed-by: Patrick Monnerat
+Ref: #4833
+Closes #5026
+---
+ lib/easy.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/lib/easy.c b/lib/easy.c
+index 454621076ab..2446557f4d2 100644
+--- a/lib/easy.c
++++ b/lib/easy.c
+@@ -975,6 +975,7 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
+ {
+ struct SingleRequest *k = &data->req;
+ CURLcode result = CURLE_OK;
++ int oldstate = k->keepon & (KEEP_RECV_PAUSE| KEEP_SEND_PAUSE);
+
+ /* first switch off both pause bits */
+ int newstate = k->keepon &~ (KEEP_RECV_PAUSE| KEEP_SEND_PAUSE);
+@@ -983,6 +984,12 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
+ newstate |= ((action & CURLPAUSE_RECV)?KEEP_RECV_PAUSE:0) |
+ ((action & CURLPAUSE_SEND)?KEEP_SEND_PAUSE:0);
+
++ if((newstate & (KEEP_RECV_PAUSE| KEEP_SEND_PAUSE)) == oldstate) {
++ /* Not changing any pause state, return */
++ DEBUGF(infof(data, "pause: no change, early return\n"));
++ return CURLE_OK;
++ }
++
+ /* put it back in the keepon */
+ k->keepon = newstate;
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2020-03-08 19:01:11 UTC (rev 377184)
+++ PKGBUILD 2020-03-08 19:26:47 UTC (rev 377185)
@@ -6,7 +6,7 @@
pkgname=curl
pkgver=7.69.0
-pkgrel=3
+pkgrel=4
pkgdesc="An URL retrieval utility and library"
arch=('x86_64')
url="https://curl.haxx.se"
@@ -16,11 +16,13 @@
provides=('libcurl.so')
source=("https://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
0001-Revert-pause-force-drain-the-transfer-on-unpause.patch
- 0001-pause-force-a-connection-re-check-after-unpausing.patch)
+ 0002-pause-force-a-connection-re-check-after-unpausing.patch
+ 0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch)
sha512sums=('0ecd9e6e55cb19400fafdcd723c72667903ec760652e60fe0b884a672e1ac5d8667c8837422145a9af995ffe36d31a2685296f272ebddf1f5f1a7b12baf0fbad'
'SKIP'
'6aaafcb580f88c715a294ea7b53877a405a4f6c4a338d830380a5c97a324268a287c893ee6fd24c3b69dc0566275336ec74c3816f2202e12d39840360d6784f0'
- 'bc384dcfef4f6ca8d52171b97d5979c5b043e70d756836f87449ea0108d9615521408fa71c330c4b627738978eacd24de80a0e93438532a8f48a4d049e83334e')
+ 'bc384dcfef4f6ca8d52171b97d5979c5b043e70d756836f87449ea0108d9615521408fa71c330c4b627738978eacd24de80a0e93438532a8f48a4d049e83334e'
+ '743b646307021d3d96146c30e18379253364b2b228e319377bc3300f0dac6dcac36ed347139028e346091eea98521ffd134f54bc809bddb61d45d400d50d875d')
validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
prepare() {
@@ -27,7 +29,8 @@
cd "$pkgname-$pkgver"
patch -Np1 <../0001-Revert-pause-force-drain-the-transfer-on-unpause.patch
- patch -Np1 <../0001-pause-force-a-connection-re-check-after-unpausing.patch
+ patch -Np1 <../0002-pause-force-a-connection-re-check-after-unpausing.patch
+ patch -Np1 <../0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch
}
build() {
More information about the arch-commits
mailing list