diff options
author | Robin Krahl <robin.krahl@ireas.org> | 2020-09-08 18:23:30 +0200 |
---|---|---|
committer | Daniel Mueller <deso@posteo.net> | 2020-09-09 08:55:50 -0700 |
commit | 4a8c01adb5100fd0397aad239edc5e80d13aca13 (patch) | |
tree | 8bd215f32d2fee5b185efbcd36888c6fe44ffaea /src/config.rs | |
parent | 16f6b3ba0c3535efd1b9288ea1980cdd281b6565 (diff) | |
download | nitrocli-4a8c01adb5100fd0397aad239edc5e80d13aca13.tar.gz nitrocli-4a8c01adb5100fd0397aad239edc5e80d13aca13.tar.bz2 |
Add --usb-path option to select device
This patch adds the --usb-path option as an additional way to filter the
Nitrokey device to connect to. While the serial number is a better
identifier in theory, the Nitrokey Storage devices do not send their
serial number in the USB device descriptor. Having the --usb-path
options allows users to select one of multiple Nitrokey Storage devices.
While we could directly call the nitrokey::Manager::connect_path
function with the specified path, we integrate the --usb-path option
into the existing find_device function for consistent error messages and
to avoid having to duplicate the --model and --serial-number checks.
Diffstat (limited to 'src/config.rs')
-rw-r--r-- | src/config.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/config.rs b/src/config.rs index 6f0cd17..8e7eefb 100644 --- a/src/config.rs +++ b/src/config.rs @@ -31,6 +31,8 @@ pub struct Config { #[merge(strategy = merge::vec::overwrite_empty)] #[serde(default, deserialize_with = "deserialize_serial_number_vec")] pub serial_numbers: Vec<nitrokey::SerialNumber>, + /// The USB path of the device to connect to. + pub usb_path: Option<String>, /// Whether to bypass the cache for all secrets or not. #[merge(strategy = merge::bool::overwrite_false)] #[serde(default)] @@ -74,6 +76,9 @@ impl Config { // TODO: Don't clone. self.serial_numbers = args.serial_numbers.clone(); } + if args.usb_path.is_some() { + self.usb_path = args.usb_path.clone(); + } if args.no_cache { self.no_cache = true; } |