summaryrefslogtreecommitdiffstats
path: root/sq
diff options
context:
space:
mode:
authorNora Widdecke <nora@sequoia-pgp.org>2022-09-08 17:49:08 +0200
committerNora Widdecke <nora@sequoia-pgp.org>2022-09-29 20:10:57 +0200
commit7936e3513ee339650a7ac2eff11edd2fac3f037d (patch)
treef57c47e23b8781d0690c8b39f9b9917e1f19edea /sq
parentf89695585459799981d83c0b6eecb13511490e56 (diff)
openpgp, sq: Update dependency rpassword to 6.
- rpassword underwent some rework. The successor of read_password_from_tty seems to be prompt_password, relevant commits to rpassword: - e6023757df00a67a1e16796db50c5ffad41b6268 - 2edf6cee07573ec4aa86531e6177ee90331d5c60
Diffstat (limited to 'sq')
-rw-r--r--sq/Cargo.toml2
-rw-r--r--sq/src/commands/decrypt.rs25
-rw-r--r--sq/src/commands/key.rs14
-rw-r--r--sq/src/commands/mod.rs12
-rw-r--r--sq/src/sq.rs11
5 files changed, 32 insertions, 32 deletions
diff --git a/sq/Cargo.toml b/sq/Cargo.toml
index ab94e858..83978fd2 100644
--- a/sq/Cargo.toml
+++ b/sq/Cargo.toml
@@ -37,7 +37,7 @@ itertools = "0.10"
tempfile = "3.1"
term_size = "0.3"
tokio = { version = "1.13.1" }
-rpassword = "5.0"
+rpassword = "6.0"
serde_json = "1.0.80"
serde = { version = "1.0.137", features = ["derive"] }
roff = "0.2.1"
diff --git a/sq/src/commands/decrypt.rs b/sq/src/commands/decrypt.rs
index bdac7377..7359cd49 100644
--- a/sq/src/commands/decrypt.rs
+++ b/sq/src/commands/decrypt.rs
@@ -254,10 +254,11 @@ impl<'a> DecryptionHelper for Helper<'a> {
break keypair;
}
- let p = rpassword::read_password_from_tty(Some(
- &format!(
- "Enter password to decrypt key {}: ",
- self.key_hints.get(keyid).unwrap())))?.into();
+ let p = rpassword::prompt_password(&format!(
+ "Enter password to decrypt key {}: ",
+ self.key_hints.get(keyid).unwrap()
+ ))?
+ .into();
match key.unlock(&p) {
Ok(decryptor) => break decryptor,
@@ -308,10 +309,11 @@ impl<'a> DecryptionHelper for Helper<'a> {
break keypair;
}
- let p = rpassword::read_password_from_tty(Some(
- &format!(
- "Enter password to decrypt key {}: ",
- self.key_hints.get(&keyid).unwrap())))?.into();
+ let p = rpassword::prompt_password(&format!(
+ "Enter password to decrypt key {}: ",
+ self.key_hints.get(&keyid).unwrap()
+ ))?
+ .into();
if let Ok(decryptor) = key.unlock(&p) {
break decryptor;
@@ -336,9 +338,10 @@ impl<'a> DecryptionHelper for Helper<'a> {
// Finally, try to decrypt using the SKESKs.
loop {
- let password =
- rpassword::read_password_from_tty(Some(
- "Enter password to decrypt message: "))?.into();
+ let password = rpassword::prompt_password(
+ "Enter password to decrypt message: ",
+ )?
+ .into();
for skesk in skesks {
if let Some(sk) = skesk.decrypt(&password).ok()
diff --git a/sq/src/commands/key.rs b/sq/src/commands/key.rs
index f2062f3a..f6f8b729 100644
--- a/sq/src/commands/key.rs
+++ b/sq/src/commands/key.rs
@@ -150,10 +150,10 @@ fn generate(
}
if command.with_password {
- let p0 = rpassword::read_password_from_tty(Some(
- "Enter password to protect the key: "))?.into();
- let p1 = rpassword::read_password_from_tty(Some(
- "Repeat the password once more: "))?.into();
+ let p0 = rpassword::prompt_password(
+ "Enter password to protect the key: ")?.into();
+ let p1 = rpassword::prompt_password(
+ "Repeat the password once more: ")?.into();
if p0 == p1 {
builder = builder.set_password(Some(p0));
@@ -254,11 +254,9 @@ fn password(
let new_password = if command.clear {
None
} else {
- let prompt_0 =
- rpassword::read_password_from_tty(Some("New password: "))
+ let prompt_0 = rpassword::prompt_password("New password: ")
.context("Error reading password")?;
- let prompt_1 =
- rpassword::read_password_from_tty(Some("Repeat new password: "))
+ let prompt_1 = rpassword::prompt_password("Repeat new password: ")
.context("Error reading password")?;
if prompt_0 != prompt_1 {
diff --git a/sq/src/commands/mod.rs b/sq/src/commands/mod.rs
index a7444391..8c23366d 100644
--- a/sq/src/commands/mod.rs
+++ b/sq/src/commands/mod.rs
@@ -126,9 +126,9 @@ fn get_keys<C>(certs: &[C], p: &dyn Policy,
if let Some(secret) = key.optional_secret() {
let unencrypted = match secret {
SecretKeyMaterial::Encrypted(ref e) => {
- let password = rpassword::read_password_from_tty(Some(
+ let password = rpassword::prompt_password(
&format!("Please enter password to decrypt {}/{}: ",
- tsk, key)))
+ tsk, key))
.context("Reading password from tty")?;
e.decrypt(key.pk_algo(), &password.into())
.expect("decryption failed")
@@ -140,8 +140,8 @@ fn get_keys<C>(certs: &[C], p: &dyn Policy,
.unwrap()));
continue 'next_cert;
} else if let Some(private_key_store) = private_key_store {
- let password = rpassword::read_password_from_tty(
- Some(&format!("Please enter password to key {}/{}: ", tsk, key))).unwrap().into();
+ let password = rpassword::prompt_password(
+ &format!("Please enter password to key {}/{}: ", tsk, key)).unwrap().into();
match pks::unlock_signer(private_key_store, key.clone(), &password) {
Ok(signer) => {
keys.push(signer);
@@ -323,12 +323,12 @@ pub fn encrypt(opts: EncryptOpts) -> Result<()> {
let mut passwords: Vec<crypto::Password> = Vec::with_capacity(opts.npasswords);
for n in 0..opts.npasswords {
let nprompt = format!("Enter password {}: ", n + 1);
- passwords.push(rpassword::read_password_from_tty(Some(
+ passwords.push(rpassword::prompt_password(
if opts.npasswords > 1 {
&nprompt
} else {
"Enter password: "
- }))?.into());
+ })?.into());
}
if opts.recipients.len() + passwords.len() == 0 {
diff --git a/sq/src/sq.rs b/sq/src/sq.rs
index 7ea299a8..f96b32cd 100644
--- a/sq/src/sq.rs
+++ b/sq/src/sq.rs
@@ -238,12 +238,11 @@ fn decrypt_key<R>(key: Key<key::SecretParts, R>, passwords: &mut Vec<String>)
let mut first = true;
loop {
// Prompt the user.
- match rpassword::read_password_from_tty(
- Some(&format!(
- "{}Enter password to unlock {} (blank to skip): ",
- if first { "" } else { "Invalid password. " },
- key.keyid().to_hex())))
- {
+ match rpassword::prompt_password(&format!(
+ "{}Enter password to unlock {} (blank to skip): ",
+ if first { "" } else { "Invalid password. " },
+ key.keyid().to_hex()
+ )) {
Ok(p) => {
first = false;
if p.is_empty() {