diff --git a/Cargo.lock b/Cargo.lock index 6ca499168..c4b5e39fe 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3361,6 +3361,7 @@ dependencies = [ "tor-consdiff", "tor-dirclient", "tor-error", + "tor-guardmgr", "tor-llcrypto", "tor-netdir", "tor-netdoc", diff --git a/crates/tor-circmgr/src/lib.rs b/crates/tor-circmgr/src/lib.rs index 26cd7a866..4ce22098c 100644 --- a/crates/tor-circmgr/src/lib.rs +++ b/crates/tor-circmgr/src/lib.rs @@ -51,7 +51,8 @@ #![deny(clippy::unwrap_used)] use tor_chanmgr::ChanMgr; -use tor_netdir::{fallback::FallbackDir, DirEvent, NetDir, NetDirProvider}; +use tor_guardmgr::fallback::FallbackDir; +use tor_netdir::{DirEvent, NetDir, NetDirProvider}; use tor_proto::circuit::{CircParameters, ClientCirc, UniqId}; use tor_rtcompat::Runtime; diff --git a/crates/tor-circmgr/src/mgr.rs b/crates/tor-circmgr/src/mgr.rs index 08ec587d9..5b389d070 100644 --- a/crates/tor-circmgr/src/mgr.rs +++ b/crates/tor-circmgr/src/mgr.rs @@ -1463,7 +1463,7 @@ mod test { const FAKE_CIRC_DELAY: Duration = Duration::from_millis(30); - static DI_EMPTY: [&tor_netdir::fallback::FallbackDir; 0] = []; + static DI_EMPTY: [&tor_guardmgr::fallback::FallbackDir; 0] = []; fn di() -> DirInfo<'static> { DI_EMPTY[..].into() diff --git a/crates/tor-circmgr/src/path.rs b/crates/tor-circmgr/src/path.rs index b02afa40f..58ce26266 100644 --- a/crates/tor-circmgr/src/path.rs +++ b/crates/tor-circmgr/src/path.rs @@ -7,8 +7,9 @@ pub mod dirpath; pub mod exitpath; use tor_error::bad_api_usage; +use tor_guardmgr::fallback::FallbackDir; use tor_linkspec::{OwnedChanTarget, OwnedCircTarget}; -use tor_netdir::{fallback::FallbackDir, Relay}; +use tor_netdir::Relay; use std::convert::TryFrom; diff --git a/crates/tor-circmgr/src/path/dirpath.rs b/crates/tor-circmgr/src/path/dirpath.rs index bae973c38..d153d53d3 100644 --- a/crates/tor-circmgr/src/path/dirpath.rs +++ b/crates/tor-circmgr/src/path/dirpath.rs @@ -72,8 +72,8 @@ mod test { use crate::path::assert_same_path_when_owned; use crate::test::OptDummyGuardMgr; use std::collections::HashSet; + use tor_guardmgr::fallback::FallbackDir; use tor_linkspec::ChanTarget; - use tor_netdir::fallback::FallbackDir; use tor_netdir::testnet; #[test] diff --git a/crates/tor-dirmgr/Cargo.toml b/crates/tor-dirmgr/Cargo.toml index 2778e7791..86c690130 100644 --- a/crates/tor-dirmgr/Cargo.toml +++ b/crates/tor-dirmgr/Cargo.toml @@ -33,6 +33,7 @@ tor-config = { path = "../tor-config", version = "0.1.0" } tor-consdiff = { path = "../tor-consdiff", version = "0.1.0" } tor-dirclient = { path = "../tor-dirclient", version = "0.1.0" } tor-error = { path = "../tor-error", version = "0.1.0" } +tor-guardmgr = { path = "../tor-guardmgr", version = "0.1.0" } tor-netdir = { path = "../tor-netdir", version = "0.1.0" } tor-netdoc = { path = "../tor-netdoc", version = "0.1.0" } tor-llcrypto = { path = "../tor-llcrypto", version = "0.1.0" } diff --git a/crates/tor-dirmgr/src/config.rs b/crates/tor-dirmgr/src/config.rs index ace0024c1..5ddd81942 100644 --- a/crates/tor-dirmgr/src/config.rs +++ b/crates/tor-dirmgr/src/config.rs @@ -12,7 +12,7 @@ use crate::retry::DownloadSchedule; use crate::storage::DynStore; use crate::{Authority, Result}; use tor_config::ConfigBuildError; -use tor_netdir::fallback::FallbackDir; +use tor_guardmgr::fallback::FallbackDir; use tor_netdoc::doc::netstatus; use derive_builder::Builder; @@ -306,8 +306,8 @@ impl DownloadScheduleConfig { /// Helpers for initializing the fallback list. mod fallbacks { + use tor_guardmgr::fallback::FallbackDir; use tor_llcrypto::pk::{ed25519::Ed25519Identity, rsa::RsaIdentity}; - use tor_netdir::fallback::FallbackDir; /// Return a list of the default fallback directories shipped with /// arti. pub(crate) fn default_fallbacks() -> Vec { diff --git a/crates/tor-dirmgr/src/lib.rs b/crates/tor-dirmgr/src/lib.rs index 707d6b3b6..33e732e81 100644 --- a/crates/tor-dirmgr/src/lib.rs +++ b/crates/tor-dirmgr/src/lib.rs @@ -101,7 +101,7 @@ pub use docid::DocId; pub use err::Error; pub use event::{DirBootstrapEvents, DirBootstrapStatus, DirStatus}; pub use storage::DocumentText; -pub use tor_netdir::fallback::{FallbackDir, FallbackDirBuilder}; +pub use tor_guardmgr::fallback::{FallbackDir, FallbackDirBuilder}; /// A Result as returned by this crate. pub type Result = std::result::Result; diff --git a/crates/tor-netdir/src/fallback.rs b/crates/tor-guardmgr/src/fallback.rs similarity index 100% rename from crates/tor-netdir/src/fallback.rs rename to crates/tor-guardmgr/src/fallback.rs diff --git a/crates/tor-guardmgr/src/lib.rs b/crates/tor-guardmgr/src/lib.rs index 8dc75e4d3..11599299b 100644 --- a/crates/tor-guardmgr/src/lib.rs +++ b/crates/tor-guardmgr/src/lib.rs @@ -148,6 +148,7 @@ use tor_persist::{DynStorageHandle, StateMgr}; use tor_rtcompat::Runtime; mod daemon; +pub mod fallback; mod filter; mod guard; mod pending; diff --git a/crates/tor-netdir/src/lib.rs b/crates/tor-netdir/src/lib.rs index 2db0a5982..e0fd9c9e7 100644 --- a/crates/tor-netdir/src/lib.rs +++ b/crates/tor-netdir/src/lib.rs @@ -56,7 +56,6 @@ #![deny(clippy::unwrap_used)] mod err; -pub mod fallback; pub mod params; #[cfg(test)] mod testing; diff --git a/doc/semver_status.md b/doc/semver_status.md index 42603e32e..d1601f5c6 100644 --- a/doc/semver_status.md +++ b/doc/semver_status.md @@ -77,6 +77,14 @@ tor-netdoc: api-break: changed the return type of GenericRouterStatus::version() +tor-netdir: + + api-break: moved FallbackDir to guardmgr. + +tor-guardmgr: + + new-api: moved FallbackDir from netdir. + tor-proto: new-api: ClientCirc path accessors.