Daniel Stenberg
2056175dc2
ngtcp2: make postfields-set posts work
...
Closes #4242
2019-08-20 16:53:40 +02:00
Daniel Stenberg
1a0dc6f6a3
ngtcp2: use ngtcp2_version() to get the run-time version
...
... which of course doesn't have to be the same used at build-time.
Function just recently merged in ngtcp2.
2019-08-20 08:52:22 +02:00
Daniel Stenberg
349c3f5a08
ngtcp2: move the h3 initing to immediately after the rx key
...
To fix a segfault and to better deal with 0-RTT
Assisted-by: Tatsuhiro Tsujikawa
2019-08-20 08:51:23 +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
cec3ef8793
ngtcp2: provide the callbacks as a static struct
...
... instead of having them in quicsocket
2019-08-15 10:20:35 +02:00
Tatsuhiro Tsujikawa
408c758bb8
ngtcp2: add missing nghttp3_conn_add_write_offset call
...
Closes #4225
2019-08-15 08:02:52 +02:00
Tatsuhiro Tsujikawa
c47ef9115e
ngtcp2: deal with stream close
2019-08-15 08:02:23 +02:00
Tatsuhiro Tsujikawa
e42bd8a204
ngtcp2: Consume QUIC STREAM data properly
2019-08-15 08:02:20 +02:00
Tatsuhiro Tsujikawa
887ebc384c
ngtcp2: don't reinitialize SSL on Retry
2019-08-15 08:02:15 +02:00
Daniel Stenberg
baf7860b71
quiche: happy eyeballs
...
Closes #4220
2019-08-14 23:14:12 +02:00
Daniel Stenberg
f2cc26456b
ngtcp2: do QUIC connections happy-eyeballs friendly
2019-08-14 23:14:12 +02:00
Daniel Stenberg
368d444cc6
ngtcp2: initial h3 request work
...
Closes #4217
2019-08-12 22:30:52 +02:00
Tatsuhiro Tsujikawa
fb6d46a709
ngtcp2: send HTTP/3 request with nghttp3
...
This commit makes sending HTTP/3 request with nghttp3 work. It
minimally receives HTTP response and calls nghttp3 callbacks, but no
processing is made at the moment.
Closes #4215
2019-08-12 09:20:36 +02:00
Daniel Stenberg
102ebe0459
nghttp3: initial h3 template code added
2019-08-12 00:18:59 +02:00
Daniel Stenberg
d85a1cf11d
nghttp3: required when ngtcp2 is used for QUIC
...
- checked for by configure
- updated docs/HTTP3.md
- shown in the version string
Closes #4210
2019-08-12 00:18:53 +02:00
Tatsuhiro Tsujikawa
86ae740482
ngtcp2: Send ALPN h3-22
...
Closes #4212
2019-08-11 16:47:29 +02:00
Tatsuhiro Tsujikawa
f49abd1090
ngtcp2: use ngtcp2_settings_default and specify initial_ts
2019-08-11 16:47:21 +02:00
Tatsuhiro Tsujikawa
afce0620a2
ngtcp2: make the QUIC handshake work
...
Closes #4209
2019-08-10 16:07:33 +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