From 68f1f31595757c5018c5c243a76e94e0af5439ef Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Sun, 20 May 2018 23:06:17 +0000 Subject: Add get_minor_firmware_version to Device Since libnitrokey v3.3, we can also access the minor firmware version. --- src/lib.rs | 28 +++++++++++++++++++++++++++- src/tests/pro.rs | 7 +++++-- 2 files changed, 32 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/lib.rs b/src/lib.rs index eb5ec5f..259ff89 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -498,7 +498,11 @@ pub trait Device { /// /// # fn try_main() -> Result<(), CommandError> { /// let device = nitrokey::connect()?; - /// println!("Firmware version: {}.x", device.get_major_firmware_version()); + /// println!( + /// "Firmware version: {}.{}", + /// device.get_major_firmware_version(), + /// device.get_minor_firmware_version(), + /// ); /// # Ok(()) /// # } /// ``` @@ -506,6 +510,28 @@ pub trait Device { unsafe { nitrokey_sys::NK_get_major_firmware_version() } } + /// Returns the minor part of the firmware version (for example 8 for + /// version 0.8). + /// + /// # Example + /// + /// ```no_run + /// use nitrokey::Device; + /// # use nitrokey::CommandError; + /// + /// # fn try_main() -> Result<(), CommandError> { + /// let device = nitrokey::connect()?; + /// println!( + /// "Firmware version: {}.{}", + /// device.get_major_firmware_version(), + /// device.get_minor_firmware_version(), + /// ); + /// # Ok(()) + /// # } + fn get_minor_firmware_version(&self) -> i32 { + unsafe { nitrokey_sys::NK_get_minor_firmware_version() } + } + /// Returns the current configuration of the Nitrokey device. /// /// # Example diff --git a/src/tests/pro.rs b/src/tests/pro.rs index dee7dc6..76d68a0 100644 --- a/src/tests/pro.rs +++ b/src/tests/pro.rs @@ -194,9 +194,12 @@ fn totp_slot_name() { #[test] #[cfg_attr(not(feature = "test-pro"), ignore)] -fn get_major_firmware_version() { +fn get_firmware_version() { set_debug(false); - assert_eq!(0, ::connect().unwrap().get_major_firmware_version()); + let device = ::connect().unwrap(); + assert_eq!(0, device.get_major_firmware_version()); + let minor = device.get_minor_firmware_version(); + assert!(minor == 7 || minor == 8); } fn admin_retry(device: UnauthenticatedDevice, suffix: &str, count: u8) -> UnauthenticatedDevice { -- cgit v1.2.3