From 90b61682bd591534f9e33dfa4549bb72efdc4af3 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Sun, 29 Jan 2023 14:10:13 +0000 Subject: [PATCH] Don't reset tested YubiKeys in `key::filter_connected` This method only connects to YubiKeys in order to confirm it can do so (i.e. as a side-effect). We therefore want to explicitly disconnect without resetting the YubiKeys, to avoid clearing PIN caches. --- src/key.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/key.rs b/src/key.rs index 925dbc9..4e41149 100644 --- a/src/key.rs +++ b/src/key.rs @@ -48,7 +48,13 @@ pub(crate) fn filter_connected(reader: &Reader) -> bool { ); false } - _ => true, + Err(_) => true, + Ok(yubikey) => { + // We only connected as a side-effect of confirming that we can connect, so + // avoid resetting the YubiKey. + disconnect_without_reset(yubikey); + true + } } }