tor-netdoc: Overhaul RelayFlags, and provide for conditionally retaining unknown info

Merge request reports

Loading
+3 −2
Changes for crates/tor-circmgr/src/path/hspath.rs: 3 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -422,7 +422,8 @@ mod test {

    use tor_linkspec::{ChannelMethod, OwnedCircTarget};
    use tor_netdir::{NetDirProvider, testnet::NodeBuilders, testprovider::TestNetDirProvider};
    use tor_netdoc::doc::netstatus::{RelayFlags, RelayWeight};
    use tor_netdoc::doc::netstatus::RelayWeight;
    use tor_netdoc::types::relay_flags::RelayFlags;
    use tor_rtmock::MockRuntime;

    #[cfg(all(feature = "vanguards", feature = "hs-common"))]
@@ -448,7 +449,7 @@ mod test {
            if !nb.omit_rs {
                let f = RelayFlags::RUNNING
                    | RelayFlags::VALID
                    | RelayFlags::V2DIR
                    | RelayFlags::V2_DIR
                    | RelayFlags::FAST
                    | RelayFlags::STABLE;
                nb.rs.set_flags(f | RelayFlags::GUARD);
+1 −1
Changes for crates/tor-circmgr/src/usage.rs: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -684,7 +684,7 @@ pub(crate) mod test {
    #[test]
    fn exit_policy() {
        use tor_netdir::testnet::construct_custom_netdir;
        use tor_netdoc::doc::netstatus::RelayFlags;
        use tor_netdoc::types::relay_flags::RelayFlags;

        let network = construct_custom_netdir(|idx, nb, _| {
            if (0x21..0x27).contains(&idx) {
+2 −1
Changes for crates/tor-guardmgr/src/sample.rs: 2 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -1031,7 +1031,8 @@ mod test {
    //! <!-- @@ end test lint list maintained by maint/add_warning @@ -->
    use tor_linkspec::{HasRelayIds, RelayIdType};
    use tor_netdir::NetDir;
    use tor_netdoc::doc::netstatus::{RelayFlags, RelayWeight};
    use tor_netdoc::doc::netstatus::RelayWeight;
    use tor_netdoc::types::relay_flags::RelayFlags;

    use super::*;
    use crate::FirstHopId;
+1 −1
Changes for crates/tor-netdir/src/lib.rs: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -2581,7 +2581,7 @@ mod test {
    fn test_badexit() {
        // make a netdir where relays 10-19 are badexit, and everybody
        // exits to 443 on IPv6.
        use tor_netdoc::doc::netstatus::RelayFlags;
        use tor_netdoc::types::relay_flags::RelayFlags;
        let netdir = construct_custom_netdir(|pos, nb, _| {
            if (10..20).contains(&pos) {
                nb.rs.add_flags(RelayFlags::BAD_EXIT);
+4 −4
Changes for crates/tor-netdir/src/testnet.rs: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -19,9 +19,9 @@ use std::time::{Duration, SystemTime};
#[cfg(feature = "geoip")]
use tor_geoip::GeoipDb;
use tor_netdoc::doc::microdesc::{Microdesc, MicrodescBuilder};
use tor_netdoc::doc::netstatus::{Lifetime, MdRouterStatusBuilder, RelayFlags, RelayWeight};
use tor_netdoc::doc::netstatus::{Lifetime, MdRouterStatusBuilder, RelayWeight};
use tor_netdoc::doc::netstatus::{MdConsensus, MdConsensusBuilder};

use tor_netdoc::types::relay_flags::RelayFlags;
pub use tor_netdoc::{BuildError, BuildResult};

/// A set of builder objects for a single node.
@@ -189,12 +189,12 @@ where
{
    let f = RelayFlags::RUNNING
        | RelayFlags::VALID
        | RelayFlags::V2DIR
        | RelayFlags::V2_DIR
        | RelayFlags::FAST
        | RelayFlags::STABLE;
    // define 4 groups of flags
    let flags = [
        f | RelayFlags::HSDIR,
        f | RelayFlags::H_S_DIR,
        f | RelayFlags::EXIT,
        f | RelayFlags::GUARD,
        f | RelayFlags::EXIT | RelayFlags::GUARD,
Loading
Loading