From: Junio C Hamano Date: Thu, 5 Dec 2013 20:58:58 +0000 (-0800) Subject: Merge branch 'bc/http-100-continue' X-Git-Tag: v1.9-rc0~97 X-Git-Url: https://git.lorimer.id.au/gitweb.git/diff_plain/c5a77e8f9293674e9a936f01cc1719a316f87d24 Merge branch 'bc/http-100-continue' Issue "100 Continue" responses to help use of GSS-Negotiate authentication scheme over HTTP transport when needed. * bc/http-100-continue: remote-curl: fix large pushes with GSSAPI remote-curl: pass curl slot_results back through run_slot http: return curl's AUTHAVAIL via slot_results --- c5a77e8f9293674e9a936f01cc1719a316f87d24 diff --cc remote-curl.c index c9b891adbf,427d50f8de..91b07a4145 --- a/remote-curl.c +++ b/remote-curl.c @@@ -472,10 -447,10 +477,12 @@@ static int post_rpc(struct rpc_state *r } if (large_request) { + struct slot_results results; + do { - err = probe_rpc(rpc); + err = probe_rpc(rpc, &results); + if (err == HTTP_REAUTH) + credential_fill(&http_auth); } while (err == HTTP_REAUTH); if (err != HTTP_OK) return -1; @@@ -574,11 -553,9 +585,11 @@@ retry curl_easy_setopt(slot->curl, CURLOPT_WRITEFUNCTION, rpc_in); curl_easy_setopt(slot->curl, CURLOPT_FILE, rpc); - err = run_slot(slot); + err = run_slot(slot, NULL); - if (err == HTTP_REAUTH && !large_request) + if (err == HTTP_REAUTH && !large_request) { + credential_fill(&http_auth); goto retry; + } if (err != HTTP_OK) err = -1;