diff options
author | Ingo Klöcker <[email protected]> | 2022-04-27 14:57:17 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2022-04-27 14:57:17 +0000 |
commit | aff9aaac68450e76f84d0f9a3feabffe9e82dd7e (patch) | |
tree | b51438e16dc0d2c8641f6f6ef43a0a230718b7c9 /src/gpgme-tool.c | |
parent | qt: Rely on the bad passphrase error reported by gpg (diff) | |
download | gpgme-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.c | 4 |
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); } |