From 2c1efe22a06b104fb445c4860b4478645a1f43ce Mon Sep 17 00:00:00 2001 From: sukun Date: Wed, 19 Feb 2025 15:52:30 +0530 Subject: [PATCH] dont' share port with quic --- p2p/net/swarm/swarm_dial_test.go | 2 +- p2p/net/swarm/testing/testing.go | 38 ++------------------------------ 2 files changed, 3 insertions(+), 37 deletions(-) diff --git a/p2p/net/swarm/swarm_dial_test.go b/p2p/net/swarm/swarm_dial_test.go index d3586ca5d9..027fafd8cf 100644 --- a/p2p/net/swarm/swarm_dial_test.go +++ b/p2p/net/swarm/swarm_dial_test.go @@ -426,5 +426,5 @@ func TestSkipDialingManyDNS(t *testing.T) { resolved := s.resolveAddrs(context.Background(), peer.AddrInfo{ID: id, Addrs: []ma.Multiaddr{addr}}) require.NoError(t, err) - require.Less(t, len(resolved), 3) + require.Less(t, len(resolved), 3, "got: %v", resolved) } diff --git a/p2p/net/swarm/testing/testing.go b/p2p/net/swarm/testing/testing.go index e0619e0929..50ab398756 100644 --- a/p2p/net/swarm/testing/testing.go +++ b/p2p/net/swarm/testing/testing.go @@ -29,7 +29,6 @@ import ( libp2pwebtransport "github.com/libp2p/go-libp2p/p2p/transport/webtransport" ma "github.com/multiformats/go-multiaddr" - manet "github.com/multiformats/go-multiaddr/net" "github.com/quic-go/quic-go" "github.com/stretchr/testify/require" ) @@ -191,7 +190,6 @@ func GenSwarm(t testing.TB, opts ...Option) *swarm.Swarm { } } } - var quicListenAddr ma.Multiaddr var reuse *quicreuse.ConnManager if !cfg.disableQUIC { reuse, err = quicreuse.NewConnManager(quic.StatelessResetKey{}, quic.TokenGeneratorKey{}) @@ -209,12 +207,6 @@ func GenSwarm(t testing.TB, opts ...Option) *swarm.Swarm { if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1")); err != nil { t.Fatal(err) } - for _, a := range s.ListenAddresses() { - if _, err := a.ValueForProtocol(ma.P_QUIC_V1); err == nil { - quicListenAddr = a - break - } - } } } if !cfg.disableWebTransport { @@ -232,35 +224,13 @@ func GenSwarm(t testing.TB, opts ...Option) *swarm.Swarm { t.Fatal(err) } if !cfg.dialOnly { - listenAddr := ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1/webtransport") - if quicListenAddr != nil { - listenAddr = quicListenAddr.Encapsulate(ma.StringCast("/webtransport")) - } - if err := s.Listen(listenAddr); err != nil { + if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/quic-v1/webtransport")); err != nil { t.Fatal(err) } } } - if !cfg.disableWebRTC { listenUDPFn := func(network string, laddr *net.UDPAddr) (net.PacketConn, error) { - hasQuicAddrPortFor := func(network string, laddr *net.UDPAddr) bool { - quicAddrPorts := map[string]struct{}{} - for _, addr := range s.ListenAddresses() { - if _, err := addr.ValueForProtocol(ma.P_QUIC_V1); err == nil { - netw, addr, err := manet.DialArgs(addr) - if err != nil { - return false - } - quicAddrPorts[netw+"_"+addr] = struct{}{} - } - } - _, ok := quicAddrPorts[network+"_"+laddr.String()] - return ok - } - if hasQuicAddrPortFor(network, laddr) { - return reuse.SharedNonQUICPacketConn(network, laddr) - } return net.ListenUDP(network, laddr) } wrtcTransport, err := libp2pwebrtc.New(priv, nil, cfg.connectionGater, nil, listenUDPFn) @@ -271,11 +241,7 @@ func GenSwarm(t testing.TB, opts ...Option) *swarm.Swarm { t.Fatal(err) } if !cfg.dialOnly { - listenAddr := ma.StringCast("/ip4/127.0.0.1/udp/0/webrtc-direct") - if quicListenAddr != nil { - listenAddr = quicListenAddr.Decapsulate(ma.StringCast("/quic-v1")).Encapsulate(ma.StringCast("/webrtc-direct")) - } - if err := s.Listen(listenAddr); err != nil { + if err := s.Listen(ma.StringCast("/ip4/127.0.0.1/udp/0/webrtc-direct")); err != nil { t.Fatal(err) } }