From: Daniel Stenberg Date: Thu, 13 Sep 2012 20:57:38 +0000 (+0200) Subject: parse_proxy: treat "socks://x" as a socks4 proxy X-Git-Tag: curl-7_28_0~40 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=775cc1be66b7dd7994480bcb6d6a0fbf43620a96;p=thirdparty%2Fcurl.git parse_proxy: treat "socks://x" as a socks4 proxy Selected socks proxy in Google's Chrome browser. Resulting in the following environment variables: NO_PROXY=localhost,127.0.0.0/8 ALL_PROXY=socks://localhost:1080/ all_proxy=socks://localhost:1080/ no_proxy=localhost,127.0.0.0/8 ... and libcurl didn't treat 'socks://' as socks but instead picked HTTP proxy. Reported by: Scott Bailey Bug: http://curl.haxx.se/bug/view.cgi?id=3566860 --- diff --git a/lib/url.c b/lib/url.c index c05c50e62f..8bbd3e478d 100644 --- a/lib/url.c +++ b/lib/url.c @@ -4249,7 +4249,7 @@ static CURLcode parse_proxy(struct SessionHandle *data, conn->proxytype = CURLPROXY_SOCKS5; else if(checkprefix("socks4a", proxy)) conn->proxytype = CURLPROXY_SOCKS4A; - else if(checkprefix("socks4", proxy)) + else if(checkprefix("socks4", proxy) || checkprefix("socks", proxy)) conn->proxytype = CURLPROXY_SOCKS4; /* Any other xxx:// : change to http proxy */ }