From 57a73689a9bc3d111566546b435ee49f3ff0f247 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Mon, 28 Aug 2017 13:26:23 +0200 Subject: [PATCH] + curl-7.55.1-4 Fix NetworkManager connectivity check not working (#1485702) --- ...it-on-CONNECT-when-there-is-no-proxy.patch | 37 +++++++++++++++++++ curl.spec | 10 ++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 0001-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch diff --git a/0001-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch b/0001-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch new file mode 100644 index 0000000..cea69b8 --- /dev/null +++ b/0001-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch @@ -0,0 +1,37 @@ +From 74dac344b2feb2e0f4baddb70532dc8e45d2d817 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +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 35c7c3d43..3e3313278 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; + +-- +2.13.5 + diff --git a/curl.spec b/curl.spec index bf9c192..bf2ea93 100644 --- a/curl.spec +++ b/curl.spec @@ -1,11 +1,15 @@ Summary: A utility for getting files from remote servers (FTP, HTTP, and others) Name: curl Version: 7.55.1 -Release: 3%{?dist} +Release: 4%{?dist} License: MIT Group: Applications/Internet Source: https://curl.haxx.se/download/%{name}-%{version}.tar.xz +# https://github.com/curl/curl/pull/1803 +# https://bugzilla.redhat.com/show_bug.cgi?id=1485702 +Patch0: 0001-http-Don-t-wait-on-CONNECT-when-there-is-no-proxy.patch + # make zsh completion work again Patch1: 0001-curl-7.55.1-zsh-completion.patch @@ -310,6 +314,10 @@ rm -f ${RPM_BUILD_ROOT}%{_libdir}/libcurl.la %{_libdir}/libcurl.so.[0-9].[0-9].[0-9].minimal %changelog +* Mon Aug 28 2017 Bastien Nocera - 7.55.1-4 ++ curl-7.55.1-4 +- Fix NetworkManager connectivity check not working (#1485702) + * Tue Aug 22 2017 Kamil Dudka 7.55.1-3 - utilize system wide crypto policies for TLS (#1483972)