mirror of
https://github.com/tendermint/tendermint.git
synced 2026-08-20 22:26:15 +00:00
@@ -432,6 +432,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 {
|
||||
@@ -862,7 +866,6 @@ func (m *PeerManager) Advertise(peerID types.NodeID, limit uint16) []NodeAddress
|
||||
}
|
||||
|
||||
for nodeAddr, addressInfo := range peer.AddressInfo {
|
||||
|
||||
if len(addresses) >= int(limit) {
|
||||
return addresses
|
||||
}
|
||||
|
||||
@@ -837,14 +837,6 @@ func (r *Router) handshakePeer(
|
||||
return peerInfo, peerKey, fmt.Errorf("invalid handshake NodeInfo: %w", err)
|
||||
}
|
||||
|
||||
if peerInfo.Network != r.nodeInfo.Network {
|
||||
if err := r.peerManager.Inactivate(peerInfo.NodeID); err != nil {
|
||||
return peerInfo, peerKey, fmt.Errorf("problem removing peer from store from incorrect network [%s]: %w", peerInfo.Network, err)
|
||||
}
|
||||
|
||||
return peerInfo, peerKey, fmt.Errorf("connected to peer from wrong network, %q, removed from peer store", peerInfo.Network)
|
||||
}
|
||||
|
||||
if types.NodeIDFromPubKey(peerKey) != peerInfo.NodeID {
|
||||
return peerInfo, peerKey, fmt.Errorf("peer's public key did not match its node ID %q (expected %q)",
|
||||
peerInfo.NodeID, types.NodeIDFromPubKey(peerKey))
|
||||
@@ -855,7 +847,11 @@ func (r *Router) handshakePeer(
|
||||
}
|
||||
|
||||
if err := r.nodeInfo.CompatibleWith(peerInfo); err != nil {
|
||||
return peerInfo, peerKey, ErrRejected{
|
||||
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(),
|
||||
isIncompatible: true,
|
||||
|
||||
Reference in New Issue
Block a user