From: Jean-Philippe Menil Date: Wed, 9 Feb 2022 21:43:13 +0000 (+0100) Subject: quiche: fix upload for bigger content-length X-Git-Tag: curl-7_82_0~26 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=145d0803bbaf14988bd9620fbb7f85bc0c8b4838;p=thirdparty%2Fcurl.git quiche: fix upload for bigger content-length Signed-off-by: Jean-Philippe Menil Closes #8421 --- 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; }