Commit Graph

5988 Commits

Author SHA1 Message Date
Marco Munizaga
843b633434 use SO_RCVBUFFORCE to force receive buffer increase on Linux (#3804)
* Add ability to force change the receive buffer size using SO_RCVBUFFORCE in Linux

* Fix imports

* Update test

* Add sys_conn_helper_not_linux

* Rename file

* ignore the error on SetReadBuffer

* also run unit tests as root

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-05-08 02:40:47 -07:00
Marten Seemann
da198b710b transport: fix flaky stateless reset test (#3810) 2023-05-08 01:56:59 -07:00
Zxilly
22d6b0e626 docs: fix typo in documentation for EarlyConnection (#3798) 2023-05-06 02:36:43 -07:00
Marten Seemann
6b74a9a727 Merge pull request #3794 from quic-go/new-api
introduce a Transport
2023-05-02 16:08:04 +02:00
Marten Seemann
07ad2cbee2 remove Tracer from Config, put ConnectionTracer constructor there 2023-05-02 15:56:49 +02:00
Marten Seemann
5544f0f9a1 simplify connection handling for the client 2023-05-02 15:56:49 +02:00
Marten Seemann
7a0ef5f867 make Config.Allow0RTT a bool, not a callback 2023-05-02 15:56:49 +02:00
Marten Seemann
bc7cb706c5 add a GetConfigForClient callback to the Config 2023-05-02 15:56:49 +02:00
Marten Seemann
ba942715db remove ConnectionIDLength and ConnectionIDGenerator from the Config 2023-05-02 15:56:49 +02:00
Marten Seemann
b79b532b04 remove StatelessResetKey from the Config, it's now on the Transport 2023-05-02 15:56:49 +02:00
Marten Seemann
8189e75be6 implement the Transport 2023-05-02 15:56:48 +02:00
Marten Seemann
ae5a8bd35c move the QUIC version check to the config validation 2023-05-02 09:44:58 +02:00
Kévin Dunglas
5400587610 docs: add Mercure in the list of projects using quic-go (#3791) 2023-05-01 09:34:40 -07:00
Marten Seemann
84953f02b4 Merge pull request #3789 from quic-go/listener-structs
make Listener and EarlyListener a struct
2023-05-01 15:00:37 +02:00
Marten Seemann
86a1234c87 make EarlyListener a struct, not an interface 2023-05-01 14:41:16 +02:00
Marten Seemann
1b64b13750 make Listener a struct, not an interface 2023-05-01 14:41:16 +02:00
Marten Seemann
2a03c6cd79 Merge pull request #3788 from quic-go/zero-rtt-queue-server
move 0-RTT queue handling from the packet handler map to the server
2023-05-01 14:40:34 +02:00
Marten Seemann
94829edf35 congestion: fix overflow when calculating the pacing budget (#3796) 2023-05-01 05:32:20 -07:00
Marten Seemann
6617f3d39a don't use timers to clean up 0-RTT queues 2023-05-01 14:24:28 +02:00
Marten Seemann
58487803d3 move 0-RTT queue handling from the packet handler map to the server 2023-05-01 14:24:28 +02:00
Marten Seemann
c0b94ee4b0 Merge pull request #3785 from quic-go/dial-context
put a context on a dial functions, remove Dial*Context, remove host parameter
2023-05-01 14:24:04 +02:00
Marten Seemann
5c05143703 Merge pull request #3784 from quic-go/speed-up-cross-compile
ci: speed up the cross compilation job by parallelizing
2023-05-01 14:02:56 +02:00
Marten Seemann
aee7706d5d clean up dial functions
* add a context to all Dial functions
* remove the explicit Dial{*}Context functions
2023-05-01 13:59:54 +02:00
Marten Seemann
d683b841c4 remove the host parameter from all dial functions 2023-05-01 13:59:54 +02:00
Marten Seemann
ea721c9c75 Merge pull request #3782 from quic-go/integration-tests-versions
set the version for integration tests using a command line flag
2023-05-01 13:59:10 +02:00
Marten Seemann
523036c4e6 ci: run go build jobs in parallel in cross compile job 2023-05-01 13:46:07 +02:00
Marten Seemann
1a483c0e43 ci: remove outdated version checks from cross compilation script 2023-05-01 13:46:07 +02:00
Marten Seemann
c19e6a71b2 ci: allow changing runners through config vars (#3783)
* ci: allow changing runners through config vars

* fix variable access

---------

Co-authored-by: galargh <piotr.galar@gmail.com>
2023-05-01 04:45:30 -07:00
Marten Seemann
2b0a03a988 set the QUIC version for integration tests using a command line flag 2023-05-01 13:43:34 +02:00
Marten Seemann
0dbe595d9f move the version negotiation tests to a separate package 2023-05-01 13:42:30 +02:00
Kévin Dunglas
172123c340 http3: add compatibility with net/http.ResponseController (#3790)
* feat: compatibility with "net/http".ResponseController

* better deadline tests

* don't run deadline tests on Go 1.19

* skip deadline tests on Go 1.19
2023-05-01 04:40:33 -07:00
Marten Seemann
4a2a5740b2 use larger range to draw greased value for post-quantum test from (#3780) v0.34.0 2023-04-19 08:26:55 -07:00
Marten Seemann
c9a2f79b1c simplify mockgen usage for private interfaces (#3769) 2023-04-19 07:57:00 -07:00
Marten Seemann
379e7ec848 Merge pull request #3745 from quic-go/aggressive-key-updates
initiate the first key update after sending / receiving 100 packets
2023-04-19 16:28:33 +02:00
Marten Seemann
e7751de92e qtls: fix cipher suite selection for ClientHellos (#3751) 2023-04-19 07:26:47 -07:00
Marten Seemann
1f57d4e789 protocol: remove VersionTLS, used during the gQUIC -> TLS 1.3 transition (#3764) 2023-04-19 07:24:34 -07:00
Marten Seemann
a753cb13d8 interop: fix setting of cipher suite for the ChaCha20 test (#3747) 2023-04-19 06:29:10 -07:00
Marten Seemann
2359407e11 avoid copying when detecting stateless resets (#3767) 2023-04-19 06:22:02 -07:00
Marten Seemann
a519d827d1 wire: use a dedicated rand.Rand for greasing transport parameters (#3758)
rand.Seed is deprecated since Go 1.20. This change also reduces
(potential) lock contention when obtaining random numbers / bytes.
2023-04-19 06:21:25 -07:00
Marten Seemann
f36690ae9c protocol: remove VersionWhatever, previously used for testing (#3763) 2023-04-19 06:19:27 -07:00
Marten Seemann
3ebdd1df5e qlog: move the quic-go version to the configuration field (#3735) 2023-04-19 06:06:19 -07:00
Marten Seemann
53571b0a26 githooks: add check that go.mod in integrationtests/gomodvendor is tidy (#3750) 2023-04-19 06:05:51 -07:00
Marten Seemann
a0f032ee18 ci: remove special casing for AppVeyor (#3753)
We dropped AppVeyor a long time ago.
2023-04-19 06:05:23 -07:00
Marten Seemann
969b5dc131 add a handshake test for post-quantum-size ClientHellos (#3759)
Post-quantum ClientHellos typically are larger than 1 MTU and will
therefore need to be split across multiple packets.
2023-04-19 06:01:43 -07:00
Marten Seemann
7a393315bd wire: use constants for frame types (#3739) 2023-04-19 05:58:31 -07:00
Marten Seemann
48e18b922d offer only TLS 1.3 cipher suites in ClientHello (#3749) 2023-04-19 05:57:55 -07:00
Marten Seemann
eb05964942 wire: speed up identification of 0-RTT packets (#3761) 2023-04-19 05:50:57 -07:00
Marten Seemann
a8a24a2bc2 add missing tracing for dropped 0-RTT packets (#3762) 2023-04-19 05:50:29 -07:00
Marten Seemann
8507208665 ci: update golangci-lint config, increase timeout (#3771)
Some of the linters we've been using are deprecated now. We also hadn't
update our qtls depguard config for a very long time.
2023-04-19 05:45:19 -07:00
Marten Seemann
da26f91905 wire: correctly parse multi-byte frame types (#3736) 2023-04-19 05:42:23 -07:00