aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpgme-json.c
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2022-04-27 14:57:17 +0000
committerIngo Klöcker <[email protected]>2022-04-27 14:57:17 +0000
commitaff9aaac68450e76f84d0f9a3feabffe9e82dd7e (patch)
treeb51438e16dc0d2c8641f6f6ef43a0a230718b7c9 /src/gpgme-json.c
parentqt: Rely on the bad passphrase error reported by gpg (diff)
downloadgpgme-aff9aaac68450e76f84d0f9a3feabffe9e82dd7e.tar.gz
gpgme-aff9aaac68450e76f84d0f9a3feabffe9e82dd7e.zip
core: Support --locate-external-keys command of gpg
* src/gpgme.h.in (GPGME_KEYLIST_MODE_FORCE_EXTERN): New. (GPGME_KEYLIST_MODE_LOCATE_EXTERNAL): New. * src/gpgme.c (gpgme_set_keylist_mode): Check for invalid mode. * src/engine-gpg.c (gpg_keylist_build_options): Use "--locate-external-keys" instead of "--locate-keys" if flag is set. * src/gpgme-json.c (op_keylist): New flag "force-extern". * src/gpgme-tool.c (gt_get_keylist_mode, cmd_keylist_mode): Handle new mode. -- GnuPG-bug-id: 5951
Diffstat (limited to 'src/gpgme-json.c')
-rw-r--r--src/gpgme-json.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gpgme-json.c b/src/gpgme-json.c
index d3b8035a..6077278c 100644
--- a/src/gpgme-json.c
+++ b/src/gpgme-json.c
@@ -2471,6 +2471,11 @@ op_keylist (cjson_t request, cjson_t result)
if (abool)
mode |= GPGME_KEYLIST_MODE_LOCATE;
+ if ((err = get_boolean_flag (request, "force-extern", 0, &abool)))
+ goto leave;
+ if (abool)
+ mode |= GPGME_KEYLIST_MODE_FORCE_EXTERN;
+
if (!mode)
{
/* default to local */