-
-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
curl: (95) error while uploading file to nginx with http3 #11389
Comments
Does the HTTP/3 transfer time out? |
not sure,but file is not getting uploaded and below is the output i am getting curl --http3-only -k -v https://127.0.0.1:8443/upload/BPS.pdf -T /upload/BPS.pdf
please let me know if you need any further info |
My question is if there is a pause of some seconds between |
sure,here is the output |
Could you build and test the code in #11390? Thanks! |
sure |
make |
The PR works in our CI infrastructure. This does not seem to be the version you are trying to build. |
Can you please commit this PR,so that i can build and test |
Here is the changed file: https://github.com/curl/curl/blob/f569c88f2d0b667063c48ce0a00a181d8c505059/lib/vquic/curl_ngtcp2.c |
okay,let me build |
upload is working fine with your fix curl --http3-only -k -v --trace-time https://127.0.0.1:8443/upload/BPS.pdf -T /upload/BPS.pdf Thank you @icing |
Thank you for testing and confirming! |
np,you are welcome |
- refs curl#11389 where IDLE timeouts on upload are reported - reword ngtcp2 expiry handling to apply to both send+recv calls into the filter - EAGAIN uploads similar to the recent changes in HTTP/2, e.g. report success only when send data was ACKed. - HOLD sending of EAGAINed uploads to avoid cpu busy loops - rename internal function for consistency with HTTP/2 implementation
- refs curl#11389 where IDLE timeouts on upload are reported - reword ngtcp2 expiry handling to apply to both send+recv calls into the filter - EAGAIN uploads similar to the recent changes in HTTP/2, e.g. report success only when send data was ACKed. - HOLD sending of EAGAINed uploads to avoid cpu busy loops - rename internal function for consistency with HTTP/2 implementation Fixes curl#11389 Closes curl#11390
- refs curl#11389 where IDLE timeouts on upload are reported - reword ngtcp2 expiry handling to apply to both send+recv calls into the filter - EAGAIN uploads similar to the recent changes in HTTP/2, e.g. report success only when send data was ACKed. - HOLD sending of EAGAINed uploads to avoid cpu busy loops - rename internal function for consistency with HTTP/2 implementation Fixes curl#11389 Closes curl#11390
I did this
curl --http3 -k -v https://127.0.0.1:8443/upload/BPS.pdf -T /upload/BPS.pdf
I expected the following
I expected to upload file completely
curl/libcurl version
curl -V
curl 8.2.0-DEV (x86_64-pc-linux-gnu) libcurl/8.2.0-DEV OpenSSL/3.0.9 zlib/1.2.11 brotli/1.0.9 nghttp2/1.55.0-DEV ngtcp2/0.16.0 nghttp3/0.13.0-DEV
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS brotli HSTS HTTP2 HTTP3 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL threadsafe TLS-SRP UnixSockets
operating system
Linux ubuntu 5.15.0-60-generic #66-Ubuntu SMP Fri Jan 20 14:29:49 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
I tried to upload file to nginx using below command
curl --http3 -k -v https://127.0.0.1:8443/upload/BPS.pdf -T /upload/BPS.pdf
but unable to upload file using http3 but able to upload file using http2
With http2
curl --http2 -k -v https://127.0.0.1:8443/upload/BPS.pdf -T /upload/BPS.pdf
< HTTP/2 201
< server: nginx/1.25.1
< date: Tue, 27 Jun 2023 06:54:37 GMT
< content-length: 0
< location: https://127.0.0.1:8443/upload/BPS.pdf
<
With http3
curl --http3-only -k -v https://127.0.0.1:8443/upload/BPS.pdf -T /upload/BPS.pdf
curl: (55) ngtcp2_conn_handle_expiry returned error: ERR_IDLE_CLOSE
The text was updated successfully, but these errors were encountered: