diff options
-rw-r--r-- | ChangeLog.asciidoc | 1 | ||||
-rw-r--r-- | src/core/wee-url.c | 21 |
2 files changed, 13 insertions, 9 deletions
diff --git a/ChangeLog.asciidoc b/ChangeLog.asciidoc index eb04b70e6..4cfa4e078 100644 --- a/ChangeLog.asciidoc +++ b/ChangeLog.asciidoc @@ -15,6 +15,7 @@ http://weechat.org/files/releasenotes/ReleaseNotes-devel.html[release notes] == Version 1.0 (under dev) +* core: fix socks5 proxy for curl downloads (closes #119) * core: display curl error after a failed download * core: do not display content of passphrase on /secure buffer * core: add option "env" in command /set (manage environment variables) diff --git a/src/core/wee-url.c b/src/core/wee-url.c index 88df5a105..79eb5b26f 100644 --- a/src/core/wee-url.c +++ b/src/core/wee-url.c @@ -1095,22 +1095,25 @@ weeurl_set_proxy (CURL *curl, struct t_proxy *proxy) curl_easy_setopt (curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); break; case PROXY_TYPE_SOCKS4: -#if LIBCURL_VERSION_NUM >= 0x070A00 - /* libcurl >= 7.10 */ - curl_easy_setopt (curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4); -#else +#if LIBCURL_VERSION_NUM < 0x070A00 /* proxy socks4 not supported in Curl < 7.10 */ return; #endif + curl_easy_setopt (curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4); break; case PROXY_TYPE_SOCKS5: -#if LIBCURL_VERSION_NUM >= 0x070A00 - /* libcurl >= 7.10 */ - curl_easy_setopt (curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); -#else - /* proxy socks4 not supported in Curl < 7.10 */ +#if LIBCURL_VERSION_NUM < 0x070A00 + /* proxy socks5 not supported in Curl < 7.10 */ return; #endif +#if LIBCURL_VERSION_NUM >= 0x071200 + /* libcurl >= 7.18.0 */ + curl_easy_setopt (curl, CURLOPT_PROXYTYPE, + CURLPROXY_SOCKS5_HOSTNAME); +#else + /* libcurl < 7.18.0 */ + curl_easy_setopt (curl, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); +#endif break; } |