aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/agent.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/agent.rs')
-rw-r--r--src/bin/agent.rs20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/bin/agent.rs b/src/bin/agent.rs
index 5a97448..dedfe68 100644
--- a/src/bin/agent.rs
+++ b/src/bin/agent.rs
@@ -62,14 +62,17 @@ async fn login(
) {
let mut state = state.write().await;
let email = "bitwarden@tozt.net"; // XXX read from config
- let password = rbw::pinentry::pinentry("prompt", "desc", tty).await;
+ let password = rbw::pinentry::pinentry("prompt", "desc", tty)
+ .await
+ .unwrap();
let (access_token, iterations, protected_key) =
- rbw::actions::login(email, &password).await;
+ rbw::actions::login(email, &password).await.unwrap();
state.access_token = Some(access_token);
state.iterations = Some(iterations);
let (enc_key, mac_key) =
rbw::actions::unlock(email, &password, iterations, protected_key)
- .await;
+ .await
+ .unwrap();
state.priv_key = Some((enc_key, mac_key));
}
@@ -86,14 +89,17 @@ async fn unlock(
) {
let mut state = state.write().await;
let email = "bitwarden@tozt.net"; // XXX read from config
- let password = rbw::pinentry::pinentry("prompt", "desc", tty).await;
+ let password = rbw::pinentry::pinentry("prompt", "desc", tty)
+ .await
+ .unwrap();
let (enc_key, mac_key) = rbw::actions::unlock(
email,
&password,
state.iterations.unwrap(),
state.protected_key.as_ref().unwrap().to_string(),
)
- .await;
+ .await
+ .unwrap();
state.priv_key = Some((enc_key, mac_key));
}
@@ -101,7 +107,9 @@ async fn sync(state: std::sync::Arc<tokio::sync::RwLock<State>>) {
ensure_login(state.clone()).await;
let mut state = state.write().await;
let (protected_key, ciphers) =
- rbw::actions::sync(state.access_token.as_ref().unwrap()).await;
+ rbw::actions::sync(state.access_token.as_ref().unwrap())
+ .await
+ .unwrap();
state.protected_key = Some(protected_key);
println!("{}", serde_json::to_string(&ciphers).unwrap());
state.ciphers = ciphers;