X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=http.c;h=5a1047345997cf35c40cfff5420f5519958257c3;hb=fc2d99f1e95252dcd3eb645a370a658bea7fd5bd;hp=44fcc4d178fcedaa87f1917608dd32a65c24c98a;hpb=f0b4fd47074d8cf3f9db9c444c8e1e125e0cc517;p=git.git diff --git a/http.c b/http.c index 44fcc4d17..5a1047345 100644 --- a/http.c +++ b/http.c @@ -42,6 +42,7 @@ static int curl_ftp_no_epsv; static const char *curl_http_proxy; static const char *curl_cookie_file; static char *user_name, *user_pass, *description; +static int http_proactive_auth; static const char *user_agent; #if LIBCURL_VERSION_NUM >= 0x071700 @@ -276,6 +277,9 @@ static CURL *get_curl_handle(void) curl_easy_setopt(result, CURLOPT_HTTPAUTH, CURLAUTH_ANY); #endif + if (http_proactive_auth) + init_curl_http_auth(result); + if (ssl_cert != NULL) curl_easy_setopt(result, CURLOPT_SSLCERT, ssl_cert); if (has_cert_password()) @@ -364,7 +368,7 @@ static void set_from_env(const char **var, const char *envname) *var = val; } -void http_init(struct remote *remote, const char *url) +void http_init(struct remote *remote, const char *url, int proactive_auth) { char *low_speed_limit; char *low_speed_time; @@ -375,6 +379,8 @@ void http_init(struct remote *remote, const char *url) curl_global_init(CURL_GLOBAL_ALL); + http_proactive_auth = proactive_auth; + if (remote && remote->http_proxy) curl_http_proxy = xstrdup(remote->http_proxy);