diff --git a/CHANGES b/CHANGES index 963716f0707ac1a7b1032c72b7875cafc71955ab..f65227c67d3a3fdf2cf65599fdd5fee7fa6a5d6f 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,12 @@ Changelog Daniel S (2 May 2007) +- Tobias Rundström reported a problem they experienced with xmms2 and recent + libcurls, which turned out to be the 25-nov-2006 change which treats HTTP + responses without Content-Length or chunked encoding as without bodies. We + now added the conditional that the above mentioned response is only without + body if the response is HTTP 1.1. + - Jeff Pohlmeyer improved the hiperfifo.c example to use the CURLMOPT_TIMERFUNCTION callback option. diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 66726a45ed5e61f4645754f2def919c8647826c0..f349796d086f4a571fcb1fbfd1f61b961db941e0 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -34,6 +34,8 @@ This release includes the following bugfixes: o curl -V / curl_verion*() works even when GnuTLS is used on a system without a good random source o curl_multi_socket() not "noticing" newly added handles + o lack of Content-Length and chunked encoding now requires HTTP 1.1 as well + to be treated as without response body This release includes the following known bugs: @@ -57,6 +59,6 @@ advice from friends like these: Song Ma, Dan Fandrich, Yang Tse, Jay Austin, Robert Iakobashvil, James Housley, Daniel Black, Steve Little, Sonia Subramanian, Peter O'Gorman, - Frank Hempel, Michael Wallner, Jeff Pohlmeyer + Frank Hempel, Michael Wallner, Jeff Pohlmeyer, Tobias Rundström Thanks! (and sorry if I forgot to mention someone) diff --git a/lib/transfer.c b/lib/transfer.c index 760884e9b3e565678c0210d78f7e7e1f6da4a20d..d9e37b01b2e92b95371511f85c44506edd86733b 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -574,8 +574,9 @@ CURLcode Curl_readwrite(struct connectdata *conn, else { k->header = FALSE; /* no more header to parse! */ - if((k->size == -1) && !conn->bits.chunk && !conn->bits.close) - /* When connection is not to get closed, but no + if((k->size == -1) && !conn->bits.chunk && !conn->bits.close && + (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