diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-11-06 21:22:19 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-11-06 21:22:19 -0800 |
commit | 78c17b9943ade62e6eebe069fadaecc637b301df (patch) | |
tree | 958faed204163983795a42dae5d491409569c7fb | |
parent | de263479506066f240cf629aa3aac50c94668d89 (diff) | |
parent | 986bbc0842334f0e07731fa37f2a55d2930a5b8c (diff) | |
download | git-78c17b9943ade62e6eebe069fadaecc637b301df.tar.gz |
Merge branch 'sn/http-auth-with-netrc-fix'
* sn/http-auth-with-netrc-fix:
http: don't always prompt for password
-rw-r--r-- | http.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -279,8 +279,6 @@ static CURL *get_curl_handle(void) curl_easy_setopt(result, CURLOPT_HTTPAUTH, CURLAUTH_ANY); #endif - init_curl_http_auth(result); - if (ssl_cert != NULL) curl_easy_setopt(result, CURLOPT_SSLCERT, ssl_cert); if (has_cert_password()) @@ -846,7 +844,7 @@ static int http_request(const char *url, void *result, int target, int options) else if (missing_target(&results)) ret = HTTP_MISSING_TARGET; else if (results.http_code == 401) { - if (user_name) { + if (user_name && user_pass) { ret = HTTP_NOAUTH; } else { /* @@ -855,7 +853,8 @@ static int http_request(const char *url, void *result, int target, int options) * but that is non-portable. Using git_getpass() can at least be stubbed * on other platforms with a different implementation if/when necessary. */ - user_name = xstrdup(git_getpass_with_description("Username", description)); + if (!user_name) + user_name = xstrdup(git_getpass_with_description("Username", description)); init_curl_http_auth(slot->curl); ret = HTTP_REAUTH; } |