diff options
-rw-r--r-- | CHANGELOG.md | 1 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | src/args.rs | 9 | ||||
-rw-r--r-- | src/commands.rs | 5 |
4 files changed, 16 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 9eeb9f3..8da31f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,6 @@ Unreleased ---------- +- Added the `list` command that lists all attached Nitrokey devices - Reworked argument handling: - Added `structopt` dependency in version `0.3.7` - Replaced `argparse` with `structopt` @@ -13,6 +13,7 @@ Storage][nitrokey-storage] devices. The following commands are currently supported: +- list: List all attached Nitrokey devices. - status: Report status information about the Nitrokey. - lock: Lock the Nitrokey. - config: Access the Nitrokey's configuration diff --git a/src/args.rs b/src/args.rs index aeedfe6..91bddc5 100644 --- a/src/args.rs +++ b/src/args.rs @@ -117,6 +117,8 @@ Command! {Command, [ Encrypted(EncryptedArgs) => |ctx, args: EncryptedArgs| args.subcmd.execute(ctx), /// Interacts with the device's hidden volume Hidden(HiddenArgs) => |ctx, args: HiddenArgs| args.subcmd.execute(ctx), + /// Lists the attached Nitrokey devices + List(ListArgs) => |ctx, args: ListArgs| commands::list(ctx, args.no_connect), /// Locks the connected Nitrokey device Lock => commands::lock, /// Accesses one-time passwords @@ -264,6 +266,13 @@ struct HiddenCreateArgs { } #[derive(Debug, PartialEq, structopt::StructOpt)] +struct ListArgs { + /// Only print the information that is available without connecting to a device + #[structopt(short, long)] + no_connect: bool, +} + +#[derive(Debug, PartialEq, structopt::StructOpt)] struct OtpArgs { #[structopt(subcommand)] subcmd: OtpCommand, diff --git a/src/commands.rs b/src/commands.rs index cc57786..3bc7300 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -376,6 +376,11 @@ pub fn status(ctx: &mut args::ExecCtx<'_>) -> Result<()> { }) } +/// List the attached Nitrokey devices. +pub fn list(_ctx: &mut args::ExecCtx<'_>, _no_connect: bool) -> Result<()> { + unimplemented!(); +} + /// Perform a factory reset. pub fn reset(ctx: &mut args::ExecCtx<'_>) -> Result<()> { with_device(ctx, |ctx, mut device| { |