Commit Graph

6164 Commits

Author SHA1 Message Date
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
Jean-Francois Giorgi
3f06880917 http3: check scheme before host to be consistent with net/http (#3774)
* check scheme before host so the error is comprehensible  and consistent with net/http

* Update http3/roundtrip.go

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-04-17 02:34:51 -07:00
Jean-Francois Giorgi
af517bdef1 http3: make error codes public and consistent with http2 package (#3744)
* make http3 error codes public and consistent with http2 package

* typo on ErrNoError

* renaming of ErrCode values
2023-04-07 21:53:14 -07:00
Marten Seemann
b03585160f handshake: initiate the first key update after 100 packets 2023-03-31 18:20:49 +09:00
Marten Seemann
c9ae152956 interop: publish Docker images for linux/amd64 and linux/arm64 (#3748) 2023-03-29 22:21:13 -07:00
Marten Seemann
1ebd359b20 handshake: remove unnecessary member variable from updatableAEAD 2023-03-28 22:50:21 +09:00
Marten Seemann
af6c19617c handshake: add benchmark tests for packet sealing, opening and rolling keys 2023-03-28 22:46:57 +09:00
Marten Seemann
56a6d8d35b ci: update golangci-lint to v1.52.2, update Go version (#3740)
* ci: update golangci-lint to v1.52.2, update Go version

* run gofumpt
2023-03-27 22:55:26 -07:00
Marten Seemann
f20b0d3d01 add a security policy (#3733)
* add a security policy

* use GitHub's private disclosure feature
2023-03-27 17:24:28 -07:00
dependabot[bot]
91c747959a update golang.org/x/net from 0.4.0 to 0.7.0 (#3734)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.4.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.4.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-26 17:57:24 -07:00
Marten Seemann
23f4565108 qtls: don't set the tls.Config.CipherSuites for cipher suite tests (#3726)
* qtls: don't set the tls.Config.CipherSuites for cipher suite tests

* use qtls versions that don't allow setting of tls.Config.CipherSuites
2023-03-26 06:56:41 -07:00
Marten Seemann
4612b3f19f Merge pull request #3697 from quic-go/benchmark-integration
add a benchmark integration tests to measure allocations
2023-03-27 00:53:12 +11:00
Marten Seemann
a4b0265628 use a chan instead of a context in Connection.HandshakeComplete (#3709) 2023-03-26 06:51:56 -07:00
Marten Seemann
41ddaa0262 attach the QUIC version to context returned by ClientHelloInfo.Context (#3721) 2023-03-26 22:26:14 +09:00
Marten Seemann
11f493381f qlog: use version_mismatch trigger on transport:connection_closed event (#3724) 2023-03-26 22:24:30 +09:00
Glonee
6d7280b7dc http3: use a single UDPConn in RoundTripper (#3720)
* http3: use a single UDPConn in RoundTripper

* update

* add tests
2023-03-14 18:58:26 -07:00
Glonee
a92238b73c http3: sniff HTTP Content Type (#3715)
* add sniff

* add test for sniff

* fix typo in comment

* move bodyAllowedForStatus() to top of the function to aviod calling it twice

* add comments

* format with gofumpt

* fix typo and simplify the code
v0.33.0
2023-02-20 17:29:45 -08:00
Marten Seemann
5b5a8e742c update qtls to include the Go 1.20.1 / 1.19.6 changes to crypto/tls (#3711) 2023-02-16 02:36:57 -08:00
Marten Seemann
ad7182ce84 ci: fix interop Docker builder (#3712) 2023-02-15 23:06:37 -08:00
Marten Seemann
0567a925e5 interop: fix server configuration for the 0-RTT test case (#3713) 2023-02-15 23:05:47 -08:00
zoltan-kiss-cujo
b7384a4404 quicv2: fix TLS extension type (#3710)
* quicv2: fix TLS extension type

* Update internal/handshake/tls_extension_handler.go

Co-authored-by: Marten Seemann <martenseemann@gmail.com>

---------

Co-authored-by: Marten Seemann <martenseemann@gmail.com>
2023-02-15 14:17:31 -08:00
Spencer Comfort
0a9ceca91e ci: update GitHub action workflow versions (#3677)
* Update build-interop-docker.yml

* Update go-generate.yml

* Update lint.yml

* Update unit.yml
2023-02-13 15:26:56 -08:00
Marten Seemann
1f89830626 only allocate datagram receive queue when receiving datagrams (#3702) 2023-02-13 14:55:26 -08:00
Marten Seemann
7effedea79 don't apply invalid transport parameters (#3700) 2023-02-13 14:54:56 -08:00
Marten Seemann
e0d4ffffef http3: fix race condition when accessing the client's connection (#3696)
* http3: fix race condition when accessing the client's connection

* add an integration test for concurrent HTTP requests

---------

Co-authored-by: Bulat Khasanov <afti@yandex.ru>
2023-02-13 14:54:09 -08:00