From 930f9b0a7e91f83a031120431db48e74c42cb96a Mon Sep 17 00:00:00 2001 From: Alexis Sellier Date: Fri, 10 May 2024 13:38:02 +0200 Subject: [PATCH] node: Don't always connect to Tor addresses Only connect if Tor is configured. --- radicle-node/src/service.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/radicle-node/src/service.rs b/radicle-node/src/service.rs index 348300c6..396c3404 100644 --- a/radicle-node/src/service.rs +++ b/radicle-node/src/service.rs @@ -24,7 +24,7 @@ use nonempty::NonEmpty; use radicle::node; use radicle::node::address; use radicle::node::address::Store as _; -use radicle::node::address::{AddressBook, KnownAddress}; +use radicle::node::address::{AddressBook, AddressType, KnownAddress}; use radicle::node::config::PeerConfig; use radicle::node::refs::Store as _; use radicle::node::routing::Store as _; @@ -2314,6 +2314,11 @@ where }) .map(|ka| (peer.nid, ka)) }) + .filter(|(_, ka)| match AddressType::from(&ka.addr) { + // Only consider Tor addresses if Tor is configured. + AddressType::Onion => self.config.tor.is_some(), + AddressType::Dns | AddressType::Ipv4 | AddressType::Ipv6 => true, + }) .take(wanted) .collect::>();