Skip to content
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

HTTP/3 / QUIC connection migration doesn't appear to work #7695

sarthak opened this issue Sep 10, 2021 · 1 comment

HTTP/3 / QUIC connection migration doesn't appear to work #7695

sarthak opened this issue Sep 10, 2021 · 1 comment


Copy link

sarthak commented Sep 10, 2021

I did this

I built and installed curl with QUIC support (ngtcp2 + nghttp3) and openssl following the instructions here.

The experiment I conducted was to disconnect my network connection, and re-connect to a different network while the curl was downloading a file. I forced curl to use http3 via --http3 flag. Precisely these are the flags that I used --insecure --http3 --limit-rate 1M. As QUIC supports connection migration, my expectation was that the curl would be able to automatically re-open the UDP socket on re-connection and resume the download. But, the curl crashes with the error message send() returned -1.

For the QUIC server I am using Nginx with HTTP/3 support, owing to cloudflare/quiche, and I made sure to disable connection timeouts on the server side, I tested it with suspending and resuming curl download for a few seconds (on the same network connection).

I expected the following

Curl resuming download as if nothing happened.

curl/libcurl version

curl 7.70.0-DEV (x86_64-pc-linux-gnu) libcurl/7.70.0-DEV OpenSSL/1.1.1d ngtcp2/0.1.0-DEV nghttp3/0.1.0-DEV
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HTTP3 HTTPS-proxy IPv6 Largefile NTLM NTLM_WB SSL TLS-SRP UnixSockets

operating system

Linux 8237d33e6a79 5.4.72-microsoft-standard-WSL2 #1 SMP Wed Oct 28 23:40:43 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
@bagder bagder added the HTTP/3 h3 or quic related label Sep 10, 2021
Copy link

bagder commented Sep 10, 2021

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

No branches or pull requests

2 participants