diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2020-02-12 13:36:22 +0100 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2020-02-12 15:12:21 +0100 |
commit | a6ff2539d4fcb569eba07c38d3ca992c266bdc57 (patch) | |
tree | 2cebe3adf218412f900e84713e55f2b0c5bfdbd4 /ipc | |
parent | b0648d984bc618686a18d5e0a5173c16b2328549 (diff) |
openpgp: Add optional cipher argument to DecryptionHelper::decrypt.
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/examples/gpg-agent-decrypt.rs | 3 | ||||
-rw-r--r-- | ipc/tests/gpg-agent.rs | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/ipc/examples/gpg-agent-decrypt.rs b/ipc/examples/gpg-agent-decrypt.rs index 9dc0fbe2..97397363 100644 --- a/ipc/examples/gpg-agent-decrypt.rs +++ b/ipc/examples/gpg-agent-decrypt.rs @@ -96,6 +96,7 @@ impl<'a> DecryptionHelper for Helper<'a> { fn decrypt<D>(&mut self, pkesks: &[openpgp::packet::PKESK], _skesks: &[openpgp::packet::SKESK], + sym_algo: Option<SymmetricAlgorithm>, mut decrypt: D) -> openpgp::Result<Option<openpgp::Fingerprint>> where D: FnMut(SymmetricAlgorithm, &SessionKey) -> openpgp::Result<()> @@ -104,7 +105,7 @@ impl<'a> DecryptionHelper for Helper<'a> { for pkesk in pkesks { if let Some(key) = self.keys.get(pkesk.recipient()) { let mut pair = KeyPair::new(self.ctx, key)?; - if let Ok(_) = pkesk.decrypt(&mut pair, None) + if let Ok(_) = pkesk.decrypt(&mut pair, sym_algo) .and_then(|(algo, session_key)| decrypt(algo, &session_key)) { break; diff --git a/ipc/tests/gpg-agent.rs b/ipc/tests/gpg-agent.rs index 91794509..2322e6d9 100644 --- a/ipc/tests/gpg-agent.rs +++ b/ipc/tests/gpg-agent.rs @@ -277,6 +277,7 @@ fn decrypt() { fn decrypt<D>(&mut self, pkesks: &[openpgp::packet::PKESK], _skesks: &[openpgp::packet::SKESK], + sym_algo: Option<SymmetricAlgorithm>, mut decrypt: D) -> openpgp::Result<Option<openpgp::Fingerprint>> where D: FnMut(SymmetricAlgorithm, &SessionKey) -> @@ -289,7 +290,7 @@ fn decrypt() { .take(1).next().unwrap().key()) .unwrap(); - pkesks[0].decrypt(&mut keypair, None) + pkesks[0].decrypt(&mut keypair, sym_algo) .and_then(|(algo, session_key)| decrypt(algo, &session_key)) .map(|_| None) // XXX: In production code, return the Fingerprint of the |