summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan P. Stanić <mps@arvanta.net>2019-02-11 22:48:42 +0100
committerNatanael Copa <ncopa@alpinelinux.org>2019-02-26 19:17:57 +0100
commit957dc8a8ec5f4102c9258938655a3e9cf3736a72 (patch)
tree4b534fa04f865aa283d5c992140ba416e59936e5
parent203cb413da1ecf416412c7b7d53213b1c2b22a09 (diff)
main/curl: fix segfault when running cargo
Patch is taken from upstream at https://github.com/curl/curls The http2 code for connection checking needs a transfer to use. Make sure a working one is set before handler->connection_check() is called. (cherry picked from commit 4a7cbd15d80c1cda6e5221612f846b6b4c91104e)
-rw-r--r--main/curl/APKBUILD8
-rw-r--r--main/curl/url-fix-7.64.patch10
2 files changed, 15 insertions, 3 deletions
diff --git a/main/curl/APKBUILD b/main/curl/APKBUILD
index b737e591210..93e15c6d54f 100644
--- a/main/curl/APKBUILD
+++ b/main/curl/APKBUILD
@@ -4,7 +4,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=curl
pkgver=7.64.0
-pkgrel=0
+pkgrel=1
pkgdesc="URL retrival utility and library"
url="https://curl.haxx.se"
arch="all"
@@ -14,7 +14,8 @@ depends_dev="openssl-dev libssh2-dev nghttp2-dev zlib-dev"
checkdepends="python2"
makedepends="$depends_dev autoconf automake groff libtool perl"
subpackages="$pkgname-dbg $pkgname-doc $pkgname-dev libcurl"
-source="https://curl.haxx.se/download/$pkgname-$pkgver.tar.xz"
+source="https://curl.haxx.se/download/$pkgname-$pkgver.tar.xz
+ url-fix-7.64.patch"
options="!check" # sftp tests failing
builddir="$srcdir/$pkgname-$pkgver"
@@ -115,4 +116,5 @@ libcurl() {
mv "$pkgdir"/usr/lib "$subpkgdir"/usr
}
-sha512sums="953f1f5336ce5dfd1b9f933624432d401552d91ee02d39ecde6f023c956f99ec6aae8d7746d7c34b6eb2d6452f114e67da4e64d9c8dd90b7644b7844e7b9b423 curl-7.64.0.tar.xz"
+sha512sums="953f1f5336ce5dfd1b9f933624432d401552d91ee02d39ecde6f023c956f99ec6aae8d7746d7c34b6eb2d6452f114e67da4e64d9c8dd90b7644b7844e7b9b423 curl-7.64.0.tar.xz
+9b0cd3bfb705e804f21b3c87929ec5c3bbd6f17748e82cda75c3edbca5ea66cbcb0260c666635a2cbdaa6d4081008a9c445b4f266e9b970d3deaed21f9b352a1 url-fix-7.64.patch"
diff --git a/main/curl/url-fix-7.64.patch b/main/curl/url-fix-7.64.patch
new file mode 100644
index 00000000000..ed63f90092b
--- /dev/null
+++ b/main/curl/url-fix-7.64.patch
@@ -0,0 +1,10 @@
+--- a/lib/url.c
++++ b/lib/url.c
+@@ -965,6 +965,7 @@
+ /* The protocol has a special method for checking the state of the
+ connection. Use it to check if the connection is dead. */
+ unsigned int state;
++ conn->data = data; /* use this transfer for now */
+ state = conn->handler->connection_check(conn, CONNCHECK_ISDEAD);
+ dead = (state & CONNRESULT_DEAD);
+ }