Skip to content

Commit 9edef5a

Browse files
authored
quic: drop support for QUIC draft-29 (#2487)
1 parent c97fce8 commit 9edef5a

28 files changed

+95
-431
lines changed

defaults.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,9 @@ var RandomIdentity = func(cfg *Config) error {
7979
var DefaultListenAddrs = func(cfg *Config) error {
8080
addrs := []string{
8181
"/ip4/0.0.0.0/tcp/0",
82-
"/ip4/0.0.0.0/udp/0/quic",
8382
"/ip4/0.0.0.0/udp/0/quic-v1",
8483
"/ip4/0.0.0.0/udp/0/quic-v1/webtransport",
8584
"/ip6/::/tcp/0",
86-
"/ip6/::/udp/0/quic",
8785
"/ip6/::/udp/0/quic-v1",
8886
"/ip6/::/udp/0/quic-v1/webtransport",
8987
}

libp2p_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ func TestAutoNATService(t *testing.T) {
9999

100100
func TestDefaultListenAddrs(t *testing.T) {
101101
reTCP := regexp.MustCompile("/(ip)[4|6]/((0.0.0.0)|(::))/tcp/")
102-
reQUIC := regexp.MustCompile("/(ip)[4|6]/((0.0.0.0)|(::))/udp/([0-9]*)/quic")
102+
reQUIC := regexp.MustCompile("/(ip)[4|6]/((0.0.0.0)|(::))/udp/([0-9]*)/quic-v1")
103103
reCircuit := regexp.MustCompile("/p2p-circuit")
104104

105105
// Test 1: Setting the correct listen addresses if userDefined.Transport == nil && userDefined.ListenAddrs == nil
@@ -180,7 +180,7 @@ func TestTransportConstructorTCP(t *testing.T) {
180180
require.NoError(t, err)
181181
defer h.Close()
182182
require.NoError(t, h.Network().Listen(ma.StringCast("/ip4/127.0.0.1/tcp/0")))
183-
err = h.Network().Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic"))
183+
err = h.Network().Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1"))
184184
require.Error(t, err)
185185
require.Contains(t, err.Error(), swarm.ErrNoTransport.Error())
186186
}
@@ -192,7 +192,7 @@ func TestTransportConstructorQUIC(t *testing.T) {
192192
)
193193
require.NoError(t, err)
194194
defer h.Close()
195-
require.NoError(t, h.Network().Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic")))
195+
require.NoError(t, h.Network().Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1")))
196196
err = h.Network().Listen(ma.StringCast("/ip4/127.0.0.1/tcp/0"))
197197
require.Error(t, err)
198198
require.Contains(t, err.Error(), swarm.ErrNoTransport.Error())

p2p/host/autorelay/addrsplosion_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ func TestCleanupAddrs(t *testing.T) {
1111
t.Run("with no addrplosion", func(t *testing.T) {
1212
addrs := makeAddrList(
1313
"/ip4/127.0.0.1/tcp/4001",
14-
"/ip4/127.0.0.1/udp/4002/quic",
14+
"/ip4/127.0.0.1/udp/4002/quic-v1",
1515
"/ip4/1.2.3.4/tcp/4001",
16-
"/ip4/1.2.3.4/udp/4002/quic",
16+
"/ip4/1.2.3.4/udp/4002/quic-v1",
1717
"/dnsaddr/somedomain.com/tcp/4002/ws",
1818
)
1919
clean := makeAddrList(
2020
"/ip4/1.2.3.4/tcp/4001",
21-
"/ip4/1.2.3.4/udp/4002/quic",
21+
"/ip4/1.2.3.4/udp/4002/quic-v1",
2222
"/dnsaddr/somedomain.com/tcp/4002/ws",
2323
)
2424
require.ElementsMatch(t, clean, cleanupAddressSet(addrs), "cleaned up set doesn't match expected")
@@ -32,11 +32,11 @@ func TestCleanupAddrs(t *testing.T) {
3232
"/ip4/1.2.3.4/tcp/33333",
3333
"/ip4/1.2.3.4/tcp/33334",
3434
"/ip4/1.2.3.4/tcp/33335",
35-
"/ip4/1.2.3.4/udp/4002/quic",
35+
"/ip4/1.2.3.4/udp/4002/quic-v1",
3636
)
3737
clean := makeAddrList(
3838
"/ip4/1.2.3.4/tcp/4001",
39-
"/ip4/1.2.3.4/udp/4002/quic",
39+
"/ip4/1.2.3.4/udp/4002/quic-v1",
4040
)
4141
require.ElementsMatch(t, clean, cleanupAddressSet(addrs), "cleaned up set doesn't match expected")
4242
})
@@ -48,11 +48,11 @@ func TestCleanupAddrs(t *testing.T) {
4848
"/ip4/1.2.3.4/tcp/33333",
4949
"/ip4/1.2.3.4/tcp/33334",
5050
"/ip4/1.2.3.4/tcp/33335",
51-
"/ip4/1.2.3.4/udp/4002/quic",
51+
"/ip4/1.2.3.4/udp/4002/quic-v1",
5252
)
5353
clean := makeAddrList(
5454
"/ip4/1.2.3.4/tcp/4001",
55-
"/ip4/1.2.3.4/udp/4002/quic",
55+
"/ip4/1.2.3.4/udp/4002/quic-v1",
5656
)
5757
require.ElementsMatch(t, clean, cleanupAddressSet(addrs), "cleaned up set doesn't match expected")
5858
})
@@ -75,7 +75,7 @@ func TestCleanupAddrs(t *testing.T) {
7575
// test with a squeaky clean address set
7676
addrs := makeAddrList(
7777
"/ip4/1.2.3.4/tcp/4001",
78-
"/ip4/1.2.3.4/udp/4001/quic",
78+
"/ip4/1.2.3.4/udp/4001/quic-v1",
7979
)
8080
require.ElementsMatch(t, addrs, cleanupAddressSet(addrs), "cleaned up set doesn't match expected")
8181
})

p2p/net/swarm/dial_ranker_test.go

Lines changed: 20 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ func sortAddrDelays(addrDelays []network.AddrDelay) {
2020
}
2121

2222
func TestNoDelayDialRanker(t *testing.T) {
23-
q1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic")
23+
q1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1")
2424
q1v1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1")
2525
wt1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1/webtransport/")
26-
q2 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic")
26+
q2 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic-v1")
2727
q2v1 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic-v1")
28-
q3 := ma.StringCast("/ip4/1.2.3.4/udp/3/quic")
28+
q3 := ma.StringCast("/ip4/1.2.3.4/udp/3/quic-v1")
2929
q3v1 := ma.StringCast("/ip4/1.2.3.4/udp/3/quic-v1")
30-
q4 := ma.StringCast("/ip4/1.2.3.4/udp/4/quic")
30+
q4 := ma.StringCast("/ip4/1.2.3.4/udp/4/quic-v1")
3131
t1 := ma.StringCast("/ip4/1.2.3.5/tcp/1/")
3232

3333
testCase := []struct {
@@ -70,14 +70,10 @@ func TestNoDelayDialRanker(t *testing.T) {
7070
}
7171

7272
func TestDelayRankerQUICDelay(t *testing.T) {
73-
q1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic")
7473
q1v1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1")
7574
wt1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1/webtransport/")
76-
q2 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic")
7775
q2v1 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic-v1")
78-
q3 := ma.StringCast("/ip4/1.2.3.4/udp/3/quic")
7976
q3v1 := ma.StringCast("/ip4/1.2.3.4/udp/3/quic-v1")
80-
q4 := ma.StringCast("/ip4/1.2.3.4/udp/4/quic")
8177

8278
q1v16 := ma.StringCast("/ip6/1::2/udp/1/quic-v1")
8379
q2v16 := ma.StringCast("/ip6/1::2/udp/2/quic-v1")
@@ -90,12 +86,11 @@ func TestDelayRankerQUICDelay(t *testing.T) {
9086
}{
9187
{
9288
name: "quic-ipv4",
93-
addrs: []ma.Multiaddr{q1, q2, q3, q4},
89+
addrs: []ma.Multiaddr{q1v1, q2v1, q3v1},
9490
output: []network.AddrDelay{
95-
{Addr: q1, Delay: 0},
96-
{Addr: q2, Delay: PublicQUICDelay},
97-
{Addr: q3, Delay: PublicQUICDelay},
98-
{Addr: q4, Delay: PublicQUICDelay},
91+
{Addr: q1v1, Delay: 0},
92+
{Addr: q2v1, Delay: PublicQUICDelay},
93+
{Addr: q3v1, Delay: PublicQUICDelay},
9994
},
10095
},
10196
{
@@ -109,37 +104,29 @@ func TestDelayRankerQUICDelay(t *testing.T) {
109104
},
110105
{
111106
name: "quic-ip4-ip6",
112-
addrs: []ma.Multiaddr{q1, q1v16, q2v1, q3, q4},
107+
addrs: []ma.Multiaddr{q1v16, q2v1},
113108
output: []network.AddrDelay{
114109
{Addr: q1v16, Delay: 0},
115110
{Addr: q2v1, Delay: PublicQUICDelay},
116-
{Addr: q1, Delay: 2 * PublicQUICDelay},
117-
{Addr: q3, Delay: 2 * PublicQUICDelay},
118-
{Addr: q4, Delay: 2 * PublicQUICDelay},
119111
},
120112
},
121113
{
122114
name: "quic-quic-v1-webtransport",
123-
addrs: []ma.Multiaddr{q1v16, q1, q2, q3, q4, q1v1, q2v1, q3v1, wt1},
115+
addrs: []ma.Multiaddr{q1v16, q1v1, q2v1, q3v1, wt1},
124116
output: []network.AddrDelay{
125117
{Addr: q1v16, Delay: 0},
126118
{Addr: q1v1, Delay: PublicQUICDelay},
127119
{Addr: q2v1, Delay: 2 * PublicQUICDelay},
128120
{Addr: q3v1, Delay: 2 * PublicQUICDelay},
129-
{Addr: q1, Delay: 2 * PublicQUICDelay},
130-
{Addr: q2, Delay: 2 * PublicQUICDelay},
131-
{Addr: q3, Delay: 2 * PublicQUICDelay},
132-
{Addr: q4, Delay: 2 * PublicQUICDelay},
133121
{Addr: wt1, Delay: 2 * PublicQUICDelay},
134122
},
135123
},
136124
{
137125
name: "wt-ranking",
138-
addrs: []ma.Multiaddr{q1v16, q2v16, q3v16, q2, wt1},
126+
addrs: []ma.Multiaddr{q1v16, q2v16, q3v16, wt1},
139127
output: []network.AddrDelay{
140128
{Addr: q1v16, Delay: 0},
141-
{Addr: q2, Delay: PublicQUICDelay},
142-
{Addr: wt1, Delay: 2 * PublicQUICDelay},
129+
{Addr: wt1, Delay: PublicQUICDelay},
143130
{Addr: q2v16, Delay: 2 * PublicQUICDelay},
144131
{Addr: q3v16, Delay: 2 * PublicQUICDelay},
145132
},
@@ -164,11 +151,8 @@ func TestDelayRankerQUICDelay(t *testing.T) {
164151
}
165152

166153
func TestDelayRankerTCPDelay(t *testing.T) {
167-
q1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic")
168154
q1v1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1")
169-
q2 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic")
170155
q2v1 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic-v1")
171-
q3 := ma.StringCast("/ip4/1.2.3.4/udp/3/quic")
172156

173157
q1v16 := ma.StringCast("/ip6/1::2/udp/1/quic-v1")
174158
q2v16 := ma.StringCast("/ip6/1::2/udp/2/quic-v1")
@@ -185,11 +169,10 @@ func TestDelayRankerTCPDelay(t *testing.T) {
185169
}{
186170
{
187171
name: "quic-with-tcp-ip6-ip4",
188-
addrs: []ma.Multiaddr{q1, q1v1, q1v16, q2v16, q3v16, q2v1, t1, t2},
172+
addrs: []ma.Multiaddr{q1v1, q1v16, q2v16, q3v16, q2v1, t1, t2},
189173
output: []network.AddrDelay{
190174
{Addr: q1v16, Delay: 0},
191175
{Addr: q1v1, Delay: PublicQUICDelay},
192-
{Addr: q1, Delay: 2 * PublicQUICDelay},
193176
{Addr: q2v16, Delay: 2 * PublicQUICDelay},
194177
{Addr: q3v16, Delay: 2 * PublicQUICDelay},
195178
{Addr: q2v1, Delay: 2 * PublicQUICDelay},
@@ -199,14 +182,12 @@ func TestDelayRankerTCPDelay(t *testing.T) {
199182
},
200183
{
201184
name: "quic-ip4-with-tcp",
202-
addrs: []ma.Multiaddr{q1, q2, q3, t1, t2, t1v6},
185+
addrs: []ma.Multiaddr{q1v1, t1, t2, t1v6},
203186
output: []network.AddrDelay{
204-
{Addr: q1, Delay: 0},
205-
{Addr: q2, Delay: PublicQUICDelay},
206-
{Addr: q3, Delay: PublicQUICDelay},
207-
{Addr: t1, Delay: PublicQUICDelay + PublicTCPDelay},
208-
{Addr: t2, Delay: PublicQUICDelay + PublicTCPDelay},
209-
{Addr: t1v6, Delay: PublicQUICDelay + PublicTCPDelay},
187+
{Addr: q1v1, Delay: 0},
188+
{Addr: t1, Delay: PublicTCPDelay},
189+
{Addr: t2, Delay: PublicTCPDelay},
190+
{Addr: t1v6, Delay: PublicTCPDelay},
210191
},
211192
},
212193
{
@@ -238,8 +219,8 @@ func TestDelayRankerTCPDelay(t *testing.T) {
238219
}
239220

240221
func TestDelayRankerRelay(t *testing.T) {
241-
q1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic")
242-
q2 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic")
222+
q1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1")
223+
q2 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic-v1")
243224

244225
pid := test.RandPeerIDFatal(t)
245226
r1 := ma.StringCast(fmt.Sprintf("/ip4/1.2.3.4/tcp/1/p2p-circuit/p2p/%s", pid))

p2p/net/swarm/dial_worker_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func makeSwarm(t *testing.T) *Swarm {
6161
t.Fatal(err)
6262
}
6363

64-
if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic")); err != nil {
64+
if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1")); err != nil {
6565
t.Fatal(err)
6666
}
6767

@@ -234,7 +234,7 @@ func TestDialWorkerLoopFailure(t *testing.T) {
234234

235235
_, p2 := newPeer(t)
236236

237-
s1.Peerstore().AddAddrs(p2, []ma.Multiaddr{ma.StringCast("/ip4/11.0.0.1/tcp/1234"), ma.StringCast("/ip4/11.0.0.1/udp/1234/quic")}, peerstore.PermanentAddrTTL)
237+
s1.Peerstore().AddAddrs(p2, []ma.Multiaddr{ma.StringCast("/ip4/11.0.0.1/tcp/1234"), ma.StringCast("/ip4/11.0.0.1/udp/1234/quic-v1")}, peerstore.PermanentAddrTTL)
238238

239239
reqch := make(chan dialRequest)
240240
resch := make(chan dialResponse)
@@ -259,7 +259,7 @@ func TestDialWorkerLoopConcurrentFailure(t *testing.T) {
259259

260260
_, p2 := newPeer(t)
261261

262-
s1.Peerstore().AddAddrs(p2, []ma.Multiaddr{ma.StringCast("/ip4/11.0.0.1/tcp/1234"), ma.StringCast("/ip4/11.0.0.1/udp/1234/quic")}, peerstore.PermanentAddrTTL)
262+
s1.Peerstore().AddAddrs(p2, []ma.Multiaddr{ma.StringCast("/ip4/11.0.0.1/tcp/1234"), ma.StringCast("/ip4/11.0.0.1/udp/1234/quic-v1")}, peerstore.PermanentAddrTTL)
263263

264264
reqch := make(chan dialRequest)
265265
worker := newDialWorker(s1, p2, reqch, nil)
@@ -307,7 +307,7 @@ func TestDialWorkerLoopConcurrentMix(t *testing.T) {
307307
defer s2.Close()
308308

309309
s1.Peerstore().AddAddrs(s2.LocalPeer(), s2.ListenAddresses(), peerstore.PermanentAddrTTL)
310-
s1.Peerstore().AddAddrs(s2.LocalPeer(), []ma.Multiaddr{ma.StringCast("/ip4/11.0.0.1/tcp/1234"), ma.StringCast("/ip4/11.0.0.1/udp/1234/quic")}, peerstore.PermanentAddrTTL)
310+
s1.Peerstore().AddAddrs(s2.LocalPeer(), []ma.Multiaddr{ma.StringCast("/ip4/11.0.0.1/tcp/1234"), ma.StringCast("/ip4/11.0.0.1/udp/1234/quic-v1")}, peerstore.PermanentAddrTTL)
311311

312312
reqch := make(chan dialRequest)
313313
worker := newDialWorker(s1, s2.LocalPeer(), reqch, nil)
@@ -917,7 +917,7 @@ func TestDialWorkerLoopQuicOverTCP(t *testing.T) {
917917
tc := schedulingTestCase{
918918
input: []timedDial{
919919
{
920-
addr: ma.StringCast("/ip4/127.0.0.1/udp/20000/quic"),
920+
addr: ma.StringCast("/ip4/127.0.0.1/udp/20000/quic-v1"),
921921
delay: 0,
922922
success: true,
923923
},

p2p/net/swarm/swarm_addr_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func TestDialAddressSelection(t *testing.T) {
100100
require.NoError(t, s.AddTransport(circuitTr))
101101

102102
require.Equal(t, tcpTr, s.TransportForDialing(ma.StringCast("/ip4/127.0.0.1/tcp/1234")))
103-
require.Equal(t, quicTr, s.TransportForDialing(ma.StringCast("/ip4/127.0.0.1/udp/1234/quic")))
103+
require.Equal(t, quicTr, s.TransportForDialing(ma.StringCast("/ip4/127.0.0.1/udp/1234/quic-v1")))
104104
require.Equal(t, circuitTr, s.TransportForDialing(ma.StringCast(fmt.Sprintf("/ip4/127.0.0.1/udp/1234/quic/p2p-circuit/p2p/%s", id))))
105105
require.Equal(t, webtransportTr, s.TransportForDialing(ma.StringCast(fmt.Sprintf("/ip4/127.0.0.1/udp/1234/quic-v1/webtransport/certhash/%s", certHash))))
106106
require.Nil(t, s.TransportForDialing(ma.StringCast("/ip4/1.2.3.4")))

p2p/net/swarm/swarm_dial_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -263,15 +263,15 @@ func TestAddrResolutionRecursive(t *testing.T) {
263263
}
264264

265265
func TestAddrsForDialFiltering(t *testing.T) {
266-
q1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic")
266+
q1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1")
267267
q1v1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1")
268268
wt1 := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1/webtransport/")
269269

270-
q2 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic")
270+
q2 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic-v1")
271271
q2v1 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic-v1")
272272
wt2 := ma.StringCast("/ip4/1.2.3.4/udp/2/quic-v1/webtransport/")
273273

274-
q3 := ma.StringCast("/ip4/1.2.3.4/udp/3/quic")
274+
q3 := ma.StringCast("/ip4/1.2.3.4/udp/3/quic-v1")
275275

276276
t1 := ma.StringCast("/ip4/1.2.3.4/tcp/1")
277277
ws1 := ma.StringCast("/ip4/1.2.3.4/tcp/1/ws")

p2p/net/swarm/swarm_metrics_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ func BenchmarkMetricsConnOpen(b *testing.B) {
2929
}
3030
_, pub, err := crypto.GenerateEd25519Key(rand.Reader)
3131
require.NoError(b, err)
32-
quicAddr := ma.StringCast("/ip4/1.2.3.4/udp/1/quic")
32+
quicAddr := ma.StringCast("/ip4/1.2.3.4/udp/1/quic-v1")
3333
tcpAddr := ma.StringCast("/ip4/1.2.3.4/tcp/1/")
3434
tr := NewMetricsTracer()
3535
for i := 0; i < b.N; i++ {

p2p/net/swarm/swarm_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ func TestTypedNilConn(t *testing.T) {
390390

391391
func TestPreventDialListenAddr(t *testing.T) {
392392
s := GenSwarm(t, OptDialOnly)
393-
if err := s.Listen(ma.StringCast("/ip4/0.0.0.0/udp/0/quic")); err != nil {
393+
if err := s.Listen(ma.StringCast("/ip4/0.0.0.0/udp/0/quic-v1")); err != nil {
394394
t.Fatal(err)
395395
}
396396
addrs, err := s.InterfaceListenAddresses()

p2p/net/swarm/testing/testing.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ func GenSwarm(t *testing.T, opts ...Option) *swarm.Swarm {
187187
t.Fatal(err)
188188
}
189189
if !cfg.dialOnly {
190-
if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic")); err != nil {
190+
if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1")); err != nil {
191191
t.Fatal(err)
192192
}
193193
}

0 commit comments

Comments
 (0)