Skip to content

Commit fde0e3a

Browse files
authored
Update quic-go to v0.49.0 (#3153)
1 parent 29d83ed commit fde0e3a

File tree

7 files changed

+27
-10
lines changed

7 files changed

+27
-10
lines changed

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ require (
5353
github.com/pion/webrtc/v4 v4.0.7
5454
github.com/prometheus/client_golang v1.20.5
5555
github.com/prometheus/client_model v0.6.1
56-
github.com/quic-go/quic-go v0.48.2
56+
github.com/quic-go/quic-go v0.49.0
5757
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66
5858
github.com/raulk/go-watchdog v1.3.0
5959
github.com/stretchr/testify v1.10.0

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -340,8 +340,8 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg
340340
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
341341
github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI=
342342
github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg=
343-
github.com/quic-go/quic-go v0.48.2 h1:wsKXZPeGWpMpCGSWqOcqpW2wZYic/8T3aqiOID0/KWE=
344-
github.com/quic-go/quic-go v0.48.2/go.mod h1:yBgs3rWBOADpga7F+jJsb6Ybg1LSYiQvwWlLX+/6HMs=
343+
github.com/quic-go/quic-go v0.49.0 h1:w5iJHXwHxs1QxyBv1EHKuC50GX5to8mJAxvtnttJp94=
344+
github.com/quic-go/quic-go v0.49.0/go.mod h1:s2wDnmCdooUQBmQfpUSTCYBl1/D4FcqbULMMkASvR6s=
345345
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66 h1:4WFk6u3sOT6pLa1kQ50ZVdm8BQFgJNA117cepZxtLIg=
346346
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66/go.mod h1:Vp72IJajgeOL6ddqrAhmp7IM9zbTcgkQxD/YdxrVwMw=
347347
github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk=

p2p/transport/quic/stream.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,20 @@ type stream struct {
1919
var _ network.MuxedStream = &stream{}
2020

2121
func (s *stream) Read(b []byte) (n int, err error) {
22+
var streamErr *quic.StreamError
23+
2224
n, err = s.Stream.Read(b)
23-
if err != nil && errors.Is(err, &quic.StreamError{}) {
25+
if err != nil && errors.As(err, &streamErr) {
2426
err = network.ErrReset
2527
}
2628
return n, err
2729
}
2830

2931
func (s *stream) Write(b []byte) (n int, err error) {
32+
var streamErr *quic.StreamError
33+
3034
n, err = s.Stream.Write(b)
31-
if err != nil && errors.Is(err, &quic.StreamError{}) {
35+
if err != nil && errors.As(err, &streamErr) {
3236
err = network.ErrReset
3337
}
3438
return n, err

p2p/transport/webtransport/crypto.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,15 @@ func generateCert(key ic.PrivKey, start, end time.Time) (*x509.Certificate, *ecd
8686
return ca, caPrivateKey, nil
8787
}
8888

89+
type ErrCertHashMismatch struct {
90+
Expected []byte
91+
Actual [][]byte
92+
}
93+
94+
func (e ErrCertHashMismatch) Error() string {
95+
return fmt.Sprintf("cert hash not found: %x (expected: %#x)", e.Expected, e.Actual)
96+
}
97+
8998
func verifyRawCerts(rawCerts [][]byte, certHashes []multihash.DecodedMultihash) error {
9099
if len(rawCerts) < 1 {
91100
return errors.New("no cert")
@@ -105,7 +114,7 @@ func verifyRawCerts(rawCerts [][]byte, certHashes []multihash.DecodedMultihash)
105114
for _, h := range certHashes {
106115
digests = append(digests, h.Digest)
107116
}
108-
return fmt.Errorf("cert hash not found: %#x (expected: %#x)", hash, digests)
117+
return ErrCertHashMismatch{Expected: hash[:], Actual: digests}
109118
}
110119

111120
cert, err := x509.ParseCertificate(leaf)

p2p/transport/webtransport/transport_test.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,11 @@ func TestHashVerification(t *testing.T) {
179179
var trErr *quic.TransportError
180180
require.ErrorAs(t, err, &trErr)
181181
require.Equal(t, quic.TransportErrorCode(0x12a), trErr.ErrorCode)
182-
require.Contains(t, errors.Unwrap(trErr).Error(), "cert hash not found")
182+
var errMismatchHash libp2pwebtransport.ErrCertHashMismatch
183+
require.ErrorAs(t, err, &errMismatchHash)
184+
185+
e := sha256.Sum256([]byte("foobar"))
186+
require.EqualValues(t, e[:], errMismatchHash.Actual[0])
183187
})
184188

185189
t.Run("fails when adding a wrong hash", func(t *testing.T) {

test-plans/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ require (
9494
github.com/prometheus/common v0.61.0 // indirect
9595
github.com/prometheus/procfs v0.15.1 // indirect
9696
github.com/quic-go/qpack v0.5.1 // indirect
97-
github.com/quic-go/quic-go v0.48.2 // indirect
97+
github.com/quic-go/quic-go v0.49.0 // indirect
9898
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66 // indirect
9999
github.com/raulk/go-watchdog v1.3.0 // indirect
100100
github.com/spaolacci/murmur3 v1.1.0 // indirect

test-plans/go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -286,8 +286,8 @@ github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0leargg
286286
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
287287
github.com/quic-go/qpack v0.5.1 h1:giqksBPnT/HDtZ6VhtFKgoLOWmlyo9Ei6u9PqzIMbhI=
288288
github.com/quic-go/qpack v0.5.1/go.mod h1:+PC4XFrEskIVkcLzpEkbLqq1uCoxPhQuvK5rH1ZgaEg=
289-
github.com/quic-go/quic-go v0.48.2 h1:wsKXZPeGWpMpCGSWqOcqpW2wZYic/8T3aqiOID0/KWE=
290-
github.com/quic-go/quic-go v0.48.2/go.mod h1:yBgs3rWBOADpga7F+jJsb6Ybg1LSYiQvwWlLX+/6HMs=
289+
github.com/quic-go/quic-go v0.49.0 h1:w5iJHXwHxs1QxyBv1EHKuC50GX5to8mJAxvtnttJp94=
290+
github.com/quic-go/quic-go v0.49.0/go.mod h1:s2wDnmCdooUQBmQfpUSTCYBl1/D4FcqbULMMkASvR6s=
291291
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66 h1:4WFk6u3sOT6pLa1kQ50ZVdm8BQFgJNA117cepZxtLIg=
292292
github.com/quic-go/webtransport-go v0.8.1-0.20241018022711-4ac2c9250e66/go.mod h1:Vp72IJajgeOL6ddqrAhmp7IM9zbTcgkQxD/YdxrVwMw=
293293
github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk=

0 commit comments

Comments
 (0)