aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2016-08-10 12:01:38 +0000
committerAndre Heinecke <[email protected]>2016-08-10 12:01:38 +0000
commitb602d8bc7bd726afb52dc60cc07e4609e88d4511 (patch)
tree4ec586d77537237a857907f1dcdb363905de8d06
parentQt: Remove unused variable (diff)
downloadgpgme-b602d8bc7bd726afb52dc60cc07e4609e88d4511.tar.gz
gpgme-b602d8bc7bd726afb52dc60cc07e4609e88d4511.zip
core: Handle ENCRYPT_SYMMETRIC also for sig & enc
* src/engine-gpg.c (gpg_encrypt_sign): Handle ENCRYPT_SYMMETRIC flag.
-rw-r--r--src/engine-gpg.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/engine-gpg.c b/src/engine-gpg.c
index 4fad9771..efab80ac 100644
--- a/src/engine-gpg.c
+++ b/src/engine-gpg.c
@@ -1782,10 +1782,13 @@ gpg_encrypt_sign (void *engine, gpgme_key_t recp[],
gpgme_ctx_t ctx /* FIXME */)
{
engine_gpg_t gpg = engine;
- gpgme_error_t err;
- int symmetric = !recp;
+ gpgme_error_t err = 0;
+
+ if (recp)
+ err = add_arg (gpg, "--encrypt");
- err = add_arg (gpg, symmetric ? "--symmetric" : "--encrypt");
+ if (!err && ((flags & GPGME_ENCRYPT_SYMMETRIC) || !recp))
+ err = add_arg (gpg, "--symmetric");
if (!err)
err = add_arg (gpg, "--sign");
@@ -1799,7 +1802,7 @@ gpg_encrypt_sign (void *engine, gpgme_key_t recp[],
&& have_gpg_version (gpg, "2.1.14"))
err = add_arg (gpg, "--mimemode");
- if (!symmetric)
+ if (recp)
{
/* If we know that all recipients are valid (full or ultimate trust)
we can suppress further checks. */