From 091f7b7e986d05381718e2aeed2497c55dd0179a Mon Sep 17 00:00:00 2001 From: cloudhead Date: Mon, 26 Feb 2024 13:42:06 +0100 Subject: [PATCH] node: Don't limit LAN addresses These are defacto trusted. --- radicle-node/src/service/limitter.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/radicle-node/src/service/limitter.rs b/radicle-node/src/service/limitter.rs index 57995987..ad30afb6 100644 --- a/radicle-node/src/service/limitter.rs +++ b/radicle-node/src/service/limitter.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use localtime::LocalTime; -use radicle::node::{config, HostName}; +use radicle::node::{address, config, HostName}; /// Peer rate limitter. /// @@ -21,6 +21,12 @@ impl RateLimiter { /// Supplying a different amount of tokens per address is useful if for eg. a peer /// is outbound vs. inbound. pub fn limit(&mut self, addr: HostName, tokens: &T, now: LocalTime) -> bool { + if let HostName::Ip(ip) = addr { + // Don't limit LAN addresses. + if !address::is_routable(&ip) { + return false; + } + } !self .buckets .entry(addr)