Deactivate peers giving us invalid/empty headers
This commit is contained in:
parent
6b12334136
commit
bee3669e9b
@ -319,6 +319,7 @@ impl ChainSync {
|
|||||||
|
|
||||||
/// Remove peer from active peer set
|
/// Remove peer from active peer set
|
||||||
fn deactivate_peer(&mut self, io: &mut SyncIo, peer_id: PeerId) {
|
fn deactivate_peer(&mut self, io: &mut SyncIo, peer_id: PeerId) {
|
||||||
|
trace!(target: "sync", "Deactivating peer {}", peer_id);
|
||||||
self.active_peers.remove(&peer_id);
|
self.active_peers.remove(&peer_id);
|
||||||
if self.active_peers.is_empty() {
|
if self.active_peers.is_empty() {
|
||||||
trace!(target: "sync", "No more active peers");
|
trace!(target: "sync", "No more active peers");
|
||||||
@ -456,6 +457,9 @@ impl ChainSync {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
SyncState::Blocks | SyncState::NewBlocks | SyncState::Waiting => {
|
SyncState::Blocks | SyncState::NewBlocks | SyncState::Waiting => {
|
||||||
|
if headers.len() == 0 {
|
||||||
|
self.deactivate_peer(io, peer_id); // disable the peer for this syncing round if it gives invalid chain
|
||||||
|
}
|
||||||
trace!(target: "sync", "Inserted {} headers", headers.len());
|
trace!(target: "sync", "Inserted {} headers", headers.len());
|
||||||
self.blocks.insert_headers(headers);
|
self.blocks.insert_headers(headers);
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user