aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpgme-tool.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-tool.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-tool.c')
-rw-r--r--src/gpgme-tool.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c
index e45ea12d..7d3ca16d 100644
--- a/src/gpgme-tool.c
+++ b/src/gpgme-tool.c
@@ -1459,6 +1459,8 @@ gt_get_keylist_mode (gpgme_tool_t gt)
modes[idx++] = "ephemeral";
if (mode & GPGME_KEYLIST_MODE_VALIDATE)
modes[idx++] = "validate";
+ if (mode & GPGME_KEYLIST_MODE_FORCE_EXTERN)
+ modes[idx++] = "force_extern";
modes[idx++] = NULL;
gt_write_status (gt, STATUS_KEYLIST_MODE, modes[0], modes[1], modes[2],
@@ -2200,6 +2202,8 @@ cmd_keylist_mode (assuan_context_t ctx, char *line)
mode |= GPGME_KEYLIST_MODE_EPHEMERAL;
if (strstr (line, "validate"))
mode |= GPGME_KEYLIST_MODE_VALIDATE;
+ if (strstr (line, "force_extern"))
+ mode |= GPGME_KEYLIST_MODE_FORCE_EXTERN;
return gt_set_keylist_mode (server->gt, mode);
}