mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
net: only remove peer from hostlist after the configured quarantine limit
This commit is contained in:
@@ -655,14 +655,13 @@ impl Hosts {
|
||||
/// If they've been quarantined for more than a configured limit, forget them.
|
||||
pub async fn quarantine(&self, url: &Url) {
|
||||
debug!(target: "store::remove()", "Quarantining peer {}", url);
|
||||
// Remove from the entire hosts set
|
||||
self.remove_host(url).await;
|
||||
|
||||
let mut q = self.quarantine.write().await;
|
||||
if let Some(retries) = q.get_mut(url) {
|
||||
*retries += 1;
|
||||
debug!(target: "net::hosts::quarantine()", "Peer {} quarantined {} times", url, retries);
|
||||
if *retries == self.settings.hosts_quarantine_limit {
|
||||
debug!(target: "net::hosts::quarantine()", "Removing from hostlist {}", url);
|
||||
self.remove_host(url).await;
|
||||
debug!(target: "net::hosts::quarantine()", "Banning peer {}", url);
|
||||
q.remove(url);
|
||||
self.mark_rejected(url).await;
|
||||
|
||||
Reference in New Issue
Block a user