summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2020-02-12 13:36:22 +0100
committerJustus Winter <justus@sequoia-pgp.org>2020-02-12 15:12:21 +0100
commita6ff2539d4fcb569eba07c38d3ca992c266bdc57 (patch)
tree2cebe3adf218412f900e84713e55f2b0c5bfdbd4 /ipc
parentb0648d984bc618686a18d5e0a5173c16b2328549 (diff)
openpgp: Add optional cipher argument to DecryptionHelper::decrypt.
Diffstat (limited to 'ipc')
-rw-r--r--ipc/examples/gpg-agent-decrypt.rs3
-rw-r--r--ipc/tests/gpg-agent.rs3
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