diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/url.c | 26 |
1 files changed, 15 insertions, 11 deletions
@@ -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 |