summaryrefslogtreecommitdiff
path: root/http.c
diff options
context:
space:
mode:
authorDongHun Kwak <dh0128.kwak@samsung.com>2021-03-03 15:15:35 +0900
committerDongHun Kwak <dh0128.kwak@samsung.com>2021-03-03 15:15:35 +0900
commit6274951c16ff6459a100df58ed423b49009a613c (patch)
tree81aa47cde878c0e27f5217f15482383b84040f7c /http.c
parentb288067308010333815bc4443be07a3afb746212 (diff)
downloadgit-6274951c16ff6459a100df58ed423b49009a613c.tar.gz
git-6274951c16ff6459a100df58ed423b49009a613c.tar.bz2
git-6274951c16ff6459a100df58ed423b49009a613c.zip
Imported Upstream version 2.6.4upstream/2.6.4
Diffstat (limited to 'http.c')
-rw-r--r--http.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/http.c b/http.c
index 0f924a8b..c29ce81c 100644
--- a/http.c
+++ b/http.c
@@ -215,10 +215,10 @@ static int http_options(const char *var, const char *value, void *cb)
#endif
#if LIBCURL_VERSION_NUM >= 0x070908
if (!strcmp("http.sslcapath", var))
- return git_config_string(&ssl_capath, var, value);
+ return git_config_pathname(&ssl_capath, var, value);
#endif
if (!strcmp("http.sslcainfo", var))
- return git_config_string(&ssl_cainfo, var, value);
+ return git_config_pathname(&ssl_cainfo, var, value);
if (!strcmp("http.sslcertpasswordprotected", var)) {
ssl_cert_password_required = git_config_bool(var, value);
return 0;
@@ -465,6 +465,17 @@ static CURL *get_curl_handle(void)
if (curl_http_proxy) {
curl_easy_setopt(result, CURLOPT_PROXY, curl_http_proxy);
+#if LIBCURL_VERSION_NUM >= 0x071800
+ if (starts_with(curl_http_proxy, "socks5"))
+ curl_easy_setopt(result,
+ CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
+ else if (starts_with(curl_http_proxy, "socks4a"))
+ curl_easy_setopt(result,
+ CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4A);
+ else if (starts_with(curl_http_proxy, "socks"))
+ curl_easy_setopt(result,
+ CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
+#endif
}
#if LIBCURL_VERSION_NUM >= 0x070a07
curl_easy_setopt(result, CURLOPT_PROXYAUTH, CURLAUTH_ANY);