From b602d8bc7bd726afb52dc60cc07e4609e88d4511 Mon Sep 17 00:00:00 2001 From: Andre Heinecke Date: Wed, 10 Aug 2016 14:01:38 +0200 Subject: [PATCH] core: Handle ENCRYPT_SYMMETRIC also for sig & enc * src/engine-gpg.c (gpg_encrypt_sign): Handle ENCRYPT_SYMMETRIC flag. --- src/engine-gpg.c | 11 +++++++---- 1 file 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; - err = add_arg (gpg, symmetric ? "--symmetric" : "--encrypt"); + if (recp) + err = add_arg (gpg, "--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. */