diff options
author | Robin Krahl <robin.krahl@ireas.org> | 2019-01-30 19:20:37 +0000 |
---|---|---|
committer | Robin Krahl <robin.krahl@ireas.org> | 2019-07-14 13:49:49 +0000 |
commit | d4efc5026fd96c3e19df928cfdbed2774c04d743 (patch) | |
tree | 4b56b8c2ec042137eeb74743bf351db96dac0853 | |
parent | bccf3d17ac2376a2b297491212bf53e54d71f76c (diff) | |
download | nitrocli-d4efc5026fd96c3e19df928cfdbed2774c04d743.tar.gz nitrocli-d4efc5026fd96c3e19df928cfdbed2774c04d743.tar.bz2 |
Replace nitrokey::CommandError with nitrokey::Error
Previously, CommandError was nitrokey-rs’s main error type. Since
nitrokey-rs v0.4.0, Error replaced CommandError, which now is an Error
variant. This patch changes the error handling code in nitrocli to work
with the new Error type.
-rw-r--r-- | nitrocli/src/commands.rs | 22 | ||||
-rw-r--r-- | nitrocli/src/error.rs | 6 |
2 files changed, 14 insertions, 14 deletions
diff --git a/nitrocli/src/commands.rs b/nitrocli/src/commands.rs index eb071ff..ff39a12 100644 --- a/nitrocli/src/commands.rs +++ b/nitrocli/src/commands.rs @@ -37,7 +37,7 @@ use crate::Result; const NITROKEY_DEFAULT_ADMIN_PIN: &str = "12345678"; /// Create an `error::Error` with an error message of the format `msg: err`. -fn get_error(msg: &'static str, err: nitrokey::CommandError) -> Error { +fn get_error(msg: &'static str, err: nitrokey::Error) -> Error { Error::CommandError(Some(msg), err) } @@ -139,7 +139,7 @@ fn authenticate<D, A, F>( ) -> Result<A> where D: Device, - F: Fn(D, &str) -> result::Result<A, (D, nitrokey::CommandError)>, + F: Fn(D, &str) -> result::Result<A, (D, nitrokey::Error)>, { let pin_entry = pinentry::PinEntry::from(pin_type, &device)?; @@ -209,7 +209,7 @@ fn try_with_pin_and_data_with_pinentry<D, F, R>( op: F, ) -> Result<R> where - F: Fn(D, &str) -> result::Result<R, (D, nitrokey::CommandError)>, + F: Fn(D, &str) -> result::Result<R, (D, nitrokey::Error)>, { let mut data = data; let mut retry = 3; @@ -219,7 +219,7 @@ where match op(data, &pin) { Ok(result) => return Ok(result), Err((new_data, err)) => match err { - nitrokey::CommandError::WrongPassword => { + nitrokey::Error::CommandError(nitrokey::CommandError::WrongPassword) => { pinentry::clear(pin_entry)?; retry -= 1; @@ -245,7 +245,7 @@ fn try_with_pin_and_data<D, F, R>( op: F, ) -> Result<R> where - F: Fn(D, &str) -> result::Result<R, (D, nitrokey::CommandError)>, + F: Fn(D, &str) -> result::Result<R, (D, nitrokey::Error)>, { let pin = match pin_entry.pin_type() { pinentry::PinType::Admin => &ctx.admin_pin, @@ -276,7 +276,7 @@ fn try_with_pin<F>( op: F, ) -> Result<()> where - F: Fn(&str) -> result::Result<(), nitrokey::CommandError>, + F: Fn(&str) -> result::Result<(), nitrokey::Error>, { try_with_pin_and_data(ctx, pin_entry, msg, (), |data, pin| { op(pin).map_err(|err| (data, err)) @@ -702,8 +702,8 @@ fn print_otp_status( }; let name = match result { Ok(name) => name, - Err(nitrokey::CommandError::InvalidSlot) => return Ok(()), - Err(nitrokey::CommandError::SlotNotProgrammed) => { + Err(nitrokey::Error::LibraryError(nitrokey::LibraryError::InvalidSlot)) => return Ok(()), + Err(nitrokey::Error::CommandError(nitrokey::CommandError::SlotNotProgrammed)) => { if all { "[not programmed]".to_string() } else { @@ -816,7 +816,7 @@ pub fn pin_unblock(ctx: &mut args::ExecCtx<'_>) -> Result<()> { fn print_pws_data( ctx: &mut args::ExecCtx<'_>, description: &'static str, - result: result::Result<String, nitrokey::CommandError>, + result: result::Result<String, nitrokey::Error>, quiet: bool, ) -> Result<()> { let value = result.map_err(|err| get_error("Could not access PWS slot", err))?; @@ -830,7 +830,7 @@ fn print_pws_data( fn check_slot(pws: &nitrokey::PasswordSafe<'_>, slot: u8) -> Result<()> { if slot >= nitrokey::SLOT_COUNT { - return Err(nitrokey::CommandError::InvalidSlot.into()); + return Err(nitrokey::Error::from(nitrokey::LibraryError::InvalidSlot).into()); } let status = pws .get_slot_status() @@ -840,7 +840,7 @@ fn check_slot(pws: &nitrokey::PasswordSafe<'_>, slot: u8) -> Result<()> { } else { Err(get_error( "Could not access PWS slot", - nitrokey::CommandError::SlotNotProgrammed, + nitrokey::CommandError::SlotNotProgrammed.into(), )) } } diff --git a/nitrocli/src/error.rs b/nitrocli/src/error.rs index 1346526..f18d1a1 100644 --- a/nitrocli/src/error.rs +++ b/nitrocli/src/error.rs @@ -25,7 +25,7 @@ use std::string; #[derive(Debug)] pub enum Error { ArgparseError(i32), - CommandError(Option<&'static str>, nitrokey::CommandError), + CommandError(Option<&'static str>, nitrokey::Error), IoError(io::Error), Utf8Error(str::Utf8Error), Error(String), @@ -37,8 +37,8 @@ impl From<&str> for Error { } } -impl From<nitrokey::CommandError> for Error { - fn from(e: nitrokey::CommandError) -> Error { +impl From<nitrokey::Error> for Error { + fn from(e: nitrokey::Error) -> Error { Error::CommandError(None, e) } } |