diff --git a/src/cmd_list.rs b/src/cmd_list.rs index 05bf99d..7dff0d9 100644 --- a/src/cmd_list.rs +++ b/src/cmd_list.rs @@ -18,19 +18,26 @@ impl Command for CommandImpl { let json_output = sub_arg_matches.is_present("json"); if json_output { rust_util::util_msg::set_logger_std_out(false); } - let yk = opt_result!(YubiKey::open(), "YubiKey not found: {}"); + let mut yk = opt_result!(YubiKey::open(), "YubiKey not found: {}"); if json_output { let mut json = BTreeMap::<&'_ str, String>::new(); json.insert("name", yk.name().to_string()); json.insert("version", yk.version().to_string()); json.insert("serial", yk.serial().0.to_string()); + if let Ok(pin_retries) = yk.get_pin_retries() { + json.insert("pin_retries", pin_retries.to_string()); + } println!("{}", serde_json::to_string_pretty(&json).expect("Convert to JSON failed!")); } else { success!("Name: {}", yk.name()); success!("Version: {}", yk.version()); success!("Serial: {}", yk.serial().0); + // success!("{:?}", yk.config()); + if let Ok(pin_retries) = yk.get_pin_retries() { + success!("Pin retries: {}", pin_retries); + } } Ok(None)