From e01cc7737c92897fb8286e3df6392ab434cdced6 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 6 Jul 2010 22:50:21 +0200 Subject: [PATCH] http: don't enable chunked during authentication negotiations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As mentioned in bug report #2956968, the HTTP code wouldn't send the first empty chunk during the auth negotiation phase of the HTTP request sending, so the server would wait for data to come and libcurl would wait for data to arrive... I've made the code not enable chunked encoding until the auth negotiation is done and thus this scenario doesn't occur anymore. Reported by: Sidney San Martín Bug: http://curl.haxx.se/bug/view.cgi?id=2956968 --- lib/http.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/http.c b/lib/http.c index d510e6a9e..93a5e3e33 100644 --- a/lib/http.c +++ b/lib/http.c @@ -2222,7 +2222,10 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) if((conn->protocol&PROT_HTTP) && data->set.upload && (data->set.infilesize == -1)) { - if (use_http_1_1(data, conn)) { + if(conn->bits.authneg) + /* don't enable chunked during auth neg */ + ; + else if(use_http_1_1(data, conn)) { /* HTTP, upload, unknown file size and not HTTP 1.0 */ data->req.upload_chunky = TRUE; }