summaryrefslogtreecommitdiff
path: root/src/engine-gpg.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine-gpg.c')
-rw-r--r--src/engine-gpg.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/engine-gpg.c b/src/engine-gpg.c
index 88a248d..3bf5223 100644
--- a/src/engine-gpg.c
+++ b/src/engine-gpg.c
@@ -3105,8 +3105,11 @@ gpg_keylist_build_options (engine_gpg_t gpg, int secret_only,
code. The problem is that we don't know the context
here and thus can't access the cached version number
for the engine info structure. */
- err = add_arg (gpg, "--locate-keys");
- if ((mode & GPGME_KEYLIST_MODE_SIGS))
+ if ((mode & GPGME_KEYLIST_MODE_FORCE_EXTERN))
+ err = add_arg (gpg, "--locate-external-keys");
+ else
+ err = add_arg (gpg, "--locate-keys");
+ if (!err && (mode & GPGME_KEYLIST_MODE_SIGS))
err = add_arg (gpg, "--with-sig-check");
}
else
@@ -3179,7 +3182,7 @@ gpg_keylist_ext (void *engine, const char *pattern[], int secret_only,
static gpgme_error_t
-gpg_keylist_data (void *engine, gpgme_data_t data)
+gpg_keylist_data (void *engine, gpgme_keylist_mode_t mode, gpgme_data_t data)
{
engine_gpg_t gpg = engine;
gpgme_error_t err;
@@ -3198,6 +3201,9 @@ gpg_keylist_data (void *engine, gpgme_data_t data)
err = add_arg (gpg, "--dry-run");
if (!err)
err = add_arg (gpg, "--import");
+ if (!err && (mode & GPGME_KEYLIST_MODE_SIGS)
+ && have_gpg_version (gpg, "2.0.10"))
+ err = add_arg (gpg, "--with-sig-check");
if (!err)
err = add_arg (gpg, "--");
if (!err)