aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2007-07-10 22:45:01 +0000
committerDaniel Stenberg <daniel@haxx.se>2007-07-10 22:45:01 +0000
commit5119fb16d63e91972924e54d455c825f62b1440d (patch)
tree6bad9de391b8f3462da8dc42a2e25288c821128a
parentdc2c70be070f0da6e61777d7a8cb2e47576b461c (diff)
Shmulik Regev:
The tiny patch below fixes a bug (that I introduced :) which happens when negotiating authentication with a proxy (probably with web servers as well) that uses chunked transfer encoding for the 407 error pages. In this case the ''ignorebody'' flag was ignored (no pun intended).
-rw-r--r--CHANGES3
-rw-r--r--RELEASE-NOTES5
-rw-r--r--lib/http_chunks.c3
3 files changed, 7 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index 0f0b39175..acbd88a5e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,9 @@
Changelog
Daniel S (11 July 2007)
+- Shmulik Regev fixed a bug with transfer-encoding skipping during the 407
+ error pages for proxy authentication.
+
- Giancarlo Formicuccia reported and fixed a problem with a closed connection
to a proxy during CONNECT auth negotiation.
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index feffdbf8d..43bf84314 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -15,8 +15,9 @@ This release includes the following changes:
This release includes the following bugfixes:
- o Test cases 31, 46, 61, 506, 517 now work in time zones that use leap seconds
+ o test cases 31, 46, 61, 506, 517 now work in time zones that use leap seconds
o problem with closed proxy connection during HTTP CONNECT auth negotiation
+ o transfer-encoding skipping didn't ignore the 407 response bodies properly
This release includes the following known bugs:
@@ -33,6 +34,6 @@ New curl mirrors:
This release would not have looked like this without help, code, reports and
advice from friends like these:
- Dan Fandrich, Song Ma, Daniel Black, Giancarlo Formicuccia
+ Dan Fandrich, Song Ma, Daniel Black, Giancarlo Formicuccia, Shmulik Regev
Thanks! (and sorry if I forgot to mention someone)
diff --git a/lib/http_chunks.c b/lib/http_chunks.c
index cc89068f3..8e44b6d05 100644
--- a/lib/http_chunks.c
+++ b/lib/http_chunks.c
@@ -118,10 +118,9 @@ CHUNKcode Curl_httpchunk_read(struct connectdata *conn,
/* the original data is written to the client, but we go on with the
chunk read process, to properly calculate the content length*/
- if ( data->set.http_te_skip )
+ if (data->set.http_te_skip && !k->ignorebody)
Curl_client_write(conn, CLIENTWRITE_BODY, datap,datalen);
-
while(length) {
switch(ch->state) {
case CHUNK_HEX: