Package: libcurl3-gnutls Version: 7.55.0-1 Severity: important Tags: upstream patch
Control: affects -1 network-manager-config-connectivity-debian Hi, The connectivity checker in NM (install network-manager-config-connectivity-debian package) times out most of the time when trying to contact the remote server. NM is using libcurl to do this. This issue has affected other distros too, and the problem has been debugged & a patch provided (attached). Some links https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/curl&id=058482ae218dca2475db23046bf513ab4e9a6601 https://github.com/curl/curl/commit/74dac344b2feb2e0f4baddb70532dc8e45d2d817 Could you please apply the attached patch as a cherry-pick to unbreak the checker in Debian? I've built a package with it in and it works here. I could NMU if you'd like too. Cheers, Iain
>From 74dac344b2feb2e0f4baddb70532dc8e45d2d817 Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" <[email protected]> Date: Fri, 18 Aug 2017 10:43:02 +0200 Subject: [PATCH] http: Don't wait on CONNECT when there is no proxy Since curl 7.55.0, NetworkManager almost always failed its connectivity check by timeout. I bisected this to 5113ad04 (http-proxy: do the HTTP CONNECT process entirely non-blocking). This patch replaces !Curl_connect_complete with Curl_connect_ongoing, which returns false if the CONNECT state was left uninitialized and lets the connection continue. Closes #1803 Fixes #1804 Also-fixed-by: Gergely Nagy --- lib/http.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/http.c b/lib/http.c index 35c7c3d43f..3e33132783 100644 --- a/lib/http.c +++ b/lib/http.c @@ -1371,7 +1371,7 @@ CURLcode Curl_http_connect(struct connectdata *conn, bool *done) if(CONNECT_FIRSTSOCKET_PROXY_SSL()) return CURLE_OK; /* wait for HTTPS proxy SSL initialization to complete */ - if(!Curl_connect_complete(conn)) + if(Curl_connect_ongoing(conn)) /* nothing else to do except wait right now - we're not done here. */ return CURLE_OK;

