diff options
author | Daniel Stenberg <daniel@haxx.se> | 2017-06-16 17:30:39 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-06-16 21:56:56 +0200 |
commit | 01811b67405c54960c2175075691f59a0d066068 (patch) | |
tree | c8f5fb21129257819acc52e90ce4dfd97546fdfc | |
parent | 12ccaed2a53c07edb12f5b4e944d3a78e6a6fa0c (diff) | |
download | curl-01811b67405c54960c2175075691f59a0d066068.tar.gz |
http-proxy: fix chunked-encoded CONNECT responses
Regression since 5113ad0424.
... and remove 'flaky' from test 1061 again
Closes #1579
-rw-r--r-- | lib/http_proxy.c | 5 | ||||
-rw-r--r-- | lib/urldata.h | 1 | ||||
-rw-r--r-- | tests/data/test1061 | 1 |
3 files changed, 3 insertions, 4 deletions
diff --git a/lib/http_proxy.c b/lib/http_proxy.c index bb788bd2e..e1545ddf4 100644 --- a/lib/http_proxy.c +++ b/lib/http_proxy.c @@ -188,7 +188,6 @@ static CURLcode CONNECT(struct connectdata *conn, CURLcode result; curl_socket_t tunnelsocket = conn->sock[sockindex]; bool closeConnection = FALSE; - bool chunked_encoding = FALSE; time_t check; struct http_connect_state *s = conn->connect_state; @@ -454,7 +453,7 @@ static CURLcode CONNECT(struct connectdata *conn, infof(data, "Ignore %" CURL_FORMAT_CURL_OFF_T " bytes of response-body\n", s->cl); } - else if(chunked_encoding) { + else if(s->chunked_encoding) { CHUNKcode r; infof(data, "Ignore chunked response-body\n"); @@ -541,7 +540,7 @@ static CURLcode CONNECT(struct connectdata *conn, else if(Curl_compareheader(s->line_start, "Transfer-Encoding:", "chunked")) { infof(data, "CONNECT responded chunked\n"); - chunked_encoding = TRUE; + s->chunked_encoding = TRUE; /* init our chunky engine */ Curl_httpchunk_init(conn); } diff --git a/lib/urldata.h b/lib/urldata.h index 23423e11b..62037d0f2 100644 --- a/lib/urldata.h +++ b/lib/urldata.h @@ -905,6 +905,7 @@ struct http_connect_state { char *line_start; char *ptr; /* where to store more data */ curl_off_t cl; /* size of content to read and ignore */ + bool chunked_encoding; enum { TUNNEL_INIT, /* init/default/no tunnel state */ TUNNEL_CONNECT, /* CONNECT has been sent off */ diff --git a/tests/data/test1061 b/tests/data/test1061 index 35d5d35ae..c481d39c4 100644 --- a/tests/data/test1061 +++ b/tests/data/test1061 @@ -8,7 +8,6 @@ HTTP proxy chunked Transfer-Encoding proxytunnel HTTP proxy Digest auth -flaky </keywords> </info> |