keyfork-shard: only print one message per key-load attempt
This commit is contained in:
parent
3ef6c96a7e
commit
d83efcbbd0
|
@ -3,7 +3,7 @@ use std::collections::{HashMap, HashSet};
|
||||||
use keyfork_prompt::{
|
use keyfork_prompt::{
|
||||||
default_terminal,
|
default_terminal,
|
||||||
validators::{PinValidator, Validator},
|
validators::{PinValidator, Validator},
|
||||||
DefaultTerminal, Error as PromptError, Message, PromptHandler
|
DefaultTerminal, Error as PromptError, Message, PromptHandler,
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::openpgp::{
|
use super::openpgp::{
|
||||||
|
@ -93,14 +93,12 @@ impl SmartcardManager {
|
||||||
/// Load any backend.
|
/// Load any backend.
|
||||||
pub fn load_any_card(&mut self) -> Result<Fingerprint> {
|
pub fn load_any_card(&mut self) -> Result<Fingerprint> {
|
||||||
let card_backend = loop {
|
let card_backend = loop {
|
||||||
self.pm.prompt_message(Message::Text(
|
|
||||||
"Please plug in a smart card and press enter".to_string(),
|
|
||||||
))?;
|
|
||||||
if let Some(c) = PcscBackend::cards(None)?.next().transpose()? {
|
if let Some(c) = PcscBackend::cards(None)?.next().transpose()? {
|
||||||
break c;
|
break c;
|
||||||
}
|
}
|
||||||
self.pm
|
self.pm.prompt_message(Message::Text(
|
||||||
.prompt_message(Message::Text("No smart card was found".to_string()))?;
|
"No smart card was found. Please plug in a smart card and press enter".to_string(),
|
||||||
|
))?;
|
||||||
};
|
};
|
||||||
let mut card = Card::<Open>::new(card_backend).map_err(Error::OpenSmartCard)?;
|
let mut card = Card::<Open>::new(card_backend).map_err(Error::OpenSmartCard)?;
|
||||||
let transaction = card.transaction().map_err(Error::Transaction)?;
|
let transaction = card.transaction().map_err(Error::Transaction)?;
|
||||||
|
@ -266,9 +264,8 @@ impl DecryptionHelper for &mut SmartcardManager {
|
||||||
}
|
}
|
||||||
// NOTE: This should not be hit, because of the above validator.
|
// NOTE: This should not be hit, because of the above validator.
|
||||||
Err(CardError::CardStatus(StatusBytes::IncorrectParametersCommandDataField)) => {
|
Err(CardError::CardStatus(StatusBytes::IncorrectParametersCommandDataField)) => {
|
||||||
self.pm.prompt_message(Message::Text(
|
self.pm
|
||||||
"Invalid PIN length entered.".to_string(),
|
.prompt_message(Message::Text("Invalid PIN length entered.".to_string()))?;
|
||||||
))?;
|
|
||||||
}
|
}
|
||||||
Err(_) => {}
|
Err(_) => {}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue