summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2021-09-16 08:50:54 +0200
committerDaniel Stenberg <daniel@haxx.se>2021-09-16 11:23:55 +0200
commit901804ef95777b8e735a55b77f8dd630a58c575b (patch)
tree743c17942a608f6f1e44459287487de77ab2e1eb
parent9e4298faae5b8bc239fbcb53f5e80241a7d22fc4 (diff)
downloadcurl-901804ef95777b8e735a55b77f8dd630a58c575b.tar.gz
Curl_http2_setup: don't change connection data on repeat invokes
Regression from 3cb8a748670ab88c (releasde in 7.79.0). That change moved transfer oriented inits to before the check but also erroneously moved a few connection oriented ones, which causes problems. Reported-by: Evangelos Foutras Fixes #7730 Closes #7731
-rw-r--r--lib/http2.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/http2.c b/lib/http2.c
index a3de607c7..6d63f4363 100644
--- a/lib/http2.c
+++ b/lib/http2.c
@@ -2221,12 +2221,6 @@ CURLcode Curl_http2_setup(struct Curl_easy *data,
stream->mem = data->state.buffer;
stream->len = data->set.buffer_size;
- httpc->inbuflen = 0;
- httpc->nread_inbuf = 0;
-
- httpc->pause_stream_id = 0;
- httpc->drain_total = 0;
-
multi_connchanged(data->multi);
/* below this point only connection related inits are done, which only needs
to be done once per connection */
@@ -2252,6 +2246,12 @@ CURLcode Curl_http2_setup(struct Curl_easy *data,
conn->httpversion = 20;
conn->bundle->multiuse = BUNDLE_MULTIPLEX;
+ httpc->inbuflen = 0;
+ httpc->nread_inbuf = 0;
+
+ httpc->pause_stream_id = 0;
+ httpc->drain_total = 0;
+
infof(data, "Connection state changed (HTTP/2 confirmed)");
return CURLE_OK;