TUN-10557: Bump quic-go v0.59.1

Bumps quic-go to v0.59.1 (chungthuang fork rebased from upstream v0.45 onto
v0.59.1). Upstream removed the `logging` package and replaced its
callback-based ConnectionTracer with the structured `qlog`/`qlogwriter` event
API, which required migrating cloudflared's QUIC metrics collection.

Migrations:

- quic/tracing.go: connTracer no longer fills a logging.ConnectionTracer
  callback struct. It implements qlogwriter.Trace + qlogwriter.Recorder and
  dispatches qlog events (PacketSent, PacketReceived, MetricsUpdated, ...) to
  the collector through RecordEvent. NewClientTracer now returns a function
  compatible with quic.Config.Tracer.

- quic/metrics.go: collector methods take qlog types (qlog.Frame,
  qlog.PacketType, qlog.MetricsUpdated, ...) and plain int64 in place of the
  removed logging.ByteCount/Frame/RTTStats/TransportParameters.

- quic/conversion.go: PacketType, PacketDropReason and PacketLossReason are
  strings upstream rather than numeric iotas, so the converters become
  pass-through allowlists. CongestionState is also a string;
  congestionStateToFloat maps it back to the numeric gauge values cloudflared
  exports.

- quic.Connection/quic.Stream became *quic.Conn/*quic.Stream; updated
  ConnWithCloser, SafeStreamCloser and the connection package accordingly.
  Tests and generated mocks (mocks/mock_quic_connection.go) were adapted to
  the new pointer-based API.

Closes TUN-10557
This commit is contained in:
lneto
2026-05-26 11:58:16 +01:00
committed by Luis Neto
parent 4d95ab73f5
commit 68620efbce
367 changed files with 8744 additions and 76581 deletions
+9 -61
View File
@@ -89,9 +89,6 @@ github.com/go-ole/go-ole
github.com/go-ole/go-ole/oleutil
# github.com/go-playground/validator/v10 v10.15.1
## explicit; go 1.18
# github.com/go-task/slim-sprig/v3 v3.0.0
## explicit; go 1.20
github.com/go-task/slim-sprig/v3
# github.com/gobwas/httphead v0.1.0
## explicit; go 1.15
github.com/gobwas/httphead
@@ -109,9 +106,6 @@ github.com/gobwas/ws/wsutil
## explicit; go 1.12
github.com/google/gopacket
github.com/google/gopacket/layers
# github.com/google/pprof v0.0.0-20250418163039-24c5476c6587
## explicit; go 1.23
github.com/google/pprof/profile
# github.com/google/uuid v1.6.0
## explicit
github.com/google/uuid
@@ -153,24 +147,6 @@ github.com/modern-go/reflect2
# github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822
## explicit
github.com/munnerz/goautoneg
# github.com/onsi/ginkgo/v2 v2.23.4
## explicit; go 1.23.0
github.com/onsi/ginkgo/v2/config
github.com/onsi/ginkgo/v2/formatter
github.com/onsi/ginkgo/v2/ginkgo
github.com/onsi/ginkgo/v2/ginkgo/build
github.com/onsi/ginkgo/v2/ginkgo/command
github.com/onsi/ginkgo/v2/ginkgo/generators
github.com/onsi/ginkgo/v2/ginkgo/internal
github.com/onsi/ginkgo/v2/ginkgo/labels
github.com/onsi/ginkgo/v2/ginkgo/outline
github.com/onsi/ginkgo/v2/ginkgo/run
github.com/onsi/ginkgo/v2/ginkgo/unfocus
github.com/onsi/ginkgo/v2/ginkgo/watch
github.com/onsi/ginkgo/v2/internal/interrupt_handler
github.com/onsi/ginkgo/v2/internal/parallel_support
github.com/onsi/ginkgo/v2/reporters
github.com/onsi/ginkgo/v2/types
# github.com/pelletier/go-toml/v2 v2.0.9
## explicit; go 1.16
# github.com/pkg/errors v0.9.1
@@ -203,20 +179,23 @@ github.com/prometheus/common/model
github.com/prometheus/procfs
github.com/prometheus/procfs/internal/fs
github.com/prometheus/procfs/internal/util
# github.com/quic-go/quic-go v0.52.0 => github.com/chungthuang/quic-go v0.45.1-0.20250428085412-43229ad201fd
## explicit; go 1.23
# github.com/quic-go/quic-go v0.59.1 => github.com/chungthuang/quic-go v0.45.1-0.20260529212404-a9fddf436fc4
## explicit; go 1.24
github.com/quic-go/quic-go
github.com/quic-go/quic-go/internal/ackhandler
github.com/quic-go/quic-go/internal/congestion
github.com/quic-go/quic-go/internal/flowcontrol
github.com/quic-go/quic-go/internal/handshake
github.com/quic-go/quic-go/internal/monotime
github.com/quic-go/quic-go/internal/protocol
github.com/quic-go/quic-go/internal/qerr
github.com/quic-go/quic-go/internal/utils
github.com/quic-go/quic-go/internal/utils/linkedlist
github.com/quic-go/quic-go/internal/utils/ringbuffer
github.com/quic-go/quic-go/internal/wire
github.com/quic-go/quic-go/logging
github.com/quic-go/quic-go/qlog
github.com/quic-go/quic-go/qlogwriter
github.com/quic-go/quic-go/qlogwriter/jsontext
github.com/quic-go/quic-go/quicvarint
# github.com/rs/zerolog v1.20.0
## explicit
@@ -311,15 +290,12 @@ go.opentelemetry.io/proto/otlp/resource/v1
go.opentelemetry.io/proto/otlp/trace/v1
# go.uber.org/automaxprocs v1.6.0
## explicit; go 1.20
go.uber.org/automaxprocs
go.uber.org/automaxprocs/internal/cgroups
go.uber.org/automaxprocs/internal/runtime
go.uber.org/automaxprocs/maxprocs
# go.uber.org/mock v0.5.1
## explicit; go 1.22
# go.uber.org/mock v0.5.2
## explicit; go 1.23
go.uber.org/mock/gomock
go.uber.org/mock/mockgen
go.uber.org/mock/mockgen/model
# golang.org/x/arch v0.4.0
## explicit; go 1.17
# golang.org/x/crypto v0.52.0
@@ -339,10 +315,6 @@ golang.org/x/crypto/ssh
golang.org/x/crypto/ssh/internal/bcrypt_pbkdf
# golang.org/x/mod v0.35.0
## explicit; go 1.25.0
golang.org/x/mod/internal/lazyregexp
golang.org/x/mod/modfile
golang.org/x/mod/module
golang.org/x/mod/semver
# golang.org/x/net v0.55.0
## explicit; go 1.25.0
golang.org/x/net/bpf
@@ -399,30 +371,6 @@ golang.org/x/text/unicode/bidi
golang.org/x/text/unicode/norm
# golang.org/x/tools v0.44.0
## explicit; go 1.25.0
golang.org/x/tools/cover
golang.org/x/tools/go/ast/astutil
golang.org/x/tools/go/ast/edge
golang.org/x/tools/go/ast/inspector
golang.org/x/tools/go/gcexportdata
golang.org/x/tools/go/packages
golang.org/x/tools/go/types/objectpath
golang.org/x/tools/go/types/typeutil
golang.org/x/tools/imports
golang.org/x/tools/internal/aliases
golang.org/x/tools/internal/event
golang.org/x/tools/internal/event/core
golang.org/x/tools/internal/event/keys
golang.org/x/tools/internal/event/label
golang.org/x/tools/internal/gcimporter
golang.org/x/tools/internal/gocommand
golang.org/x/tools/internal/gopathwalk
golang.org/x/tools/internal/imports
golang.org/x/tools/internal/packagesinternal
golang.org/x/tools/internal/pkgbits
golang.org/x/tools/internal/stdlib
golang.org/x/tools/internal/typeparams
golang.org/x/tools/internal/typesinternal
golang.org/x/tools/internal/versions
# google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171
## explicit; go 1.25.0
google.golang.org/genproto/googleapis/api/httpbody
@@ -569,4 +517,4 @@ zombiezen.com/go/capnproto2/std/capnp/rpc
# github.com/urfave/cli/v2 => github.com/ipostelnik/cli/v2 v2.3.1-0.20210324024421-b6ea8234fe3d
# github.com/prometheus/golang_client => github.com/prometheus/golang_client v1.12.1
# gopkg.in/yaml.v3 => gopkg.in/yaml.v3 v3.0.1
# github.com/quic-go/quic-go => github.com/chungthuang/quic-go v0.45.1-0.20250428085412-43229ad201fd
# github.com/quic-go/quic-go => github.com/chungthuang/quic-go v0.45.1-0.20260529212404-a9fddf436fc4