diff --git a/client/rpc/swarm.go b/client/rpc/swarm.go index d54d06604e8..87e535a5c19 100644 --- a/client/rpc/swarm.go +++ b/client/rpc/swarm.go @@ -21,7 +21,7 @@ func (api *SwarmAPI) Connect(ctx context.Context, pi peer.AddrInfo) error { saddrs := make([]string, len(pi.Addrs)) for i, addr := range pi.Addrs { - saddrs[i] = addr.Encapsulate(pidma).String() + saddrs[i] = addr.EncapsulateC(pidma).String() } return api.core().Request("swarm/connect", saddrs...).Exec(ctx, nil) diff --git a/cmd/ipfs/kubo/daemon.go b/cmd/ipfs/kubo/daemon.go index 0615b26d318..ceb1928efd2 100644 --- a/cmd/ipfs/kubo/daemon.go +++ b/cmd/ipfs/kubo/daemon.go @@ -816,9 +816,9 @@ func rewriteMaddrToUseLocalhostIfItsAny(maddr ma.Multiaddr) ma.Multiaddr { first, rest := ma.SplitFirst(maddr) switch { - case first.Equal(manet.IP4Unspecified): + case first.Equal(manet.IP4Unspecified[0]): return manet.IP4Loopback.Encapsulate(rest) - case first.Equal(manet.IP6Unspecified): + case first.Equal(manet.IP6Unspecified[0]): return manet.IP6Loopback.Encapsulate(rest) default: return maddr // not ip diff --git a/core/commands/bootstrap.go b/core/commands/bootstrap.go index decf2b27167..0496fc16255 100644 --- a/core/commands/bootstrap.go +++ b/core/commands/bootstrap.go @@ -301,7 +301,7 @@ func bootstrapAdd(r repo.Repo, cfg *config.Config, peers []string) ([]string, er return nil, err } tpt, p2ppart := ma.SplitLast(m) - if p2ppart == nil || p2ppart.Protocol().Code != ma.P_P2P { + if p2ppart.Empty() || p2ppart.Protocol().Code != ma.P_P2P { return nil, fmt.Errorf("invalid bootstrap address: %s", p) } if tpt == nil { diff --git a/core/commands/swarm.go b/core/commands/swarm.go index 252c48d334e..595e413647b 100644 --- a/core/commands/swarm.go +++ b/core/commands/swarm.go @@ -807,7 +807,7 @@ func resolveAddresses(ctx context.Context, addrs []string, rslv *madns.Resolver) // filter out addresses that still doesn't end in `ipfs/Qm...` found := 0 for _, raddr := range raddrs { - if _, last := ma.SplitLast(raddr); last != nil && last.Protocol().Code == ma.P_IPFS { + if _, last := ma.SplitLast(raddr); !last.Empty() && last.Protocol().Code == ma.P_IPFS { maddrC <- raddr found++ } diff --git a/test/cli/harness/node.go b/test/cli/harness/node.go index af389e0baf9..db242a569f4 100644 --- a/test/cli/harness/node.go +++ b/test/cli/harness/node.go @@ -486,7 +486,7 @@ func (n *Node) SwarmAddrsWithPeerIDs() []multiaddr.Multiaddr { if err != nil { panic(err) } - ma = ma.Encapsulate(comp) + ma = ma.EncapsulateC(comp) } addrs = append(addrs, ma) } @@ -496,15 +496,15 @@ func (n *Node) SwarmAddrsWithPeerIDs() []multiaddr.Multiaddr { func (n *Node) SwarmAddrsWithoutPeerIDs() []multiaddr.Multiaddr { var addrs []multiaddr.Multiaddr for _, ma := range n.SwarmAddrs() { - var components []multiaddr.Multiaddr + var components []multiaddr.Component multiaddr.ForEach(ma, func(c multiaddr.Component) bool { if c.Protocol().Code == multiaddr.P_IPFS { return true } - components = append(components, &c) + components = append(components, c) return true }) - ma = multiaddr.Join(components...) + ma = multiaddr.JoinComponents(components...) addrs = append(addrs, ma) } return addrs