node: Don't always connect to Tor addresses

Only connect if Tor is configured.
This commit is contained in:
Alexis Sellier 2024-05-10 13:38:02 +02:00
parent c5395f0674
commit 930f9b0a7e
No known key found for this signature in database
1 changed files with 6 additions and 1 deletions

View File

@ -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::<Vec<_>>();