From 974fa1242aa9e7a95c687cb1d074240c53ffb33b Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 25 Jun 2007 13:58:14 +0000 Subject: Adjusted how libcurl treats HTTP 1.1 responses without content-lenth or chunked encoding (that also lacks "Connection: close"). It now simply assumes that the connection WILL be closed to signal the end, as that is how RFC2616 section 4.4 point #5 says we should behave. --- lib/transfer.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/lib/transfer.c b/lib/transfer.c index 703f408a2..35e8192ef 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -577,11 +577,12 @@ CURLcode Curl_readwrite(struct connectdata *conn, (k->httpversion >= 11) ) /* On HTTP 1.1, when connection is not to get closed, but no Content-Length nor Content-Encoding chunked have been - received, there is no body in this response. We don't set - stop_reading TRUE since that would also prevent necessary - authentication actions to take place. */ - conn->bits.no_body = TRUE; - + received, according to RFC2616 section 4.4 point 5, we + assume that the server will close the connection to + signal the end of the document. */ + infof(data, "no chunk, no close, no size. Assume close to " + "signal end\n"); + conn->bits.close = TRUE; } if (417 == k->httpcode) { -- cgit v1.2.3