Javier Blazquez
e0ee3d9f9b
HTTP3: fix Windows build
...
The ngtcp2 QUIC backend was using the MSG_DONTWAIT flag for send/recv
in order to perform nonblocking operations. On Windows this flag does
not exist. Instead, the socket must be set to nonblocking mode via
ioctlsocket.
This change sets the nonblocking flag on UDP sockets used for QUIC on
all platforms so the use of MSG_DONTWAIT is not needed.
Fixes #4531
Closes #4532
2019-10-28 09:21:43 +01:00
lucas
19338e9721
quiche: update HTTP/3 config creation to new API
2019-09-29 22:40:58 +01:00
Daniel Stenberg
b6532b809f
quiche: don't close connection at end of stream!
2019-09-26 16:06:11 +02:00
Daniel Stenberg
2377465901
quiche: set 'drain' when returning without having drained the queues
2019-09-26 15:45:58 +02:00
Daniel Stenberg
32fa043202
quiche: The expression must be surrounded by parentheses
...
PVS-Studio warning
Fixes #4402
2019-09-23 22:44:01 +02:00
Barry Pollard
0023fce38d
http: lowercase headernames for HTTP/2 and HTTP/3
...
Closes #4401
Fixes #4400
2019-09-23 22:33:31 +02:00
Daniel Stenberg
00da834156
quiche: persist connection details
...
... like we do for other protocols at connect time. This makes "curl -I"
and other things work.
Reported-by: George Liu
Fixes #4358
Closes #4360
2019-09-16 13:37:26 +02:00
Daniel Stenberg
c30aff4f88
quiche: expire when poll returned data
...
... to make sure we continue draining the queue until empty
Closes #4281
2019-08-30 17:41:16 +02:00
Daniel Stenberg
4d9e324771
quiche: decrease available buffer size, don't assign it!
...
Found-by: Jeremy Lainé
2019-08-30 17:41:11 +02:00
Daniel Stenberg
48f589893d
quiche: send the HTTP body correctly on callback uploads
...
Closes #4265
2019-08-26 11:31:39 +02:00
Daniel Stenberg
0a5d28fa2e
ngtcp2: accept upload via callback
...
Closes #4256
2019-08-23 22:33:29 +02:00
Alessandro Ghedini
e54affa82c
quiche: register debug callback once and earlier
...
The quiche debug callback is global and can only be initialized once, so
make sure we don't do it multiple times (e.g. if multiple requests are
executed).
In addition this initializes the callback before the connection is
created, so we get logs for the handshake as well.
Closes #4236
2019-08-17 17:00:49 +02:00
Daniel Stenberg
baf7860b71
quiche: happy eyeballs
...
Closes #4220
2019-08-14 23:14:12 +02:00
Daniel Stenberg
db061571ef
http3: make connection reuse work
...
Closes #4204
2019-08-09 12:26:02 +02:00
Daniel Stenberg
4570c22c57
quiche: add SSLKEYLOGFILE support
2019-08-09 12:23:18 +02:00
Daniel Stenberg
1f145b02d9
quiche: make use of the connection timeout API properly
2019-08-07 12:51:52 +02:00
Daniel Stenberg
7a83e1d1d4
quiche: make POSTFIELDS posts work
2019-08-07 11:05:05 +02:00
Daniel Stenberg
07828b1c9d
quiche: improved error handling and memory cleanups
2019-08-07 08:39:39 +02:00
Daniel Stenberg
470551b7fc
quiche: flush egress in h3_stream_recv() too
2019-08-07 07:48:37 +02:00
Daniel Stenberg
cee7639b79
quiche:h3_stream_recv return 0 at end of stream
...
... and remove some verbose messages we don't need. Made transfers from
facebook.com work better.
2019-08-06 08:06:58 +02:00
Daniel Stenberg
e9bbc81299
quiche: show the actual version number
2019-08-06 07:39:27 +02:00
Daniel Stenberg
dc35631ef7
quiche: first working HTTP/3 request
...
- enable debug log
- fix use of quiche API
- use download buffer
- separate header/body
Closes #4193
2019-08-06 07:39:21 +02:00
Daniel Stenberg
4173868f66
quiche: initial h3 request send/receive
2019-08-05 14:20:56 +02:00
Daniel Stenberg
decefd5778
quiche: use the proper HTTP/3 ALPN
2019-08-02 13:52:14 +02:00
Daniel Stenberg
fc5b61baf0
quiche: add failf() calls for two error cases
...
To aid debugging
Closes #4181
2019-08-02 13:52:07 +02:00
Daniel Stenberg
3af0e76d1e
HTTP3: initial (experimental) support
...
USe configure --with-ngtcp2 or --with-quiche
Using either option will enable a HTTP3 build.
Co-authored-by: Alessandro Ghedini <alessandro@ghedini.me>
Closes #3500
2019-07-21 23:49:03 +02:00