summaryrefslogtreecommitdiff
path: root/net-misc/curl/files/curl-7.79.0-http2-connection-data.patch
blob: bdb1484d1b1603ffc1b3f435d9633123348e4114 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
https://github.com/curl/curl/commit/901804ef95777b8e735a55b77f8dd630a58c575b

From: Daniel Stenberg <daniel@haxx.se>
Date: Thu, 16 Sep 2021 08:50:54 +0200
Subject: [PATCH] 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
--- 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;