gpg: Avoid error diagnostics with --override-session-key.
authorWerner Koch <wk@gnupg.org>
Mon, 5 Nov 2018 09:30:27 +0000 (10:30 +0100)
committerWerner Koch <wk@gnupg.org>
Mon, 5 Nov 2018 09:30:45 +0000 (10:30 +0100)
* src/engine-gpg.c (gpg_decrypt): Add --no-keyring.
--

GnuPG-bug-id: 3464
Signed-off-by: Werner Koch <wk@gnupg.org>
src/engine-gpg.c

index aed933e..17fba80 100644 (file)
@@ -1694,7 +1694,14 @@ gpg_decrypt (void *engine,
                                          strlen (override_session_key), 1);
           if (!err)
             {
-              err = add_arg (gpg, "--override-session-key-fd");
+              /* We add --no-keyring because a keyring is not required
+               * when we are overriding the session key.  It would
+               * work without that option but --no-keyring avoids that
+               * gpg return a failure due to a missing key log_error()
+               * diagnostic.  --no-keyring is supported since 2.1.14. */
+              err = add_arg (gpg, "--no-keyring");
+              if (!err)
+                err = add_arg (gpg, "--override-session-key-fd");
               if (!err)
                 err = add_data (gpg, gpg->override_session_key, -2, 0);
             }