Skip to content

Commit

Permalink
curl: Apply upstream patch to fix https hangs
Browse files Browse the repository at this point in the history
curl/curl#1174

Fixes NixOS/nix#1181.

(cherry picked from commit 7bc801e)
  • Loading branch information
edolstra committed Jan 24, 2017
1 parent 2f77bef commit c78022a
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 0 deletions.
4 changes: 4 additions & 0 deletions pkgs/tools/networking/curl/default.nix
Expand Up @@ -25,8 +25,12 @@ stdenv.mkDerivation rec {
sha256 = "16rqhyzlpnivifin8n7l2fr9ihay9v2nw2drsniinb6bcykqaqfi";
};

patches = [ ./issue-1174.patch ];

outputs = [ "bin" "dev" "out" "man" "devdoc" ];

enableParallelBuilding = true;

nativeBuildInputs = [ pkgconfig perl ];

# Zlib and OpenSSL must be propagated because `libcurl.la' contains
Expand Down
34 changes: 34 additions & 0 deletions pkgs/tools/networking/curl/issue-1174.patch
@@ -0,0 +1,34 @@
commit a7b38c9dc98481e4a5fc37e51a8690337c674dfb
Author: Daniel Stenberg <daniel@haxx.se>
Date: Mon Dec 26 00:06:33 2016 +0100

vtls: s/SSLEAY/OPENSSL

Fixed an old leftover use of the USE_SSLEAY define which would make a
socket get removed from the applications sockets to monitor when the
multi_socket API was used, leading to timeouts.

Bug: #1174

diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
index b808e1c..707f24b 100644
--- a/lib/vtls/vtls.c
+++ b/lib/vtls/vtls.c
@@ -484,7 +484,7 @@ void Curl_ssl_close_all(struct Curl_easy *data)
curlssl_close_all(data);
}

-#if defined(USE_SSLEAY) || defined(USE_GNUTLS) || defined(USE_SCHANNEL) || \
+#if defined(USE_OPENSSL) || defined(USE_GNUTLS) || defined(USE_SCHANNEL) || \
defined(USE_DARWINSSL) || defined(USE_NSS)
/* This function is for OpenSSL, GnuTLS, darwinssl, and schannel only. */
int Curl_ssl_getsock(struct connectdata *conn, curl_socket_t *socks,
@@ -518,7 +518,7 @@ int Curl_ssl_getsock(struct connectdata *conn,
(void)numsocks;
return GETSOCK_BLANK;
}
-/* USE_SSLEAY || USE_GNUTLS || USE_SCHANNEL || USE_DARWINSSL || USE_NSS */
+/* USE_OPENSSL || USE_GNUTLS || USE_SCHANNEL || USE_DARWINSSL || USE_NSS */
#endif

void Curl_ssl_close(struct connectdata *conn, int sockindex)

0 comments on commit c78022a

Please sign in to comment.