fix(swarm): catch cases where we fail to resolve an address to a peer
License: MIT Signed-off-by: Steven Allen <steven@stebalien.com>
Steven Allen committed
Mar 18, 2019 at 19:03 UTC
1cc8c3a17e747376d1c8b0de04a6737dd9fe9877
1 file changed
+5
-5
core/commands/swarm.go
+5
-5
@@ -529,17 +529,17 @@ func resolveAddresses(ctx context.Context, addrs []string) ([]ma.Multiaddr, erro
529
resolveErrC <- err
530
return
531
}
532
- if len(raddrs) == 0 {
533
- resolveErrC <- fmt.Errorf("non-resolvable multiaddr about %v", maddr)
534
- return
535
- }
532
// filter out addresses that still doesn't end in `ipfs/Qm...`
533
+ found := 0
534
for _, raddr := range raddrs {
535
if _, last := ma.SplitLast(raddr); last.Protocol().Code == ma.P_IPFS {
536
maddrC <- raddr
540
- continue
537
+ found++
538
}
539
}
540
+ if found == 0 {
541
+ resolveErrC <- fmt.Errorf("non-resolvable multiaddr about %v", maddr)
542
+ }
543
}(maddr)
544
}
545
go func() {