From d2611d42d37676514e24b3de9bbbb05731edb537 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Thu, 18 Apr 2019 00:32:48 -0700 Subject: [PATCH 1/2] chore: avoid converting addresses to human readable strings License: MIT Signed-off-by: Steven Allen --- core/node/libp2p.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/node/libp2p.go b/core/node/libp2p.go index be1b4861a..df04a3487 100644 --- a/core/node/libp2p.go +++ b/core/node/libp2p.go @@ -198,7 +198,7 @@ func makeAddrsFactory(cfg config.Addresses) (p2pbhost.AddrsFactory, error) { if err != nil { return nil, err } - noAnnAddrs[maddr.String()] = true + noAnnAddrs[string(maddr.Bytes())] = true } return func(allAddrs []ma.Multiaddr) []ma.Multiaddr { @@ -212,7 +212,7 @@ func makeAddrsFactory(cfg config.Addresses) (p2pbhost.AddrsFactory, error) { var out []ma.Multiaddr for _, maddr := range addrs { // check for exact matches - ok := noAnnAddrs[maddr.String()] + ok := noAnnAddrs[string(maddr.Bytes())] // check for /ipcidr matches if !ok && !filters.AddrBlocked(maddr) { out = append(out, maddr) From d83374fd62e6b0b50714cde5b1baa6a33568f275 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Thu, 18 Apr 2019 00:33:53 -0700 Subject: [PATCH 2/2] fix: handle peerstore failure case in constructor License: MIT Signed-off-by: Steven Allen --- core/node/libp2p.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/core/node/libp2p.go b/core/node/libp2p.go index df04a3487..1cd6deca4 100644 --- a/core/node/libp2p.go +++ b/core/node/libp2p.go @@ -84,15 +84,19 @@ var DHTOption RoutingOption = constructDHTRouting var DHTClientOption RoutingOption = constructClientDHTRouting var NilRouterOption RoutingOption = nilrouting.ConstructNilRouting -func Peerstore(id peer.ID, sk crypto.PrivKey) peerstore.Peerstore { +func Peerstore(id peer.ID, sk crypto.PrivKey) (peerstore.Peerstore, error) { ps := pstoremem.NewPeerstore() if sk != nil { - ps.AddPrivKey(id, sk) - ps.AddPubKey(id, sk.GetPublic()) + if err := ps.AddPubKey(id, sk.GetPublic()); err != nil { + return nil, err + } + if err := ps.AddPrivKey(id, sk); err != nil { + return nil, err + } } - return ps + return ps, nil } func P2PAddrFilters(cfg *config.Config) (opts Libp2pOpts, err error) {