diff --git a/CHANGES b/CHANGES index 592beee2c..a2c0b64ae 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,12 @@ Changelog +Daniel Stenberg (14 May 2010) +- Sebastian V reported bug #3000056 identifying a problem with redirect + following. It showed that when curl followed redirects it didn't properly + ignore the response body of the 30X response if that response was using + compressed Content-Encoding! + Daniel Stenberg (12 May 2010) - Howard Chu brought support for RTMP. This is powered by the underlying librtmp library. It supports a range of variations and "sub-protocols" diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 6f3b7303c..83b682e98 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -28,6 +28,7 @@ This release includes the following bugfixes: o SSL handshake timeout underflow in libcurl-NSS o multi interface missed storing connection time o broken CRL support in libcurl-NSS + o ignore response-body on redirect even if compressed This release includes the following known bugs: diff --git a/lib/content_encoding.c b/lib/content_encoding.c index a44aad7d0..f8c9234d9 100644 --- a/lib/content_encoding.c +++ b/lib/content_encoding.c @@ -103,7 +103,7 @@ inflate_stream(struct connectdata *conn, status = inflate(z, Z_SYNC_FLUSH); if(status == Z_OK || status == Z_STREAM_END) { allow_restart = 0; - if(DSIZ - z->avail_out) { + if((DSIZ - z->avail_out) && (!k->ignorebody)) { result = Curl_client_write(conn, CLIENTWRITE_BODY, decomp, DSIZ - z->avail_out); /* if !CURLE_OK, clean up, return */