Commit 1dbe2b5f authored by Ian Jackson's avatar Ian Jackson
Browse files

tor-netdoc: Temporary conversions between the two DirectorySignatureHashAlgos

Because we have two DirectorySignatureHashAlgo types because of the
macrology problem, we need to introduce temporary conversions, to let
us move code from poc to prod.
parent 6fa4858f
Loading
Loading
Loading
Loading
+20 −0
Original line number Diff line number Diff line
@@ -10,6 +10,8 @@ use doc::netstatus::{ConsensusAuthoritySection, VoteAuthoritySection};
mod ns_per_flavour_macros;
pub use ns_per_flavour_macros::*;

use crate::doc::netstatus::DirectorySignatureHashAlgo as ProdAlgo; // XXXX remove

ns_per_flavour_macros::ns_export_flavoured_types! {
    NetworkStatus, NetworkStatusUnverified, Router,
}
@@ -149,6 +151,24 @@ define_derive_deftly! {
            ) }
        }
    }

    // XXXX we have two DirectorySignatureHashAlgo types, which we, briefly,
    // need to convert between!
    impl From<ProdAlgo> for DirectorySignatureHashAlgo {
        fn from(other: ProdAlgo) -> Self {
            match other { $(
                ProdAlgo::$vname => DirectorySignatureHashAlgo::$vname,
            ) }
        }
    }
    // XXXX
    impl From<DirectorySignatureHashAlgo> for ProdAlgo {
        fn from(other: DirectorySignatureHashAlgo) -> Self {
            match other { $(
                DirectorySignatureHashAlgo::$vname => ProdAlgo::$vname,
            ) }
        }
    }
}

define_directory_signature_hash_algo! {