aboutsummaryrefslogtreecommitdiff
path: root/http.c
diff options
context:
space:
mode:
authorTom G. Christensen <tgc@jupiterrise.com>2017-08-11 18:37:33 +0200
committerJunio C Hamano <gitster@pobox.com>2017-08-11 15:12:07 -0700
commitf18777ba6ef23c30c68d2d4799b6ba512785288f (patch)
tree505efbdc9537b8a142f9180a297ba13e8f456c55 /http.c
parent4274c698f46a9bc45834c4904e7e113450c042fb (diff)
downloadgit-f18777ba6ef23c30c68d2d4799b6ba512785288f.tar.gz
git-f18777ba6ef23c30c68d2d4799b6ba512785288f.tar.xz
http: fix handling of missing CURLPROTO_*
Commit aeae4db1 refactored the handling of the curl protocol restriction support into a function but failed to add a version check for older versions of curl that lack CURLPROTO_* support. Add the missing check and at the same time convert it to a feature check instead of a version based check. This is done to ensure that vendor supported curl versions that have had CURLPROTO_* support backported are handled correctly. Signed-off-by: Tom G. Christensen <tgc@jupiterrise.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'http.c')
-rw-r--r--http.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/http.c b/http.c
index c6c010f88..d49068ff8 100644
--- a/http.c
+++ b/http.c
@@ -677,6 +677,7 @@ void setup_curl_trace(CURL *handle)
curl_easy_setopt(handle, CURLOPT_DEBUGDATA, NULL);
}
+#ifdef CURLPROTO_HTTP
static long get_curl_allowed_protocols(int from_user)
{
long allowed_protocols = 0;
@@ -692,6 +693,7 @@ static long get_curl_allowed_protocols(int from_user)
return allowed_protocols;
}
+#endif
static CURL *get_curl_handle(void)
{
@@ -790,7 +792,7 @@ static CURL *get_curl_handle(void)
#elif LIBCURL_VERSION_NUM >= 0x071101
curl_easy_setopt(result, CURLOPT_POST301, 1);
#endif
-#if LIBCURL_VERSION_NUM >= 0x071304
+#ifdef CURLPROTO_HTTP
curl_easy_setopt(result, CURLOPT_REDIR_PROTOCOLS,
get_curl_allowed_protocols(0));
curl_easy_setopt(result, CURLOPT_PROTOCOLS,