Merge branch 'rb/http-cert-cred-no-username-prompt'
authorJunio C Hamano <gitster@pobox.com>
Wed, 2 Jan 2013 18:39:21 +0000 (10:39 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Jan 2013 18:39:21 +0000 (10:39 -0800)
http transport was wrong to ask for the username when the
authentication is done by certificate identity.

* rb/http-cert-cred-no-username-prompt:
http.c: Avoid username prompt for certifcate credentials

1  2 
http.c
diff --combined http.c
index 0a8abf3be369a18fae8e743d4cc9b5f2c2f63f03,0b32cc6a29ed82b56b67c44d7b464a902c5bba86..44f35256e44ffdda2ffb0ce67825008bef89700f
--- 1/http.c
--- 2/http.c
+++ b/http.c
@@@ -236,6 -236,7 +236,7 @@@ static int has_cert_password(void
                return 0;
        if (!cert_auth.password) {
                cert_auth.protocol = xstrdup("cert");
+               cert_auth.username = xstrdup("");
                cert_auth.path = xstrdup(ssl_cert);
                credential_fill(&cert_auth);
        }
@@@ -757,7 -758,8 +758,7 @@@ char *get_remote_object_url(const char 
        return strbuf_detach(&buf, NULL);
  }
  
 -int handle_curl_result(struct active_request_slot *slot,
 -                     struct slot_results *results)
 +int handle_curl_result(struct slot_results *results)
  {
        if (results->curl_result == CURLE_OK) {
                credential_approve(&http_auth);
                        return HTTP_NOAUTH;
                } else {
                        credential_fill(&http_auth);
 -                      init_curl_http_auth(slot->curl);
                        return HTTP_REAUTH;
                }
        } else {
@@@ -831,7 -834,7 +832,7 @@@ static int http_request(const char *url
  
        if (start_active_slot(slot)) {
                run_active_slot(slot);
 -              ret = handle_curl_result(slot, &results);
 +              ret = handle_curl_result(&results);
        } else {
                error("Unable to start HTTP request for %s", url);
                ret = HTTP_START_FAILED;