brian m. carlson wrote: > When using GSS-Negotiate authentication with libcurl, the authentication > provided will change every time, and so the probe that git uses to determine > if > authentication is needed is not sufficient to guarantee that data can be sent. > If the data fits entirely in http.postBuffer bytes, the data can be rewound > and > resent if authentication fails; otherwise, a 100 Continue must be requested in > this case. > > By default, curl will send an Expect: 100-continue if a certain amount of data > is to be uploaded, but when using chunked data this is never triggered. Add > an > option http.continue, which defaults to disabled, to control whether this > header > is sent. The addition of an option is necessary because some proxies break > badly if sent this header.
"By default" means "when allowed to make its own choice", right? (i.e., the behavior git never gave libcurl a chance to try :)) Makes sense. [...] > --- a/http.c > +++ b/http.c > @@ -11,6 +11,7 @@ > int active_requests; > int http_is_verbose; > size_t http_post_buffer = 16 * LARGE_PACKET_MAX; > +int http_use_100_continue = 0; Style: git tends to omit the '= 0' implicit for globals, since they are already 0 by default. [...] > --- a/remote-curl.c > +++ b/remote-curl.c > @@ -470,7 +470,12 @@ static int post_rpc(struct rpc_state *rpc) > > headers = curl_slist_append(headers, rpc->hdr_content_type); > headers = curl_slist_append(headers, rpc->hdr_accept); > - headers = curl_slist_append(headers, "Expect:"); > + > + /* Force it either on or off, since curl will try to decide based on how > + * much data is to be uploaded and we want consistency. > + */ Style: /* * Multi-line comments in git have the starting and ending comment * delimiters on their own lines, like this. */ Will make the fixups mentioned above, squash with documentation, and apply. Thanks. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html