totpm 0.1.2

A TPM-backed command line TOTP/2FA client, using fprintd for user presence verification.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
use super::{fprintd::FprintdPresenceVerifier, ConstPresenceVerifier, PresenceVerifier, PresenceVerificationMethod};

pub(crate) fn create_presence_verifier(
    method: PresenceVerificationMethod,
    timeout_secs: u8
) -> Box<dyn PresenceVerifier> {
    match method {
        PresenceVerificationMethod::Fprintd => Box::new(FprintdPresenceVerifier::new(timeout_secs)),
        PresenceVerificationMethod::None => Box::new(ConstPresenceVerifier::new(true)),
        #[cfg(test)]
        PresenceVerificationMethod::AlwaysFail => Box::new(ConstPresenceVerifier::new(false))
    }
}