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
> 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
> 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
> option http.continue, which defaults to disabled, to control whether this
> 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 :))
> --- 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.
> + */
* 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
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