From e0a7aa80c5c2b049538d9d333e9ce919a4a56dce Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Sun, 23 Dec 2018 01:39:59 +0100 Subject: Clear both user and admin PIN Currently, we only clear the user PIN if clear is called. This patch changes the clear command to also clear the admin PIN as we will start to use the admin PIN in upcoming patches. --- nitrocli/src/args.rs | 2 +- nitrocli/src/commands.rs | 6 +++--- nitrocli/src/pinentry.rs | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/nitrocli/src/args.rs b/nitrocli/src/args.rs index 07a3e6a..d4c3809 100644 --- a/nitrocli/src/args.rs +++ b/nitrocli/src/args.rs @@ -115,7 +115,7 @@ fn close(args: Vec) -> Result<()> { /// Clear the PIN stored when opening the nitrokey's encrypted volume. fn clear(args: Vec) -> Result<()> { let mut parser = argparse::ArgumentParser::new(); - parser.set_description("Clears the cached passphrase"); + parser.set_description("Clears the cached passphrases"); parse(&parser, args)?; commands::clear() diff --git a/nitrocli/src/commands.rs b/nitrocli/src/commands.rs index 269cafc..b3e71a1 100644 --- a/nitrocli/src/commands.rs +++ b/nitrocli/src/commands.rs @@ -23,8 +23,6 @@ use crate::error::Error; use crate::pinentry; use crate::Result; -const PIN_TYPE: pinentry::PinType = pinentry::PinType::User; - /// Create an `error::Error` with an error message of the format `msg: err`. fn get_error(msg: &str, err: &nitrokey::CommandError) -> Error { Error::Error(format!("{}: {:?}", msg, err)) @@ -198,5 +196,7 @@ pub fn close() -> Result<()> { /// Clear the PIN stored when opening the nitrokey's encrypted volume. pub fn clear() -> Result<()> { - pinentry::clear_passphrase(PIN_TYPE) + pinentry::clear_passphrase(pinentry::PinType::Admin)?; + pinentry::clear_passphrase(pinentry::PinType::User)?; + Ok(()) } diff --git a/nitrocli/src/pinentry.rs b/nitrocli/src/pinentry.rs index ce9a98f..891de38 100644 --- a/nitrocli/src/pinentry.rs +++ b/nitrocli/src/pinentry.rs @@ -28,7 +28,6 @@ use crate::error::Error; #[derive(Clone, Copy, Debug, PartialEq)] pub enum PinType { /// The admin PIN. - #[allow(unused)] Admin, /// The user PIN. User, -- cgit v1.2.1