]> granicus.if.org Git - curl/commitdiff
Tobias Rundstrom reported a problem they experienced with xmms2 and recent
authorDaniel Stenberg <daniel@haxx.se>
Wed, 2 May 2007 17:35:47 +0000 (17:35 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 2 May 2007 17:35:47 +0000 (17:35 +0000)
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.

CHANGES
RELEASE-NOTES
lib/transfer.c

diff --git a/CHANGES b/CHANGES
index 963716f0707ac1a7b1032c72b7875cafc71955ab..f65227c67d3a3fdf2cf65599fdd5fee7fa6a5d6f 100644 (file)
--- 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.
 
index 66726a45ed5e61f4645754f2def919c8647826c0..f349796d086f4a571fcb1fbfd1f61b961db941e0 100644 (file)
@@ -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)
index 760884e9b3e565678c0210d78f7e7e1f6da4a20d..d9e37b01b2e92b95371511f85c44506edd86733b 100644 (file)
@@ -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