diff --git a/src/net/hosts/store.rs b/src/net/hosts/store.rs index f3252f472..0d67da22e 100644 --- a/src/net/hosts/store.rs +++ b/src/net/hosts/store.rs @@ -791,7 +791,8 @@ impl Hosts { trace!(target: "net::hosts:insert()", "[START]"); // First filter these address to ensure this peer doesn't exist in our black, gold or - // whitelist and apply transport filtering. + // whitelist and apply transport filtering. If we don't support this transport, + // store the peer on our dark list to broadcast to other nodes. let filtered_addrs = self.filter_addresses(self.settings.clone(), addrs).await; let mut addrs_len = 0; @@ -989,7 +990,7 @@ impl Hosts { settings: SettingsPtr, addrs: &[(Url, u64)], ) -> Vec<(Url, u64)> { - trace!(target: "net::hosts::filter_addresses()", "Filtering addrs: {:?}", addrs); + debug!(target: "net::hosts::filter_addresses()", "Filtering addrs: {:?}", addrs); let mut ret = vec![]; let localnet = self.settings.localnet; @@ -1000,6 +1001,8 @@ impl Hosts { addr_.cannot_be_a_base() || addr_.path_segments().is_some() { + debug!(target: "net::hosts::filter_addresses()", + "[{}] has invalid addr format. Skipping", addr_); continue } @@ -1013,7 +1016,7 @@ impl Hosts { // Blacklist peers should never enter the hostlist. if self.container.contains(HostColor::Black as usize, addr_).await { warn!(target: "net::hosts::filter_addresses()", - "Peer {} is blacklisted", addr_); + "[{}] is blacklisted", addr_); continue } @@ -1023,14 +1026,19 @@ impl Hosts { // Our own external addresses should never enter the hosts set. for ext in &settings.external_addrs { if host_str == ext.host_str().unwrap() { + debug!(target: "net::hosts::filter_addresses()", + "[{}] is our own external addr. Skipping", addr_); continue 'addr_loop } } - } - // On localnet, make sure ours ports don't enter the host set. - for ext in &settings.external_addrs { - if addr_.port() == ext.port() { - continue 'addr_loop + } else { + // On localnet, make sure ours ports don't enter the host set. + for ext in &settings.external_addrs { + if addr_.port() == ext.port() { + debug!(target: "net::hosts::filter_addresses()", + "[{}] is our own localnet port. Skipping", addr_); + continue 'addr_loop + } } } @@ -1042,6 +1050,8 @@ impl Hosts { // Should never be allowed in production, so we don't really care // about some of them (e.g. 0.0.0.0, or broadcast, etc.). if !localnet && self.is_local_host(addr).await { + debug!(target: "net::hosts::filter_addresses()", + "[{}] Filtering non-global ranges", addr_); continue }