Skip to content

Commit 2101332

Browse files
quic: update quic-go to v0.39.1, set a static resumption token generator key (#2572)
1 parent 476eda4 commit 2101332

File tree

20 files changed

+106
-84
lines changed

20 files changed

+106
-84
lines changed

config/config.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,7 @@ func (cfg *Config) addTransports(h host.Host) error {
261261
}
262262

263263
fxopts = append(fxopts, fx.Provide(PrivKeyToStatelessResetKey))
264+
fxopts = append(fxopts, fx.Provide(PrivKeyToTokenGeneratorKey))
264265
if cfg.QUICReuse != nil {
265266
fxopts = append(fxopts, cfg.QUICReuse...)
266267
} else {
Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ import (
1111
"github.com/quic-go/quic-go"
1212
)
1313

14-
const statelessResetKeyInfo = "libp2p quic stateless reset key"
14+
const (
15+
statelessResetKeyInfo = "libp2p quic stateless reset key"
16+
tokenGeneratorKeyInfo = "libp2p quic token generator key"
17+
)
1518

1619
func PrivKeyToStatelessResetKey(key crypto.PrivKey) (quic.StatelessResetKey, error) {
1720
var statelessResetKey quic.StatelessResetKey
@@ -25,3 +28,16 @@ func PrivKeyToStatelessResetKey(key crypto.PrivKey) (quic.StatelessResetKey, err
2528
}
2629
return statelessResetKey, nil
2730
}
31+
32+
func PrivKeyToTokenGeneratorKey(key crypto.PrivKey) (quic.TokenGeneratorKey, error) {
33+
var tokenKey quic.TokenGeneratorKey
34+
keyBytes, err := key.Raw()
35+
if err != nil {
36+
return tokenKey, err
37+
}
38+
keyReader := hkdf.New(sha256.New, keyBytes, nil, []byte(tokenGeneratorKeyInfo))
39+
if _, err := io.ReadFull(keyReader, tokenKey[:]); err != nil {
40+
return tokenKey, err
41+
}
42+
return tokenKey, nil
43+
}

go.mod

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ require (
5151
github.com/pion/webrtc/v3 v3.2.9
5252
github.com/prometheus/client_golang v1.14.0
5353
github.com/prometheus/client_model v0.4.0
54-
github.com/quic-go/quic-go v0.38.1
55-
github.com/quic-go/webtransport-go v0.5.3
54+
github.com/quic-go/quic-go v0.39.1
55+
github.com/quic-go/webtransport-go v0.6.0
5656
github.com/raulk/go-watchdog v1.3.0
5757
github.com/stretchr/testify v1.8.4
5858
go.uber.org/fx v1.20.0
@@ -85,10 +85,9 @@ require (
8585
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 // indirect
8686
github.com/godbus/dbus/v5 v5.1.0 // indirect
8787
github.com/gogo/protobuf v1.3.2 // indirect
88-
github.com/golang/mock v1.6.0 // indirect
8988
github.com/golang/protobuf v1.5.3 // indirect
9089
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db // indirect
91-
github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b // indirect
90+
github.com/google/pprof v0.0.0-20230821062121-407c9e7a662f // indirect
9291
github.com/google/uuid v1.3.0 // indirect
9392
github.com/huin/goupnp v1.2.0 // indirect
9493
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
@@ -101,7 +100,7 @@ require (
101100
github.com/miekg/dns v1.1.55 // indirect
102101
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
103102
github.com/multiformats/go-base36 v0.2.0 // indirect
104-
github.com/onsi/ginkgo/v2 v2.11.0 // indirect
103+
github.com/onsi/ginkgo/v2 v2.12.0 // indirect
105104
github.com/opencontainers/runtime-spec v1.1.0 // indirect
106105
github.com/pion/dtls/v2 v2.2.7 // indirect
107106
github.com/pion/interceptor v0.1.17 // indirect
@@ -119,7 +118,7 @@ require (
119118
github.com/prometheus/common v0.37.0 // indirect
120119
github.com/prometheus/procfs v0.8.0 // indirect
121120
github.com/quic-go/qpack v0.4.0 // indirect
122-
github.com/quic-go/qtls-go1-20 v0.3.3 // indirect
121+
github.com/quic-go/qtls-go1-20 v0.3.4 // indirect
123122
github.com/spaolacci/murmur3 v1.1.0 // indirect
124123
github.com/syndtr/goleveldb v1.0.0 // indirect
125124
go.uber.org/atomic v1.11.0 // indirect

go.sum

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -161,8 +161,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt
161161
github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
162162
github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
163163
github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
164-
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
165-
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
166164
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
167165
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
168166
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
@@ -210,8 +208,8 @@ github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hf
210208
github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
211209
github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
212210
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
213-
github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b h1:h9U78+dx9a4BKdQkBBos92HalKpaGKHrp+3Uo6yTodo=
214-
github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
211+
github.com/google/pprof v0.0.0-20230821062121-407c9e7a662f h1:pDhu5sgp8yJlEF/g6osliIIpF9K4F5jvkULXa4daRDQ=
212+
github.com/google/pprof v0.0.0-20230821062121-407c9e7a662f/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
215213
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
216214
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
217215
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
@@ -384,13 +382,13 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108
384382
github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0=
385383
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
386384
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
387-
github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU=
388-
github.com/onsi/ginkgo/v2 v2.11.0/go.mod h1:ZhrRA5XmEE3x3rhlzamx/JJvujdZoJ2uvgI7kR0iZvM=
385+
github.com/onsi/ginkgo/v2 v2.12.0 h1:UIVDowFPwpg6yMUpPjGkYvf06K3RAiJXUhCxEwQVHRI=
386+
github.com/onsi/ginkgo/v2 v2.12.0/go.mod h1:ZNEzXISYlqpb8S36iN71ifqLi3vVD1rVJGvWRCJOUpQ=
389387
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
390388
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
391389
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
392390
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
393-
github.com/onsi/gomega v1.27.8 h1:gegWiwZjBsf2DgiSbf5hpokZ98JVDMcWkUiigk6/KXc=
391+
github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
394392
github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
395393
github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg=
396394
github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
@@ -474,12 +472,12 @@ github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5
474472
github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4=
475473
github.com/quic-go/qpack v0.4.0 h1:Cr9BXA1sQS2SmDUWjSofMPNKmvF6IiIfDRmgU0w1ZCo=
476474
github.com/quic-go/qpack v0.4.0/go.mod h1:UZVnYIfi5GRk+zI9UMaCPsmZ2xKJP7XBUvVyT1Knj9A=
477-
github.com/quic-go/qtls-go1-20 v0.3.3 h1:17/glZSLI9P9fDAeyCHBFSWSqJcwx1byhLwP5eUIDCM=
478-
github.com/quic-go/qtls-go1-20 v0.3.3/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
479-
github.com/quic-go/quic-go v0.38.1 h1:M36YWA5dEhEeT+slOu/SwMEucbYd0YFidxG3KlGPZaE=
480-
github.com/quic-go/quic-go v0.38.1/go.mod h1:ijnZM7JsFIkp4cRyjxJNIzdSfCLmUMg9wdyhGmg+SN4=
481-
github.com/quic-go/webtransport-go v0.5.3 h1:5XMlzemqB4qmOlgIus5zB45AcZ2kCgCy2EptUrfOPWU=
482-
github.com/quic-go/webtransport-go v0.5.3/go.mod h1:OhmmgJIzTTqXK5xvtuX0oBpLV2GkLWNDA+UeTGJXErU=
475+
github.com/quic-go/qtls-go1-20 v0.3.4 h1:MfFAPULvst4yoMgY9QmtpYmfij/em7O8UUi+bNVm7Cg=
476+
github.com/quic-go/qtls-go1-20 v0.3.4/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
477+
github.com/quic-go/quic-go v0.39.1 h1:d/m3oaN/SD2c+f7/yEjZxe2zEVotXprnrCCJ2y/ZZFE=
478+
github.com/quic-go/quic-go v0.39.1/go.mod h1:T09QsDQWjLiQ74ZmacDfqZmhY/NLnw5BC40MANNNZ1Q=
479+
github.com/quic-go/webtransport-go v0.6.0 h1:CvNsKqc4W2HljHJnoT+rMmbRJybShZ0YPFDD3NxaZLY=
480+
github.com/quic-go/webtransport-go v0.6.0/go.mod h1:9KjU4AEBqEQidGHNDkZrb8CAa1abRaosM2yGOyiikEc=
483481
github.com/raulk/go-watchdog v1.3.0 h1:oUmdlHxdkXRJlwfG0O9omj8ukerm8MEQavSiDTEtBsk=
484482
github.com/raulk/go-watchdog v1.3.0/go.mod h1:fIvOnLbF0b0ZwkB9YU4mOW9Did//4vPZtDqv66NfsMU=
485483
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
@@ -861,7 +859,6 @@ golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc
861859
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
862860
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
863861
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
864-
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
865862
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
866863
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
867864
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=

p2p/net/swarm/dial_worker_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,13 @@ import (
2626
"github.com/libp2p/go-libp2p/p2p/host/peerstore/pstoremem"
2727
"github.com/libp2p/go-libp2p/p2p/muxer/yamux"
2828
tptu "github.com/libp2p/go-libp2p/p2p/net/upgrader"
29-
quic "github.com/libp2p/go-libp2p/p2p/transport/quic"
29+
libp2pquic "github.com/libp2p/go-libp2p/p2p/transport/quic"
3030
"github.com/libp2p/go-libp2p/p2p/transport/quicreuse"
3131
"github.com/libp2p/go-libp2p/p2p/transport/tcp"
3232

3333
ma "github.com/multiformats/go-multiaddr"
3434
manet "github.com/multiformats/go-multiaddr/net"
35+
"github.com/quic-go/quic-go"
3536
"github.com/stretchr/testify/require"
3637
)
3738

@@ -88,11 +89,11 @@ func makeSwarmWithNoListenAddrs(t *testing.T, opts ...Option) *Swarm {
8889
if err := s.AddTransport(tcpTransport); err != nil {
8990
t.Fatal(err)
9091
}
91-
reuse, err := quicreuse.NewConnManager([32]byte{})
92+
reuse, err := quicreuse.NewConnManager(quic.StatelessResetKey{}, quic.TokenGeneratorKey{})
9293
if err != nil {
9394
t.Fatal(err)
9495
}
95-
quicTransport, err := quic.NewTransport(priv, reuse, nil, nil, nil)
96+
quicTransport, err := libp2pquic.NewTransport(priv, reuse, nil, nil, nil)
9697
if err != nil {
9798
t.Fatal(err)
9899
}
@@ -968,7 +969,7 @@ func TestDialWorkerLoopHolePunching(t *testing.T) {
968969
for i := 0; i < len(addrs); i++ {
969970
delay := 10 * time.Second
970971
if addrs[i].Equal(t1) {
971-
//fire t1 immediately
972+
// fire t1 immediately
972973
delay = 0
973974
} else if addrs[i].Equal(t2) {
974975
// delay t2 by 100ms

p2p/net/swarm/swarm_addr_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@ import (
1414
"github.com/libp2p/go-libp2p/p2p/net/swarm"
1515
swarmt "github.com/libp2p/go-libp2p/p2p/net/swarm/testing"
1616
circuitv2 "github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/client"
17-
quic "github.com/libp2p/go-libp2p/p2p/transport/quic"
17+
libp2pquic "github.com/libp2p/go-libp2p/p2p/transport/quic"
1818
"github.com/libp2p/go-libp2p/p2p/transport/quicreuse"
1919
"github.com/libp2p/go-libp2p/p2p/transport/tcp"
2020
webtransport "github.com/libp2p/go-libp2p/p2p/transport/webtransport"
2121

2222
ma "github.com/multiformats/go-multiaddr"
2323
"github.com/multiformats/go-multibase"
2424
"github.com/multiformats/go-multihash"
25+
"github.com/quic-go/quic-go"
2526
"github.com/stretchr/testify/require"
2627
)
2728

@@ -81,10 +82,10 @@ func TestDialAddressSelection(t *testing.T) {
8182
tcpTr, err := tcp.NewTCPTransport(nil, nil)
8283
require.NoError(t, err)
8384
require.NoError(t, s.AddTransport(tcpTr))
84-
reuse, err := quicreuse.NewConnManager([32]byte{})
85+
reuse, err := quicreuse.NewConnManager(quic.StatelessResetKey{}, quic.TokenGeneratorKey{})
8586
require.NoError(t, err)
8687
defer reuse.Close()
87-
quicTr, err := quic.NewTransport(priv, reuse, nil, nil, nil)
88+
quicTr, err := libp2pquic.NewTransport(priv, reuse, nil, nil, nil)
8889
require.NoError(t, err)
8990
require.NoError(t, s.AddTransport(quicTr))
9091
webtransportTr, err := webtransport.New(priv, nil, reuse, nil, nil)

p2p/net/swarm/swarm_dial_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ func newTestSwarmWithResolver(t *testing.T, resolver *madns.Resolver) *Swarm {
139139
err = s.AddTransport(tpt)
140140
require.NoError(t, err)
141141

142-
connmgr, err := quicreuse.NewConnManager(quic.StatelessResetKey{})
142+
connmgr, err := quicreuse.NewConnManager(quic.StatelessResetKey{}, quic.TokenGeneratorKey{})
143143
require.NoError(t, err)
144144
quicTpt, err := libp2pquic.NewTransport(priv, connmgr, nil, nil, &network.NullResourceManager{})
145145
require.NoError(t, err)

p2p/net/swarm/testing/testing.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@ import (
2121
"github.com/libp2p/go-libp2p/p2p/muxer/yamux"
2222
"github.com/libp2p/go-libp2p/p2p/net/swarm"
2323
tptu "github.com/libp2p/go-libp2p/p2p/net/upgrader"
24-
quic "github.com/libp2p/go-libp2p/p2p/transport/quic"
24+
libp2pquic "github.com/libp2p/go-libp2p/p2p/transport/quic"
2525
"github.com/libp2p/go-libp2p/p2p/transport/quicreuse"
2626
"github.com/libp2p/go-libp2p/p2p/transport/tcp"
2727

2828
ma "github.com/multiformats/go-multiaddr"
29+
"github.com/quic-go/quic-go"
2930
"github.com/stretchr/testify/require"
3031
)
3132

@@ -175,11 +176,11 @@ func GenSwarm(t *testing.T, opts ...Option) *swarm.Swarm {
175176
}
176177
}
177178
if !cfg.disableQUIC {
178-
reuse, err := quicreuse.NewConnManager([32]byte{})
179+
reuse, err := quicreuse.NewConnManager(quic.StatelessResetKey{}, quic.TokenGeneratorKey{})
179180
if err != nil {
180181
t.Fatal(err)
181182
}
182-
quicTransport, err := quic.NewTransport(priv, reuse, nil, cfg.connectionGater, nil)
183+
quicTransport, err := libp2pquic.NewTransport(priv, reuse, nil, cfg.connectionGater, nil)
183184
if err != nil {
184185
t.Fatal(err)
185186
}

p2p/transport/quic/cmd/client/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ import (
88
"log"
99
"os"
1010

11-
"github.com/libp2p/go-libp2p/p2p/transport/quicreuse"
12-
1311
ic "github.com/libp2p/go-libp2p/core/crypto"
1412
"github.com/libp2p/go-libp2p/core/peer"
1513
libp2pquic "github.com/libp2p/go-libp2p/p2p/transport/quic"
14+
"github.com/libp2p/go-libp2p/p2p/transport/quicreuse"
1615

1716
ma "github.com/multiformats/go-multiaddr"
17+
"github.com/quic-go/quic-go"
1818
)
1919

2020
func main() {
@@ -41,7 +41,7 @@ func run(raddr string, p string) error {
4141
return err
4242
}
4343

44-
reuse, err := quicreuse.NewConnManager([32]byte{})
44+
reuse, err := quicreuse.NewConnManager(quic.StatelessResetKey{}, quic.TokenGeneratorKey{})
4545
if err != nil {
4646
return err
4747
}

p2p/transport/quic/cmd/server/main.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ import (
77
"log"
88
"os"
99

10-
"github.com/libp2p/go-libp2p/p2p/transport/quicreuse"
11-
1210
ic "github.com/libp2p/go-libp2p/core/crypto"
1311
"github.com/libp2p/go-libp2p/core/peer"
1412
tpt "github.com/libp2p/go-libp2p/core/transport"
1513
libp2pquic "github.com/libp2p/go-libp2p/p2p/transport/quic"
14+
"github.com/libp2p/go-libp2p/p2p/transport/quicreuse"
1615

1716
ma "github.com/multiformats/go-multiaddr"
17+
"github.com/quic-go/quic-go"
1818
)
1919

2020
func main() {
@@ -41,7 +41,7 @@ func run(port string) error {
4141
return err
4242
}
4343

44-
reuse, err := quicreuse.NewConnManager([32]byte{})
44+
reuse, err := quicreuse.NewConnManager(quic.StatelessResetKey{}, quic.TokenGeneratorKey{})
4545
if err != nil {
4646
return err
4747
}

0 commit comments

Comments
 (0)