-
-
Notifications
You must be signed in to change notification settings - Fork 6.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix HTTP/3 bug: uploading payload larger than 65536 will be blocked until timeout. #7538
Fix HTTP/3 bug: uploading payload larger than 65536 will be blocked until timeout. #7538
Conversation
and the other comment, what do you think about it? |
@bagder Line 1350 in b836b06
|
My test cases:
|
That's why I didn't like the fix. So if you make the change I proposed, does it still work or isn't that good enough? |
if data->set.postfields is true, a flag NGHTTP3_DATA_FLAG_EOF is set and return, and the value of stream->upload_len would never be updated, right? I think this is a bug. |
0cbeb4f
to
29e8844
Compare
Agree with the fix is not good enough, I updated! |
do you have a HTTP/3 test server somewhere that you can do large posts to, to verify this fix? |
Thanks, I pushed this as I believe it does improve things. I still experience problems if I upload multiple megabytes, but after all the data has been sent... |
The upload buffer default size is 65536, if we post a payload larger than this, the first buffer is ok, but when sending the second buffer, the stream will be blocked with a curlcode CURLE_AGAIN. I supoose the cause is the upload_len was not reset.