From 86db59f53bde217f42ff58af43f993e58594c006 Mon Sep 17 00:00:00 2001 From: tycho garen Date: Fri, 10 Jun 2022 08:49:16 -0400 Subject: [PATCH] fix error message --- internal/p2p/peermanager.go | 5 ++++- internal/p2p/router.go | 12 ++++-------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/internal/p2p/peermanager.go b/internal/p2p/peermanager.go index f1a5a2f9c..73ee9ddbe 100644 --- a/internal/p2p/peermanager.go +++ b/internal/p2p/peermanager.go @@ -409,6 +409,10 @@ func (m *PeerManager) Add(address NodeAddress) (bool, error) { return false, nil } + // set the peer's mutable score to something non-zero so that + // peer's we've never + peer.MutableScore = 256 + // else add the new address peer.AddressInfo[address] = &peerAddressInfo{Address: address} if err := m.store.Set(peer); err != nil { @@ -839,7 +843,6 @@ func (m *PeerManager) Advertise(peerID types.NodeID, limit uint16) []NodeAddress } for nodeAddr, addressInfo := range peer.AddressInfo { - if len(addresses) >= int(limit) { return addresses } diff --git a/internal/p2p/router.go b/internal/p2p/router.go index 167936a34..e1f0f6ea6 100644 --- a/internal/p2p/router.go +++ b/internal/p2p/router.go @@ -722,14 +722,6 @@ func (r *Router) handshakePeer( return peerInfo, fmt.Errorf("invalid handshake NodeInfo: %w", err) } - if peerInfo.Network != nodeInfo.Network { - if err := r.peerManager.Inactivate(peerInfo.NodeID); err != nil { - return peerInfo, fmt.Errorf("problem removing peer from store from incorrect network [%s]: %w", peerInfo.Network, err) - } - - return peerInfo, fmt.Errorf("connected to peer from wrong network, %q, removed from peer store", peerInfo.Network) - } - if types.NodeIDFromPubKey(peerKey) != peerInfo.NodeID { return peerInfo, fmt.Errorf("peer's public key did not match its node ID %q (expected %q)", peerInfo.NodeID, types.NodeIDFromPubKey(peerKey)) @@ -740,6 +732,10 @@ func (r *Router) handshakePeer( } if err := nodeInfo.CompatibleWith(peerInfo); err != nil { + if err := r.peerManager.Inactivate(peerInfo.NodeID); err != nil { + return peerInfo, fmt.Errorf("problem inactivating peer %q: %w", peerInfo.ID(), err) + } + return peerInfo, ErrRejected{ err: err, id: peerInfo.ID(),