summaryrefslogtreecommitdiff
path: root/lib/vquic
Commit message (Collapse)AuthorAgeFilesLines
...
* msh3: fix the QUIC disconnect functionDaniel Stenberg2022-08-131-12/+22
| | | | | | | | And free request related memory better in 'done'. Fixes a memory-leak. Reported-by: Gisle Vanem Fixes #8915 Closes #9304
* quiche: fix build failureNao Yonashiro2022-08-022-1/+14
| | | | | Reviewed-by: Alessandro Ghedini Closes #9223
* ngtcp2: Fix build error due to change in nghttp3 prototypesJay Satiro2022-07-261-13/+2
| | | | | | | | | | ngtcp2/nghttp3@4a066b2 changed nghttp3_conn_block_stream and nghttp3_conn_shutdown_stream_write return from int to void. Reported-by: jurisuk@users.noreply.github.com Fixes https://github.com/curl/curl/issues/9204 Closes https://github.com/curl/curl/pull/9200
* ngtcp2: implement cb_h3_stop_sending and cb_h3_reset_stream callbacksTatsuhiro Tsujikawa2022-07-121-9/+29
| | | | Closes #9135
* ngtcp2: fix stall or busy loop on STOP_SENDING with upload dataTatsuhiro Tsujikawa2022-07-101-3/+32
| | | | | Fixes #9122 Closes #9123
* ngtcp2: Fix missing initialization of nghttp3_nv.flagsTatsuhiro Tsujikawa2022-07-081-0/+1
| | | | Closes https://github.com/curl/curl/pull/9118
* ngtcp2: fix incompatible function pointer typesvvb20602022-06-281-2/+2
| | | | Closes #9056
* ngtcp2: avoid supplying 0 length `msg_control` to sendmsg()Stefan Eissing2022-06-231-9/+5
| | | | | | | | | | | Testing on macOS 12.4, sendmsg() fails with EINVAL when a msg_control buffer is provided in sengmsg(), even though msg_controllen was set to 0. Initialize msg.msg_controllen just as needed and also perform the size assertion only when needed. Closes #9039
* copyright: make repository REUSE compliantmax.mehl2022-06-138-0/+16
| | | | | | | | | | | Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
* ngtcp2: fix typo in preprocessor conditionViktor Szakats2022-06-101-1/+1
| | | | | | | | Ref: 927ede7edcb7b05b8e8bbf9ced6aed523ae594a7 Bug: https://github.com/curl/curl/pull/8981#discussion_r894312185 Reported-by: Emil Engler Closes #8987
* ngtcp2: build without sendmsgTatsuhiro Tsujikawa2022-06-101-2/+30
| | | | Closes #8981
* ngtcp2: use handshake helper funcs to simplify TLS handshake integrationTatsuhiro Tsujikawa2022-06-102-262/+48
| | | | Closes #8968
* ngtcp2: fix assertion failure on EMSGSIZETatsuhiro Tsujikawa2022-06-051-2/+3
| | | | Closes #8958
* ngtcp2: enable Linux GSOTatsuhiro Tsujikawa2022-05-312-17/+281
| | | | | | | | | Enable Linux GSO in ngtcp2 QUIC. In order to recover from the EAGAIN/EWOULDBLOCK by sendmsg with multiple packets in one GSO write, packet buffer is now held by struct quicsocket. GSO write might fail in runtime depending on NIC. Disable GSO if sendmsg returns EIO. Closes #8909
* ngtcp2: Allow curl to send larger UDP datagramsTatsuhiro Tsujikawa2022-05-201-2/+5
| | | | | | | | | | Allow curl to send larger UDP datagram if Path MTU Discovery finds the availability of larger path MTU. To make it work and not to send fragmented packet, we need to set DF bit. That makes send(2) fail with EMSGSIZE if UDP datagram is too large. In that case, just let it be lost. This patch enables DF bit for Linux only. Closes #8883
* ngtcp2: extend QUIC transport parameters bufferTatsuhiro Tsujikawa2022-05-191-1/+1
| | | | | | | Extend QUIC transport parameters buffer because 64 bytes are too short for the ever increasing parameters. Closes #8872
* ngtcp2: handle error from ngtcp2_conn_submit_crypto_dataTatsuhiro Tsujikawa2022-05-191-1/+1
| | | | Closes #8871
* ngtcp2: send appropriate connection close error codeTatsuhiro Tsujikawa2022-05-192-10/+38
| | | | Closes #8870
* ngtcp2: support boringssl crypto backendvvb2060 on github2022-05-161-2/+73
| | | | Closes #8789
* quic: add Curl_quic_idleTatsuhiro Tsujikawa2022-05-163-0/+45
| | | | | | | | Add Curl_quic_idle which is called when no HTTP level read or write is performed. It is a good place to handle timer expiry for QUIC transport (.e.g, retransmission). Closes #8698
* ngtcp2: Correct use of ngtcp2 and nghttp3 signed integer typesTatsuhiro Tsujikawa2022-05-161-9/+9
| | | | Closes #8851
* ngtcp2: Fix alert_read_func return valueTatsuhiro Tsujikawa2022-05-161-1/+1
| | | | Closes #8852
* quiche: support ca-fallbackDaniel Stenberg2022-05-111-15/+23
| | | | | | | | | Follow-up to b01f3e679f4c1ea3 which added this for ngtcp2/openssl Removed from KNOWN_BUGS Fixes #8696 Closes #8830
* ngtcp2: add ca-fallback support for OpenSSL backendTatsuhiro Tsujikawa2022-05-101-3/+10
| | | | Closes #8828
* msh3: get msh3 version from MsH3VersionYusuke Nakamura2022-04-301-1/+3
| | | | Closes #8762
* msh3: psss remote_port to MsH3ConnectionOpenYusuke Nakamura2022-04-301-2/+5
| | | | | | | | | | MsH3 supported additional "Port" parameter to connect not hosted on 443 port QUIC website. * https://github.com/nibanks/msh3/releases/tag/v0.3.0 * https://github.com/nibanks/msh3/pull/37 Closes #8762
* msh3: print boolean value as text representationDaniel Gustafsson2022-04-291-1/+1
| | | | | | | | Print the boolean value as its string representation instead of with %hhu which isn't a format we typically use. Closes: #8763 Reviewed-by: Nick Banks <nibanks@microsoft.com>
* ngtcp2: deal with sub-millisecond timeoutTatsuhiro Tsujikawa2022-04-251-0/+3
| | | | Closes #8738
* ngtcp2: avoid busy loop in low CWND situationTatsuhiro Tsujikawa2022-04-241-0/+1
| | | | Closes #8739
* lib: remove exclamation marksDaniel Stenberg2022-04-162-3/+3
| | | | | | ... from infof() and failf() calls. Make them less attention seeking. Closes #8713
* ngtcp2: fix memory leakTatsuhiro Tsujikawa2022-04-101-0/+1
| | | | Closes #8691
* ngtcp2: remove remote_addr which is not used in a meaningful wayTatsuhiro Tsujikawa2022-04-101-2/+0
| | | | Closes #8689
* ngtcp2: enlarge H3_SEND_SIZETatsuhiro Tsujikawa2022-04-101-1/+1
| | | | | | | Make h3_SEND_SIZE larger because current value (20KiB) is too small for the high latency environment. Closes #8690
* ngtcp2: fix HTTP/3 upload stall and avoid busy loopTatsuhiro Tsujikawa2022-04-101-3/+26
| | | | | | | | | This commit fixes HTTP/3 upload stall if upload data is larger than H3_SEND_SIZE. Only check writability of socket if a stream is writable to avoid busy loop when QUIC flow control window is filled up, or upload buffer is full. Closes #8688
* msh3: add support for QUIC and HTTP/3 using msh3Nick Banks2022-04-102-0/+536
| | | | | | Considered experimental, as the other HTTP/3 backends. Closes #8517
* ngtcp2: use token when detecting :status header fieldTatsuhiro Tsujikawa2022-04-051-2/+1
| | | | Closes #8679
* ngtcp2: make curl 1ms fasterTatsuhiro Tsujikawa2022-04-051-1/+1
| | | | | | Pass 0 for an already expired timer. Closes #8678
* ngtcp2: fix QUIC_IDLE_TIMEOUTTatsuhiro Tsujikawa2022-04-051-1/+1
| | | | | | | QUIC_IDLE_TIMEOUT should be of type ngtcp2_duration which is nanoseconds resolution. Closes #8678
* ngtcp2: update to work after recent ngtcp2 updatesDaniel Stenberg2022-03-261-4/+8
| | | | | | | Assisted-by: Tatsuhiro Tsujikawa Reported-by: jurisuk on github Fixes #8638 Closes #8639
* ngtcp2: add client certificate authentication for OpenSSLTatsuhiro Tsujikawa2022-03-101-0/+24
| | | | Closes #8522
* ngtcp2: disconnect the QUIC connection properDaniel Stenberg2022-03-101-0/+15
| | | | | | | Reported-by: mehatzri on github Reviewed-by: Tatsuhiro Tsujikawa Fixes #8534 closes #8569
* misc: update copyright year rangesDaniel Stenberg2022-03-051-1/+1
|
* quiche: remove two leftover debug infof() outputsDaniel Stenberg2022-02-251-2/+0
|
* ngtcp2: Reset dynbuf when it is fully drainedTatsuhiro Tsujikawa2022-02-241-0/+2
| | | | | | Reported-by: vl409 on github Fixes #7351 Closes #8504
* quiche: fix upload for bigger content-lengthJean-Philippe Menil2022-02-241-1/+4
| | | | | Signed-off-by: Jean-Philippe Menil <jpmenil@gmail.com> Closes #8421
* quiche: handle stream resetDaniel Stenberg2022-02-131-0/+5
| | | | | | | | | A stream reset now causes a CURLE_PARTIAL_FILE error. I'm not convinced this is the right action nor the right error code. Reported-by: Lucas Pardue Fixes #8437 Closes #8440
* quiche: after leaving h3_recving state, poll againDaniel Stenberg2022-02-111-48/+49
| | | | | | | | This could otherwise easily leave libcurl "hanging" after the entire transfer is done but without noticing the end-of-transfer signal. Assisted-by: Lucas Pardue Closes #8436
* quiche: when *recv_body() returns data, drain it before polling againDaniel Stenberg2022-02-112-46/+61
| | | | | | Assisted-by: Lucas Pardue Closes #8429
* vquic/vquic.h: removed the unused H3 psuedo definesDaniel Stenberg2022-02-071-6/+0
|
* ngtcp2: use Curl_pseudo_headersDaniel Stenberg2022-02-071-163/+15
|