From 145d0803bbaf14988bd9620fbb7f85bc0c8b4838 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Menil Date: Wed, 9 Feb 2022 22:43:13 +0100 Subject: [PATCH] quiche: fix upload for bigger content-length Signed-off-by: Jean-Philippe Menil Closes #8421 --- docs/KNOWN_BUGS | 5 ----- lib/vquic/quiche.c | 5 ++++- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/docs/KNOWN_BUGS b/docs/KNOWN_BUGS index 5dc0d994ea..39a2995e6d 100644 --- a/docs/KNOWN_BUGS +++ b/docs/KNOWN_BUGS @@ -161,7 +161,6 @@ problems may have been fixed or changed somewhat since this was written. 18.2 Uploading HTTP/3 files gets interrupted at certain file sizes 18.4 Downloading with HTTP/3 produces broken files 18.6 HTTP/3 multipart POST with quiche fails - 18.7 HTTP/3 quiche upload large file fails 18.8 HTTP/3 does not support client certs 18.9 connection migration does not work @@ -1135,10 +1134,6 @@ problems may have been fixed or changed somewhat since this was written. https://github.com/curl/curl/issues/7125 -18.7 HTTP/3 quiche upload large file fails - - https://github.com/curl/curl/issues/7532 - 18.8 HTTP/3 does not support client certs aka "mutual authentication". diff --git a/lib/vquic/quiche.c b/lib/vquic/quiche.c index ed1179d4dc..ea3a66c278 100644 --- a/lib/vquic/quiche.c +++ b/lib/vquic/quiche.c @@ -701,7 +701,10 @@ static ssize_t h3_stream_send(struct Curl_easy *data, H3BUGF(infof(data, "Pass on %zd body bytes to quiche", len)); sent = quiche_h3_send_body(qs->h3c, qs->conn, stream->stream3_id, (uint8_t *)mem, len, FALSE); - if(sent < 0) { + if(sent == QUICHE_H3_ERR_DONE) { + sent = 0; + } + else if(sent < 0) { *curlcode = CURLE_SEND_ERROR; return -1; } -- 2.47.3