summaryrefslogtreecommitdiff
path: root/net-misc/curl/files/curl-8.2.0-http2-eof.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-misc/curl/files/curl-8.2.0-http2-eof.patch')
-rw-r--r--net-misc/curl/files/curl-8.2.0-http2-eof.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/net-misc/curl/files/curl-8.2.0-http2-eof.patch b/net-misc/curl/files/curl-8.2.0-http2-eof.patch
new file mode 100644
index 000000000000..0040a3c6560e
--- /dev/null
+++ b/net-misc/curl/files/curl-8.2.0-http2-eof.patch
@@ -0,0 +1,32 @@
+Patch-Source: https://github.com/curl/curl/commit/f9314f317f017e19e1802ce04ceeae620ca2cd71
+--
+From: Stefan Eissing <stefan@eissing.org>
+Date: Thu, 20 Jul 2023 13:08:00 +0200
+Subject: [PATCH] http2: fix regression on upload EOF handling
+
+- a regression introduced by c9ec85121110d7cbbbed2990024222c8f5b8afe5
+ where optimization of small POST bodies leads to a new code path
+ for such uploads that did not trigger the "done sending" event
+- add triggering this event for early "upload_done" situations
+
+Fixes #11485
+Closes #11487
+Reported-by: Aleksander Mazur
+---
+ lib/http.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/lib/http.c b/lib/http.c
+index f851bcd4a3443..e04028b3fec54 100644
+--- a/lib/http.c
++++ b/lib/http.c
+@@ -3380,6 +3380,9 @@ CURLcode Curl_http(struct Curl_easy *data, bool *done)
+ }
+ }
+
++ if(data->req.upload_done)
++ Curl_conn_ev_data_done_send(data);
++
+ if((conn->httpversion >= 20) && data->req.upload_chunky)
+ /* upload_chunky was set above to set up the request in a chunky fashion,
+ but is disabled here again to avoid that the chunked encoded version is