From 01811b67405c54960c2175075691f59a0d066068 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Fri, 16 Jun 2017 17:30:39 +0200 Subject: http-proxy: fix chunked-encoded CONNECT responses Regression since 5113ad0424. ... and remove 'flaky' from test 1061 again Closes #1579 --- lib/http_proxy.c | 5 ++--- lib/urldata.h | 1 + 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 -- cgit v1.2.1