1
0
mirror of https://github.com/git/git.git synced 2024-09-21 00:34:57 +02:00

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>
This commit is contained in:
Tom G. Christensen 2017-08-11 18:37:33 +02:00 committed by Junio C Hamano
parent 4274c698f4
commit f18777ba6e

4
http.c
View File

@ -677,6 +677,7 @@ void setup_curl_trace(CURL *handle)
curl_easy_setopt(handle, CURLOPT_DEBUGDATA, NULL); curl_easy_setopt(handle, CURLOPT_DEBUGDATA, NULL);
} }
#ifdef CURLPROTO_HTTP
static long get_curl_allowed_protocols(int from_user) static long get_curl_allowed_protocols(int from_user)
{ {
long allowed_protocols = 0; long allowed_protocols = 0;
@ -692,6 +693,7 @@ static long get_curl_allowed_protocols(int from_user)
return allowed_protocols; return allowed_protocols;
} }
#endif
static CURL *get_curl_handle(void) static CURL *get_curl_handle(void)
{ {
@ -790,7 +792,7 @@ static CURL *get_curl_handle(void)
#elif LIBCURL_VERSION_NUM >= 0x071101 #elif LIBCURL_VERSION_NUM >= 0x071101
curl_easy_setopt(result, CURLOPT_POST301, 1); curl_easy_setopt(result, CURLOPT_POST301, 1);
#endif #endif
#if LIBCURL_VERSION_NUM >= 0x071304 #ifdef CURLPROTO_HTTP
curl_easy_setopt(result, CURLOPT_REDIR_PROTOCOLS, curl_easy_setopt(result, CURLOPT_REDIR_PROTOCOLS,
get_curl_allowed_protocols(0)); get_curl_allowed_protocols(0));
curl_easy_setopt(result, CURLOPT_PROTOCOLS, curl_easy_setopt(result, CURLOPT_PROTOCOLS,