aboutsummaryrefslogtreecommitdiffstats
path: root/main/curl
diff options
context:
space:
mode:
authorKevin Daudt <kdaudt@alpinelinux.org>2020-03-07 21:15:01 +0000
committerKevin Daudt <kdaudt@alpinelinux.org>2020-03-07 21:16:35 +0000
commitc3d131bf58f6470a9af70bc3d017d1342c294efe (patch)
tree1da56e4d3646625469904c4301b6e9d69494eeec /main/curl
parentecf57e8b704b42815bb0c15a09d02fa23abec21e (diff)
downloadaports-c3d131bf58f6470a9af70bc3d017d1342c294efe.tar.bz2
aports-c3d131bf58f6470a9af70bc3d017d1342c294efe.tar.xz
main/curl: apply upstream revert
Upstream has reverted a change that causes timeout with http2. This breaks tools like cargo and flatpak. Upstream issue: https://github.com/curl/curl/issues/5044
Diffstat (limited to 'main/curl')
-rw-r--r--main/curl/APKBUILD9
-rw-r--r--main/curl/revert-pause-force-drain-the-transfer-on-unpause.patch51
2 files changed, 57 insertions, 3 deletions
diff --git a/main/curl/APKBUILD b/main/curl/APKBUILD
index 7417e4875f..92f95db1c4 100644
--- a/main/curl/APKBUILD
+++ b/main/curl/APKBUILD
@@ -4,7 +4,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=curl
pkgver=7.69.0
-pkgrel=0
+pkgrel=1
pkgdesc="URL retrival utility and library"
url="https://curl.haxx.se/"
arch="all"
@@ -14,7 +14,9 @@ depends_dev="openssl-dev nghttp2-dev zlib-dev"
checkdepends="python3"
makedepends="$depends_dev autoconf automake groff libtool perl"
subpackages="$pkgname-dbg $pkgname-static $pkgname-doc $pkgname-dev libcurl"
-source="https://curl.haxx.se/download/curl-$pkgver.tar.xz"
+source="https://curl.haxx.se/download/curl-$pkgver.tar.xz
+ revert-pause-force-drain-the-transfer-on-unpause.patch
+ "
# secfixes:
# 7.66.0-r0:
@@ -128,4 +130,5 @@ static() {
mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib
}
-sha512sums="8c151201b09c51cc1437c2f6345036fce88ea5402cd1fd62b76c093e294b87d0c1f61e1dcf6f799f508d8dcfe381589a3815001a8c8bbc085aed0fdca6f2536d curl-7.69.0.tar.xz"
+sha512sums="8c151201b09c51cc1437c2f6345036fce88ea5402cd1fd62b76c093e294b87d0c1f61e1dcf6f799f508d8dcfe381589a3815001a8c8bbc085aed0fdca6f2536d curl-7.69.0.tar.xz
+4b0da7e39aa2bfb34280246478d5e8525ab45ce5b2045a3ff2704fc1c4d8aeb241cfaf8c797cbd279e03740988661ca98a4962f850891f96fdef6707c6197d1b revert-pause-force-drain-the-transfer-on-unpause.patch"
diff --git a/main/curl/revert-pause-force-drain-the-transfer-on-unpause.patch b/main/curl/revert-pause-force-drain-the-transfer-on-unpause.patch
new file mode 100644
index 0000000000..580cf17735
--- /dev/null
+++ b/main/curl/revert-pause-force-drain-the-transfer-on-unpause.patch
@@ -0,0 +1,51 @@
+source: https://github.com/curl/curl/commit/8aa04e9a24932b830bc5eaf6838dea5a3329341e
+upstream: https://github.com/curl/curl/issues/5044
+reason: breaks cargo and flatpak
+
+From 8aa04e9a24932b830bc5eaf6838dea5a3329341e Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel@haxx.se>
+Date: Thu, 5 Mar 2020 23:45:36 +0100
+Subject: [PATCH] Revert "pause: force-drain the transfer on unpause"
+
+This reverts commit fa0216b294af4c7113a9040ca65eefc7fc18ac1c (from #5000)
+
+Clearly that didn't solve the problem correctly.
+
+Reported-by: Christopher Reid
+Reopens #4966
+Fixes #5044
+diff --git a/lib/easy.c b/lib/easy.c
+index 1a6912748e8..454621076ab 100644
+--- a/lib/easy.c
++++ b/lib/easy.c
+@@ -1033,7 +1033,6 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
+ to have this handle checked soon */
+ if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
+ (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) {
+- data->state.drain++;
+ Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
+ if(data->multi)
+ Curl_update_timer(data->multi);
+diff --git a/lib/transfer.c b/lib/transfer.c
+index 827076183fc..ead8b36db9b 100644
+--- a/lib/transfer.c
++++ b/lib/transfer.c
+@@ -5,7 +5,7 @@
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+- * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
++ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+@@ -1217,8 +1217,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
+ else
+ fd_write = CURL_SOCKET_BAD;
+
+- if(data->state.drain) {
+- data->state.drain--;
++ if(conn->data->state.drain) {
+ select_res |= CURL_CSELECT_IN;
+ DEBUGF(infof(data, "Curl_readwrite: forcibly told to drain data\n"));
+ }