Skip to content

Commit 6e684b7

Browse files
committed
dont' share port with quic
1 parent 29f2fa4 commit 6e684b7

File tree

2 files changed

+3
-37
lines changed

2 files changed

+3
-37
lines changed

p2p/net/swarm/swarm_dial_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -411,5 +411,5 @@ func TestSkipDialingManyDNS(t *testing.T) {
411411

412412
resolved := s.resolveAddrs(context.Background(), peer.AddrInfo{ID: id, Addrs: []ma.Multiaddr{addr}})
413413
require.NoError(t, err)
414-
require.Less(t, len(resolved), 3)
414+
require.Less(t, len(resolved), 3, "got: %v", resolved)
415415
}

p2p/net/swarm/testing/testing.go

+2-36
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import (
2929
libp2pwebtransport "github.com/libp2p/go-libp2p/p2p/transport/webtransport"
3030

3131
ma "github.com/multiformats/go-multiaddr"
32-
manet "github.com/multiformats/go-multiaddr/net"
3332
"github.com/quic-go/quic-go"
3433
"github.com/stretchr/testify/require"
3534
)
@@ -191,7 +190,6 @@ func GenSwarm(t testing.TB, opts ...Option) *swarm.Swarm {
191190
}
192191
}
193192
}
194-
var quicListenAddr ma.Multiaddr
195193
var reuse *quicreuse.ConnManager
196194
if !cfg.disableQUIC {
197195
reuse, err = quicreuse.NewConnManager(quic.StatelessResetKey{}, quic.TokenGeneratorKey{})
@@ -209,12 +207,6 @@ func GenSwarm(t testing.TB, opts ...Option) *swarm.Swarm {
209207
if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1")); err != nil {
210208
t.Fatal(err)
211209
}
212-
for _, a := range s.ListenAddresses() {
213-
if _, err := a.ValueForProtocol(ma.P_QUIC_V1); err == nil {
214-
quicListenAddr = a
215-
break
216-
}
217-
}
218210
}
219211
}
220212
if !cfg.disableWebTransport {
@@ -232,35 +224,13 @@ func GenSwarm(t testing.TB, opts ...Option) *swarm.Swarm {
232224
t.Fatal(err)
233225
}
234226
if !cfg.dialOnly {
235-
listenAddr := ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1/webtransport")
236-
if quicListenAddr != nil {
237-
listenAddr = quicListenAddr.Encapsulate(ma.StringCast("/webtransport"))
238-
}
239-
if err := s.Listen(listenAddr); err != nil {
227+
if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1/webtransport")); err != nil {
240228
t.Fatal(err)
241229
}
242230
}
243231
}
244-
245232
if !cfg.disableWebRTC {
246233
listenUDPFn := func(network string, laddr *net.UDPAddr) (net.PacketConn, error) {
247-
hasQuicAddrPortFor := func(network string, laddr *net.UDPAddr) bool {
248-
quicAddrPorts := map[string]struct{}{}
249-
for _, addr := range s.ListenAddresses() {
250-
if _, err := addr.ValueForProtocol(ma.P_QUIC_V1); err == nil {
251-
netw, addr, err := manet.DialArgs(addr)
252-
if err != nil {
253-
return false
254-
}
255-
quicAddrPorts[netw+"_"+addr] = struct{}{}
256-
}
257-
}
258-
_, ok := quicAddrPorts[network+"_"+laddr.String()]
259-
return ok
260-
}
261-
if hasQuicAddrPortFor(network, laddr) {
262-
return reuse.SharedNonQUICPacketConn(network, laddr)
263-
}
264234
return net.ListenUDP(network, laddr)
265235
}
266236
wrtcTransport, err := libp2pwebrtc.New(priv, nil, cfg.connectionGater, nil, listenUDPFn)
@@ -271,11 +241,7 @@ func GenSwarm(t testing.TB, opts ...Option) *swarm.Swarm {
271241
t.Fatal(err)
272242
}
273243
if !cfg.dialOnly {
274-
listenAddr := ma.StringCast("/ip4/127.0.0.1/udp/0/webrtc-direct")
275-
if quicListenAddr != nil {
276-
listenAddr = quicListenAddr.Decapsulate(ma.StringCast("/quic-v1")).Encapsulate(ma.StringCast("/webrtc-direct"))
277-
}
278-
if err := s.Listen(listenAddr); err != nil {
244+
if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/webrtc-direct")); err != nil {
279245
t.Fatal(err)
280246
}
281247
}

0 commit comments

Comments
 (0)