Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-11-28 | ngtcp2: fix thread-safety bug in error-handling | David Benjamin | |
ERR_error_string(NULL) should never be called. It places the error in a global buffer, which is not thread-safe. Use ERR_error_string_n with a local buffer instead. Closes #4645 | |||
2019-11-18 | ngtcp2: use overflow buffer for extra HTTP/3 data | Javier Blazquez | |
Fixes #4525 Closes #4603 | |||
2019-11-18 | ngtcp2: free used resources on disconnect | Daniel Stenberg | |
Fixes #4614 Closes #4615 | |||
2019-11-18 | ngtcp2: handle key updates as ngtcp2 master branch tells us | Daniel Stenberg | |
Reviewed-by: Tatsuhiro Tsujikawa Fixes #4612 Closes #4613 | |||
2019-11-16 | ngtcp2: increase QUIC window size when data is consumed | Daniel Stenberg | |
Assisted-by: Javier Blazquez Ref #4525 (partial fix) Closes #4600 | |||
2019-11-12 | quiche: reject headers in the wrong order | Daniel Stenberg | |
Pseudo header MUST come before regular headers or cause an error. Reported-by: Cynthia Coan Fixes #4571 Closes #4584 | |||
2019-10-28 | HTTP3: fix invalid use of sendto for connected UDP socket | Javier Blazquez | |
On macOS/BSD, trying to call sendto on a connected UDP socket fails with a EISCONN error. Because the singleipconnect has already called connect on the socket when we're trying to use it for QUIC transfers we need to use plain send instead. Fixes #4529 Closes https://github.com/curl/curl/pull/4533 | |||
2019-10-28 | HTTP3: fix Windows build | Javier Blazquez | |
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-04 | ngtcp2: adapt to API change | Daniel Stenberg | |
Closes #4457 | |||
2019-09-29 | quiche: update HTTP/3 config creation to new API | lucas | |
2019-09-26 | quiche: don't close connection at end of stream! | Daniel Stenberg | |
2019-09-26 | quiche: set 'drain' when returning without having drained the queues | Daniel Stenberg | |
2019-09-25 | ngtcp2: remove fprintf() calls | Daniel Stenberg | |
- convert some of them to H3BUF() calls to infof() - remove some of them completely - made DEBUG_HTTP3 defined only if CURLDEBUG is set for now Closes #4421 | |||
2019-09-23 | quiche: The expression must be surrounded by parentheses | Daniel Stenberg | |
PVS-Studio warning Fixes #4402 | |||
2019-09-23 | http: lowercase headernames for HTTP/2 and HTTP/3 | Barry Pollard | |
Closes #4401 Fixes #4400 | |||
2019-09-21 | ngtcp2: compile with latest ngtcp2 + nghttp3 draft-23 | Tatsuhiro Tsujikawa | |
Closes #4392 | |||
2019-09-16 | quiche: persist connection details | Daniel Stenberg | |
... 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-08-31 | Curl_addr2string: take an addrlen argument too | Daniel Stenberg | |
This allows the function to figure out if a unix domain socket has a file name or not associated with it! When a socket is created with socketpair(), as done in the fuzzer testing, the path struct member is uninitialized and must not be accessed. Bug: https://crbug.com/oss-fuzz/16699 Closes #4283 | |||
2019-08-30 | quiche: expire when poll returned data | Daniel Stenberg | |
... to make sure we continue draining the queue until empty Closes #4281 | |||
2019-08-30 | quiche: decrease available buffer size, don't assign it! | Daniel Stenberg | |
Found-by: Jeremy Lainé | |||
2019-08-29 | ngtcp2: on h3 stream close, call expire | Daniel Stenberg | |
... to trigger a new read to detect the stream close! Closes #4275 | |||
2019-08-29 | ngtcp2: build latest ngtcp2 and ngtcp2_crypto_openssl | Tatsuhiro Tsujikawa | |
Closes #4278 | |||
2019-08-28 | ngtcp2: set flow control window to stream buffer size | Daniel Stenberg | |
Closes #4274 | |||
2019-08-27 | ngtcp2: Build with latest ngtcp2 and ngtcp2_crypto_openssl | Tatsuhiro Tsujikawa | |
Closes #4270 | |||
2019-08-26 | quiche: send the HTTP body correctly on callback uploads | Daniel Stenberg | |
Closes #4265 | |||
2019-08-25 | ngtcp2: add support for SSLKEYLOGFILE | Daniel Stenberg | |
Closes #4260 | |||
2019-08-25 | ngtcp2: improve h3 response receiving | Daniel Stenberg | |
Closes #4259 | |||
2019-08-25 | ngtcp2: use nghttp3_version() | Daniel Stenberg | |
2019-08-25 | ngtcp2: sync with upstream API changes | Daniel Stenberg | |
Assisted-by: Tatsuhiro Tsujikawa | |||
2019-08-24 | http: the 'closed' struct field is used by both ngh2 and ngh3 | Daniel Stenberg | |
and remove 'header_recvbuf', not used for anything Reported-by: Jeremy Lainé Closes #4257 | |||
2019-08-23 | ngtcp2: accept upload via callback | Daniel Stenberg | |
Closes #4256 | |||
2019-08-20 | ngtcp2: make postfields-set posts work | Daniel Stenberg | |
Closes #4242 | |||
2019-08-20 | ngtcp2: use ngtcp2_version() to get the run-time version | Daniel Stenberg | |
... which of course doesn't have to be the same used at build-time. Function just recently merged in ngtcp2. | |||
2019-08-20 | ngtcp2: move the h3 initing to immediately after the rx key | Daniel Stenberg | |
To fix a segfault and to better deal with 0-RTT Assisted-by: Tatsuhiro Tsujikawa | |||
2019-08-17 | quiche: register debug callback once and earlier | Alessandro Ghedini | |
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-15 | ngtcp2: provide the callbacks as a static struct | Daniel Stenberg | |
... instead of having them in quicsocket | |||
2019-08-15 | ngtcp2: add missing nghttp3_conn_add_write_offset call | Tatsuhiro Tsujikawa | |
Closes #4225 | |||
2019-08-15 | ngtcp2: deal with stream close | Tatsuhiro Tsujikawa | |
2019-08-15 | ngtcp2: Consume QUIC STREAM data properly | Tatsuhiro Tsujikawa | |
2019-08-15 | ngtcp2: don't reinitialize SSL on Retry | Tatsuhiro Tsujikawa | |
2019-08-14 | quiche: happy eyeballs | Daniel Stenberg | |
Closes #4220 | |||
2019-08-14 | ngtcp2: do QUIC connections happy-eyeballs friendly | Daniel Stenberg | |
2019-08-12 | ngtcp2: initial h3 request work | Daniel Stenberg | |
Closes #4217 | |||
2019-08-12 | ngtcp2: send HTTP/3 request with nghttp3 | Tatsuhiro Tsujikawa | |
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 | nghttp3: initial h3 template code added | Daniel Stenberg | |
2019-08-12 | nghttp3: required when ngtcp2 is used for QUIC | Daniel Stenberg | |
- checked for by configure - updated docs/HTTP3.md - shown in the version string Closes #4210 | |||
2019-08-11 | ngtcp2: Send ALPN h3-22 | Tatsuhiro Tsujikawa | |
Closes #4212 | |||
2019-08-11 | ngtcp2: use ngtcp2_settings_default and specify initial_ts | Tatsuhiro Tsujikawa | |
2019-08-10 | ngtcp2: make the QUIC handshake work | Tatsuhiro Tsujikawa | |
Closes #4209 | |||
2019-08-09 | http3: make connection reuse work | Daniel Stenberg | |
Closes #4204 |