Skip to content
This repository was archived by the owner on Nov 6, 2020. It is now read-only.

Commit c4af746

Browse files
Andronik Ordiandebris
authored andcommitted
fix(network): don't disconnect reserved peers (#9608)
The priority of && and || was borked.
1 parent 5a1dc3e commit c4af746

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

util/network-devp2p/src/host.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -751,11 +751,14 @@ impl Host {
751751
let max_ingress = max(max_peers - min_peers, min_peers / 2);
752752
if reserved_only ||
753753
(s.info.originated && egress_count > min_peers) ||
754-
(!s.info.originated && ingress_count > max_ingress) && !self.reserved_nodes.read().contains(&id) {
755-
// only proceed if the connecting peer is reserved.
756-
s.disconnect(io, DisconnectReason::TooManyPeers);
757-
kill = true;
758-
break;
754+
(!s.info.originated && ingress_count > max_ingress) {
755+
if !self.reserved_nodes.read().contains(&id) {
756+
// only proceed if the connecting peer is reserved.
757+
trace!(target: "network", "Disconnecting non-reserved peer {:?}", id);
758+
s.disconnect(io, DisconnectReason::TooManyPeers);
759+
kill = true;
760+
break;
761+
}
759762
}
760763

761764
if !self.filter.as_ref().map_or(true, |f| f.connection_allowed(&self_id, &id, ConnectionDirection::Inbound)) {

0 commit comments

Comments
 (0)