summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.asciidoc1
-rw-r--r--src/core/wee-url.c21
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;
}