diff options
Diffstat (limited to 'src/bin')
-rw-r--r-- | src/bin/rbw-agent/actions.rs | 8 | ||||
-rw-r--r-- | src/bin/rbw/commands.rs | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/bin/rbw-agent/actions.rs b/src/bin/rbw-agent/actions.rs index 1a5a3c5..4f4096e 100644 --- a/src/bin/rbw-agent/actions.rs +++ b/src/bin/rbw-agent/actions.rs @@ -32,6 +32,7 @@ pub async fn login( None }; let password = rbw::pinentry::getpin( + &config_pinentry().await?, "Master Password", &format!("Log in to {}", host), err.as_deref(), @@ -134,6 +135,7 @@ async fn two_factor( None }; let code = rbw::pinentry::getpin( + &config_pinentry().await?, "Authenticator App", "Enter the 6 digit verification code from your authenticator app.", err.as_deref(), @@ -293,6 +295,7 @@ pub async fn unlock( None }; let password = rbw::pinentry::getpin( + &config_pinentry().await?, "Master Password", "Unlock the local database", err.as_deref(), @@ -532,3 +535,8 @@ async fn config_base_url() -> anyhow::Result<String> { let config = rbw::config::Config::load_async().await?; Ok(config.base_url()) } + +async fn config_pinentry() -> anyhow::Result<String> { + let config = rbw::config::Config::load_async().await?; + Ok(config.pinentry) +} diff --git a/src/bin/rbw/commands.rs b/src/bin/rbw/commands.rs index 3f11174..2da06a2 100644 --- a/src/bin/rbw/commands.rs +++ b/src/bin/rbw/commands.rs @@ -425,6 +425,7 @@ pub fn config_set(key: &str, value: &str) -> anyhow::Result<()> { config.lock_timeout = timeout; } } + "pinentry" => config.pinentry = value.to_string(), _ => return Err(anyhow::anyhow!("invalid config key: {}", key)), } config.save()?; @@ -449,6 +450,7 @@ pub fn config_unset(key: &str) -> anyhow::Result<()> { "lock_timeout" => { config.lock_timeout = rbw::config::default_lock_timeout() } + "pinentry" => config.pinentry = rbw::config::default_pinentry(), _ => return Err(anyhow::anyhow!("invalid config key: {}", key)), } config.save()?; |