From bded8ebc59c7fdad2617f4c9232a58047656834c Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 5 Nov 2018 10:30:27 +0100 Subject: [PATCH] gpg: Avoid error diagnostics with --override-session-key. * src/engine-gpg.c (gpg_decrypt): Add --no-keyring. -- GnuPG-bug-id: 3464 Signed-off-by: Werner Koch --- src/engine-gpg.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/engine-gpg.c b/src/engine-gpg.c index aed933e1..17fba809 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -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); }