From: Isaac Boukris Date: Fri, 24 Feb 2017 09:28:08 +0000 (+0200) Subject: url: fix unix-socket support for proxy-disabled builds X-Git-Tag: curl-7_54_0~194 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f8023ceb5dc6b142c51fe161e0574b4d7f14b5e;p=thirdparty%2Fcurl.git url: fix unix-socket support for proxy-disabled builds Prior to this change if curl was built with Unix Socket support (--enable-unix-sockets) and without Proxy support (--disable-proxy) then unix socket options would erroneously be ignored. Regression introduced in: 0b8d682f81ee9acb763dd4c9ad805fe08d1227c0 Bug: https://github.com/curl/curl/issues/1274 Reported-by: mccormickt12@users.noreply.github.com Closes https://github.com/curl/curl/pull/1289 --- diff --git a/lib/url.c b/lib/url.c index b2dac8bcbd..94c9bc6813 100644 --- a/lib/url.c +++ b/lib/url.c @@ -6256,6 +6256,17 @@ static CURLcode create_conn(struct Curl_easy *data, } } +#ifdef USE_UNIX_SOCKETS + if(data->set.str[STRING_UNIX_SOCKET_PATH]) { + conn->unix_domain_socket = strdup(data->set.str[STRING_UNIX_SOCKET_PATH]); + if(conn->unix_domain_socket == NULL) { + result = CURLE_OUT_OF_MEMORY; + goto out; + } + conn->abstract_unix_socket = data->set.abstract_unix_socket; + } +#endif + #ifndef CURL_DISABLE_PROXY /************************************************************* * Extract the user and password from the authentication string @@ -6310,17 +6321,10 @@ static CURLcode create_conn(struct Curl_easy *data, Curl_safefree(no_proxy); #ifdef USE_UNIX_SOCKETS - if(data->set.str[STRING_UNIX_SOCKET_PATH]) { - if(proxy) { - free(proxy); /* Unix domain sockets cannot be proxied, so disable it */ - proxy = NULL; - } - conn->unix_domain_socket = strdup(data->set.str[STRING_UNIX_SOCKET_PATH]); - if(conn->unix_domain_socket == NULL) { - result = CURLE_OUT_OF_MEMORY; - goto out; - } - conn->abstract_unix_socket = data->set.abstract_unix_socket; + /* For the time being do not mix proxy and unix domain sockets. See #1274 */ + if(proxy && conn->unix_domain_socket) { + free(proxy); + proxy = NULL; } #endif