diff options
author | Kevin Daudt <kdaudt@alpinelinux.org> | 2020-03-07 21:15:01 +0000 |
---|---|---|
committer | Kevin Daudt <kdaudt@alpinelinux.org> | 2020-03-07 21:16:35 +0000 |
commit | c3d131bf58f6470a9af70bc3d017d1342c294efe (patch) | |
tree | 1da56e4d3646625469904c4301b6e9d69494eeec /main/curl | |
parent | ecf57e8b704b42815bb0c15a09d02fa23abec21e (diff) | |
download | aports-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/APKBUILD | 9 | ||||
-rw-r--r-- | main/curl/revert-pause-force-drain-the-transfer-on-unpause.patch | 51 |
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")); + } |