Commit Graph

107 Commits

Author SHA1 Message Date
Marten Seemann
c2131eb595 qlog: split serializiation and event definitions, remove logging abstraction (#5356)
* qlog: implement a Trace and a Writer struct

* qlog: rename Trace to FileSeq

* split qlog trace writer and QUIC qlog events into separate packages

* use the new qlog.Recorder instead of the logging.ConnectionTracer
2025-10-08 05:53:02 +02:00
Marten Seemann
e6d5d960e3 qlog: implement a minimal jsontext-like JSON encoder (#5353)
* qlog: use fork of encoding/json/jsontext instead of unmaintained gojay

* implement a minimal jsontext-compatible encoder

* qlogtext: improve fuzz test

* qlog: simplify JSON encoding error handling

* qlog: make use of jsontext.Bool
2025-10-06 06:48:40 +02:00
Marten Seemann
fea19fc3ec update to Go 1.25, drop Go 1.23, use go tool for gomock (#5283)
* update to Go 1.25, drop support for Go 1.23

* ci: update golangci-lint to v2.4.0

* use new go tool command for gomock / mockgen

* also update Go version used for oss-fuzz
2025-08-16 06:14:01 +02:00
Marten Seemann
08be0f73c0 ci: stop using Ginkgo test command (#5194)
* ci: stop using Ginkgo test command

* ci: remove integrationtest directory for unit tests
2025-06-02 04:38:05 +02:00
Marten Seemann
267cca773b switch from math/rand to math/rand/v2 (#5045)
* switch from math/rand to math/rand/v2

* switch away from golang.org/x/exp/rand
2025-04-19 09:01:22 +02:00
Marten Seemann
08a89e9f8b migrate the server tests away from Ginkgo (#4969) 2025-03-03 10:58:51 +01:00
Marten Seemann
95998056d5 update GoMock to v0.5.0 (#4776) 2024-12-21 10:56:18 +08:00
Marten Seemann
a7795541c9 logging: use code generation to generate the multiplexed tracers (#4677)
* logging: use code generation to generate the multiplexed tracers

* logging: ignore auto-generated files for code coverage

* logging: move code generation comment to generator script
2024-11-28 23:57:11 +08:00
Marten Seemann
4f48b2ce25 update qpack to v0.5.1 (#4664)
This release now doesn't reject N=1 values in Literal Field Line with
Name Reference.
2024-09-06 22:08:47 -07:00
Marten Seemann
1a25053e5e update qpack to v0.5.0 (#4653)
No features were added in v0.5.0, nor were any bugs fixed.
No functional change expected.
2024-08-31 19:58:51 -07:00
Marten Seemann
e66a925d64 metrics: add a basic setup, collect metrics for the server 2024-06-04 13:19:29 +08:00
Marten Seemann
508b402a19 update all golang.org/x dependencies (#4506) 2024-05-10 20:02:07 -07:00
Marten Seemann
9971fedd42 use Transport.VerifySourceAddress to control the Retry Mechanism (#4362)
* use Transport.VerifySourceAddress to control the Retry Mechanism

This can be used to rate-limit handshakes originating from unverified
source addresses. Rate-limiting for handshakes can be implemented using
the GetConfigForClient callback on the Config.

* pass the remote address to Transport.VerifySourceAddress
2024-03-14 17:35:52 -07:00
Marten Seemann
f1476390f2 update gomock to v0.4.0 (#4361) 2024-03-10 18:07:20 -07:00
Marten Seemann
d795250479 drop support for Go 1.20, build on Go 1.22rc1 on CI (#4195)
* drop support for Go 1.20

* ci: udpate CircleCI to Go 1.21

* qtls: remove unnecessary type aliases

* ci: build using Go 1.22rc1
2023-12-27 20:31:58 -08:00
Marten Seemann
e2622bfad8 reject ClientHellos that offer TLS versions older than 1.3 (for Go 1.20) (#4130) 2023-10-25 09:49:53 -07:00
Marten Seemann
746290b78a never allow 0-RTT when using Dial, even if the session ticket allows it (#4125)
When resuming a TLS session using Dial (and not DialEarly), 0-RTT should
be disabled at the TLS layer, even if the session ticket allows for
0-RTT resumption.

This bug is not critical, since Dial doesn't return an EarlyConnection,
so the client wouldn't be able to actually send 0-RTT data in practice.
2023-10-25 08:20:23 -07:00
Marten Seemann
9a397abc17 update gomock to v0.3.0 (#4087) 2023-09-24 04:38:28 -07:00
Marten Seemann
6cac231f6a update qtls-go1-20 to v0.3.4 (#4068) 2023-09-06 09:02:33 -07:00
Marten Seemann
2797f85fc0 switch from unmaintained golang/mock to go.uber.org/mock (#4050) 2023-08-28 02:23:55 -07:00
Marten Seemann
f633dca488 update qtls to v0.3.3 (#4044) 2023-08-22 20:36:33 -07:00
Marten Seemann
501cc21c4b expose crypto/tls errors on the TransportError (#4015) 2023-08-18 03:01:49 -07:00
Marten Seemann
f9f6b9df6e update qtls to restrict RSA keys in certificates to <= 8192 bits (#4012) 2023-08-03 08:20:32 -07:00
Marten Seemann
3d89e545d3 use the new crypto/tls QUIC Transport (#3860) 2023-07-01 11:15:00 -07:00
Marten Seemann
a49fa6a682 update Ginkgo to v2.9.5 and Gomega to v1.27.6 (#3845) 2023-06-02 02:57:26 -07:00
Marten Seemann
48e18b922d offer only TLS 1.3 cipher suites in ClientHello (#3749) 2023-04-19 05:57:55 -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
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
f42357f096 drop qtls support for Go 1.18 2023-02-04 17:44:54 +13:00
Marten Seemann
68c91c9a2b update qtls for Go 1.20 to v0.1.0 2023-02-02 09:48:32 +13:00
Marten Seemann
9488539a49 update imports to use qtls and qpack from quic-go GitHub organization (#3676) 2023-01-20 13:42:54 -08:00
Marten Seemann
576d85cd3d add support for Go 1.20 (#3641) 2023-01-17 23:22:36 -08:00
Marten Seemann
45b489b6f6 make ConnectionState usable during the handshake 2023-01-05 16:37:07 +13:00
Marten Seemann
71f9182de6 update golang.org/x packages to tagged versions (#3628) 2023-01-04 07:02:49 +13:00
Marten Seemann
df762b7552 use the new zero-allocation control message parsing function from x/sys (#3609) 2022-11-04 04:36:46 -07:00
Marten Seemann
f78683abb6 update qpack to v0.3.0 (#3593) 2022-10-12 06:00:58 -07:00
Marten Seemann
870fbe7ab0 migrate to Ginkgo v2 2022-10-11 16:38:44 +04:00
Marten Seemann
597e00549d update qtls to versions that include the ec_point_formats fix (#3583)
The new qtls versions contain the standard library fix for
https://github.com/golang/go/issues/49126.
2022-10-11 02:26:25 -07:00
Marten Seemann
556a6e2f99 Merge pull request #3489 from lucas-clemente/generic-streams-map-incoming
use a generic streams map for incoming streams
2022-08-12 13:05:53 +04:00
Marten Seemann
b372d02ac4 remove genny dependency 2022-08-12 11:18:57 +03:00
Marten Seemann
bea5de0221 Merge pull request #3483 from lucas-clemente/generic-min-max
use generic Min and Max functions
2022-08-12 12:09:30 +04:00
Marten Seemann
b6e2608c15 update the Go 1.19 qtls to v0.1.0 (#3490) 2022-08-10 09:53:32 -07:00
Marten Seemann
43bde14cf7 implement generic Min and Max functions 2022-08-10 14:59:05 +02:00
Marten Seemann
ea9de26ed5 drop support for Go 1.16 and 1.17 (#3482) 2022-08-10 03:42:14 -07:00
Marten Seemann
f29dd273b4 update for Go 1.19beta1 (#3460) 2022-06-28 01:12:44 -07:00
Marten Seemann
e27fa1c9cf update qtls to include the recent session ticket changes to crypto/tls (#3443)
This includes the changes released in Go 1.18.3 and Go 1.17.11.
2022-06-09 09:24:04 +02:00
Marten Seemann
2661c2807d update qtls packages (#3351) 2022-03-21 12:04:26 -07:00
Marten Seemann
36977dd528 update qtls-go-1-18 to v0.1.0 2022-03-16 10:10:24 +04:00
Marten Seemann
ba4d02017c add support for Go 1.18 2021-12-15 10:13:31 +04:00