92 Commits

Author SHA1 Message Date
gr1ffon
4ba42a8456 replace repo 2025-11-14 04:04:40 +03:00
Marten Seemann
5e5100b40c http3: add the qlog event schema to trace header (#5383) 2025-10-15 06:02:05 +02:00
Marten Seemann
c26e86c547 qlogwriter: add support for event_schemas in the trace header (#5361) 2025-10-09 06:07:23 +02:00
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
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
5f3d617dec convert Connection interface to Conn struct (#5195) 2025-06-09 11:51:46 +02:00
Marten Seemann
eb656df2fe convert Stream interface to a struct (#5149) 2025-06-01 05:40:05 +02:00
Marten Seemann
be709c10fd ci: also build the interop image on pull requests, but skip pushing (#5115)
* ci: also build the interop image on pull requests, but skip pushing

* use checked out code for interop Docker build
2025-05-04 07:07:44 +02:00
Marten Seemann
12f2be058b bump go.mod version to Go 1.23, run 1.23 and 1.24 on CI (#4880) 2025-02-13 12:49:54 +01:00
Marten Seemann
1db805ce4f http3: improve the client API (#4693)
* http3: rename RoundTripper to Transport

* http3: rename SingleDestinationRoundTripper to ClientConn

* http3: construct the ClientConn via Transport.NewClientConn
2024-10-13 22:17:50 -07:00
Marten Seemann
3f3e12bd7c interop: move away from Ginkgo (#4652) 2024-09-11 20:50:14 -07:00
Marten Seemann
135b8c0e75 interop: fix server setup for the HTTP/0.9 server (#4658) 2024-09-03 02:14:53 -07:00
Marten Seemann
0b32adc145 interop: simplify API of http09.Server (#4651)
Removes the ListenAndServe method in favor of a ServeListener method.
2024-08-30 22:13:20 -07:00
Marten Seemann
d067fe4156 bump Go version in go.mod, stop testing on Go 1.21 (#4633)
* bump Go version in go.mod, stop testing on Go 1.21

* ci: update golangci-lint to v1.60.1

* ignore Go 1.23 0-RTT events in exhaustive linter
2024-08-17 00:30:03 -07:00
Marten Seemann
d1f9af4cc6 implement qlog JSONSEQ format, bump qlog version (#4609) 2024-08-03 20:19:51 -07:00
Marten Seemann
49b9965525 http3: rename RoundTripper.QuicConfig to RoundTripper.QUICConfig (#4385) 2024-03-23 15:29:39 -07:00
Marten Seemann
89020e380a http3: rename Server.QuicConfig to Server.QUICConfig (#4384) 2024-03-23 14:39:34 -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
013949cda3 ci: update to Go 1.22.0 (#4312) 2024-02-07 18:15:56 -08:00
Marten Seemann
fbaa941ea1 protocol: rename VersionNumber to Version (#4295) 2024-01-31 21:57:33 -08:00
Marten Seemann
a2cf43d75c remove the RequireAddressValidation callback from the Config (#4253) 2024-01-22 21:24:07 -08:00
Marten Seemann
771d136fa9 interop: update Go version to 1.21.4 (#4179) 2023-11-22 20:30:26 -08:00
Marten Seemann
96ab48eb7d fix serialization of connection ID in filenames of qlog files (#4170) 2023-11-16 22:06:42 -08:00
Marten Seemann
9b82196578 make the logging.Tracer and logging.ConnectionTracer a struct (#4082) 2023-09-16 04:58:51 -07:00
Marten Seemann
c1ce4a8e92 http09: increase the startup timeout in tests (#4071) 2023-09-15 18:35:09 +07:00
Marten Seemann
f689a5d023 ci: build interop Docker image for pushes to master, and for releases (#4035)
* ci: build interop Docker image for pushes to master, and tag releases

* use self-hosted runner to build Docker image

* Apply suggestions from code review

Co-authored-by: Piotr Galar <piotr.galar@gmail.com>

* Update .github/workflows/build-interop-docker.yml

Co-authored-by: Piotr Galar <piotr.galar@gmail.com>

* build the correct commit

* Update .github/workflows/build-interop-docker.yml

---------

Co-authored-by: Piotr Galar <piotr.galar@gmail.com>
2023-08-20 19:48:03 -07:00
Marten Seemann
07ad2cbee2 remove Tracer from Config, put ConnectionTracer constructor there 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
86a1234c87 make EarlyListener a struct, not an interface 2023-05-01 14:41:16 +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
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
a753cb13d8 interop: fix setting of cipher suite for the ChaCha20 test (#3747) 2023-04-19 06:29:10 -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
a4b0265628 use a chan instead of a context in Connection.HandshakeComplete (#3709) 2023-03-26 06:51:56 -07:00
Marten Seemann
0567a925e5 interop: fix server configuration for the 0-RTT test case (#3713) 2023-02-15 23:05:47 -08:00
Marten Seemann
f42357f096 drop qtls support for Go 1.18 2023-02-04 17:44:54 +13:00
Marten Seemann
58cedf7a4f rename module, adjust import paths to quic-go/quic-go (#3680) 2023-01-21 19:53:57 -08:00
Marten Seemann
870fbe7ab0 migrate to Ginkgo v2 2022-10-11 16:38:44 +04:00
Marten Seemann
f2fa98c0dd implement a more intuitive address validation API 2022-08-12 13:13:29 +03:00
Marten Seemann
498475fa60 update golangci-lint action to v3, golangci-lint to v1.48.0 (#3499)
* run gofmt -s -w

* stop using the deprecated io/ioutil package

* update golangci-lint action to v3, golangci-lint to v1.48.0
2022-08-10 09:50:48 -07:00
Ivan Trubach
0ec8ee3cff do not embed http.Server in http3.Server (#3397)
This change removes the embedded http.Server struct from http3.Server.
It slightly changes some error behavior, in particular, it mandates
TLSConfig for methods that create QUIC listeners.

Before this change, only Addr, TLSConfig, Handler and MaxHeaderBytes
options were used from the http.Server. These are now defined directly
in http3.Server with an improved documentation.
2022-05-20 02:53:23 -07:00
Marten Seemann
6aaa9a817c rename the EarlySession to EarlyConnection 2022-03-27 11:27:25 +01:00
Marten Seemann
fda9f72161 replace usages of session in variable names 2022-03-27 11:27:25 +01:00
Marten Seemann
e71c236232 rename the Session to Connection 2022-03-27 11:27:23 +01:00
Marten Seemann
366097106c use Go 1.18 on CI 2022-03-16 11:16:44 +04:00
Marten Seemann
c923158a3e update to Go 1.17.x 2021-08-16 23:21:24 +02:00
Marten Seemann
6b771df453 add support for QUIC v1 2021-05-01 10:05:29 +07:00
Marten Seemann
62a906de3c update Go to 1.16, drop support for 1.14 2021-02-17 12:17:46 +08:00
Marten Seemann
0437acd41d set the qlogged quic-go version when building the interop runner image 2021-02-08 09:24:12 +08:00