mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-13 21:32:23 +03:00
Revert "Revert "curl: Update to version 7.29.0.""
This reverts commit ec4f56b347
.
With the added patch, the curl segfault seems to be fixed.
This commit is contained in:
parent
1c515819ef
commit
e2abed75ec
@ -10,11 +10,11 @@ assert sslSupport -> openssl != null;
|
|||||||
assert scpSupport -> libssh2 != null;
|
assert scpSupport -> libssh2 != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "curl-7.28.0";
|
name = "curl-7.29.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://curl.haxx.se/download/${name}.tar.bz2";
|
url = "http://curl.haxx.se/download/${name}.tar.bz2";
|
||||||
sha256 = "b7f510db60f520ba0bc8a39cccee7e913362205b4a7709e16af2cba14093099b";
|
sha256 = "0bw3sclhjqb2zwgcp6njjpaca62rwlj2mrw2r9wic47sqsxfhy4x";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Zlib and OpenSSL must be propagated because `libcurl.la' contains
|
# Zlib and OpenSSL must be propagated because `libcurl.la' contains
|
||||||
@ -55,6 +55,8 @@ stdenv.mkDerivation rec {
|
|||||||
inherit sslSupport openssl;
|
inherit sslSupport openssl;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [ ./fix-curl-multi-cleanup.patch ];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
|
sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
|
||||||
'';
|
'';
|
||||||
|
32
pkgs/tools/networking/curl/fix-curl-multi-cleanup.patch
Normal file
32
pkgs/tools/networking/curl/fix-curl-multi-cleanup.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
commit 249c981407b8c52edf2b0833a78cd3d3d8bd2823
|
||||||
|
Author: Shea Levy <shea@shealevy.com>
|
||||||
|
Date: Sun Feb 10 13:27:10 2013 -0500
|
||||||
|
|
||||||
|
curl_multi_cleanup: Don't try to cleanup the closure_handle if it is NULL.
|
||||||
|
|
||||||
|
Without this, curl_multi_cleanup(curl_multi_init()) segfaults.
|
||||||
|
|
||||||
|
Signed-off-by: Shea Levy <shea@shealevy.com>
|
||||||
|
|
||||||
|
diff --git a/lib/multi.c b/lib/multi.c
|
||||||
|
index fa0afb9..5b9d0bb 100644
|
||||||
|
--- a/lib/multi.c
|
||||||
|
+++ b/lib/multi.c
|
||||||
|
@@ -1773,11 +1773,13 @@ CURLMcode curl_multi_cleanup(CURLM *multi_handle)
|
||||||
|
/* Close all the connections in the connection cache */
|
||||||
|
close_all_connections(multi);
|
||||||
|
|
||||||
|
- multi->closure_handle->dns.hostcache = multi->hostcache;
|
||||||
|
- Curl_hostcache_clean(multi->closure_handle);
|
||||||
|
+ if (multi->closure_handle) {
|
||||||
|
+ multi->closure_handle->dns.hostcache = multi->hostcache;
|
||||||
|
+ Curl_hostcache_clean(multi->closure_handle);
|
||||||
|
|
||||||
|
- Curl_close(multi->closure_handle);
|
||||||
|
- multi->closure_handle = NULL;
|
||||||
|
+ Curl_close(multi->closure_handle);
|
||||||
|
+ multi->closure_handle = NULL;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
Curl_hash_destroy(multi->sockhash);
|
||||||
|
multi->sockhash = NULL;
|
Loading…
Reference in New Issue
Block a user