summaryrefslogtreecommitdiff
path: root/http.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-12-19 16:05:59 -0800
committerJunio C Hamano <gitster@pobox.com>2011-12-19 16:05:59 -0800
commit1d3a035d6d48bfa870b6ebe7c59f12b66e3a1b1c (patch)
tree58d0280090c8c26915a20c894a84b7a951ac8004 /http.c
parentb3ae9d8e57166c771926e3f55555bf248b71202a (diff)
parenta4ddbc33d7906f0e10c68c140a9a1003d9715a77 (diff)
downloadgit-1d3a035d6d48bfa870b6ebe7c59f12b66e3a1b1c.tar.gz
Merge branch 'jk/maint-push-over-dav'
* jk/maint-push-over-dav: http-push: enable "proactive auth" t5540: test DAV push with authentication Conflicts: http.c
Diffstat (limited to 'http.c')
-rw-r--r--http.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/http.c b/http.c
index 8e72664061..0ffd79cd81 100644
--- a/http.c
+++ b/http.c
@@ -43,6 +43,7 @@ static int curl_ftp_no_epsv;
static const char *curl_http_proxy;
static const char *curl_cookie_file;
static struct credential http_auth = CREDENTIAL_INIT;
+static int http_proactive_auth;
static const char *user_agent;
#if LIBCURL_VERSION_NUM >= 0x071700
@@ -252,6 +253,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())
@@ -304,7 +308,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;
@@ -315,6 +319,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);