Ban and unban peers at the swarm level (#3653)
## Issue Addressed I missed this from https://github.com/sigp/lighthouse/pull/3491. peers were being banned at the behaviour level only. The identify errors are explained by this as well ## Proposed Changes Add banning and unbanning ## Additional Info Befor,e having tests that catch this was hard because the swarm was outside the behaviour. We could now have tests that prevent something like this in the future
This commit is contained in:
parent
dbb93cd0d2
commit
3a5888e53d
@ -1342,10 +1342,12 @@ impl<AppReqId: ReqId, TSpec: EthSpec> Network<AppReqId, TSpec> {
|
|||||||
Some(NetworkEvent::PeerDisconnected(peer_id))
|
Some(NetworkEvent::PeerDisconnected(peer_id))
|
||||||
}
|
}
|
||||||
PeerManagerEvent::Banned(peer_id, associated_ips) => {
|
PeerManagerEvent::Banned(peer_id, associated_ips) => {
|
||||||
|
self.swarm.ban_peer_id(peer_id);
|
||||||
self.discovery_mut().ban_peer(&peer_id, associated_ips);
|
self.discovery_mut().ban_peer(&peer_id, associated_ips);
|
||||||
Some(NetworkEvent::PeerBanned(peer_id))
|
Some(NetworkEvent::PeerBanned(peer_id))
|
||||||
}
|
}
|
||||||
PeerManagerEvent::UnBanned(peer_id, associated_ips) => {
|
PeerManagerEvent::UnBanned(peer_id, associated_ips) => {
|
||||||
|
self.swarm.unban_peer_id(peer_id);
|
||||||
self.discovery_mut().unban_peer(&peer_id, associated_ips);
|
self.discovery_mut().unban_peer(&peer_id, associated_ips);
|
||||||
Some(NetworkEvent::PeerUnbanned(peer_id))
|
Some(NetworkEvent::PeerUnbanned(peer_id))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user