aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndre Heinecke <[email protected]>2015-07-02 08:19:04 +0000
committerWerner Koch <[email protected]>2015-07-31 13:18:27 +0000
commit08086dd6901740e155e4361212b4e9cff8a47296 (patch)
tree35720a30b75604c6235f00835feeaccf3c3d0ae7 /tests
parentbuild: ignore scissor line for the commit-msg hook (diff)
downloadgpgme-08086dd6901740e155e4361212b4e9cff8a47296.tar.gz
gpgme-08086dd6901740e155e4361212b4e9cff8a47296.zip
Add offline mode support for CMS keylisting
* doc/gpgme.texi: Document offline mode. * src/context.h (gpgme_context): Add offline. * src/engine-backend.h (keylist, keylist_ext): Add engine_flags. * src/engine.c, src/engine.h (_gpgme_engine_op_keylist): Ditto. (_gpgme_engine_op_keylist_ext): Ditto. * src/engine.h (GPGME_ENGINE_FLAG_OFFLINE): New. * src/engine-gpg.c (gpg_keylist, gpg_keylist_ext): Ditto. * src/engine-gpgsm.c (gpgsm_keylist): Handle engine_flags. (gpgsm_keylist_ext): Ditto. * src/gpgme.c (gpgme_set_offline, gpgme_get_offline): New. * src/gpgme.def (gpgme_set_offline, gpgme_get_offline): New. * src/gpgme.h.in (gpgme_set_offline, gpgme_get_offline): New. * src/libgpgme.vers (gpgme_set_offline, gpgme_get_offline): New. * src/keylist.c (gpgme_op_keylist_start): Set offline flag. (gpgme_op_keylist_ext_start): Ditto. * tests/run-keylist.c (show_usage, main): Add offline argument. -- The offline engine option was introduced with gpgsm 2.1.6 it is mainly useful for a full keylisting that includes the certificate validation but does not depend on external information that could take an indefinite amount of time to collect. Signed-off-by: Andre Heinecke <[email protected]>
Diffstat (limited to 'tests')
-rw-r--r--tests/run-keylist.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/run-keylist.c b/tests/run-keylist.c
index 07c6fa18..8abdf43d 100644
--- a/tests/run-keylist.c
+++ b/tests/run-keylist.c
@@ -53,6 +53,7 @@ show_usage (int ex)
" --ephemeral use GPGME_KEYLIST_MODE_EPHEMERAL\n"
" --validate use GPGME_KEYLIST_MODE_VALIDATE\n"
" --import import all keys\n"
+ " --offline use offline mode\n"
, stderr);
exit (ex);
}
@@ -72,6 +73,7 @@ main (int argc, char **argv)
int keyidx = 0;
gpgme_protocol_t protocol = GPGME_PROTOCOL_OpenPGP;
int only_secret = 0;
+ int offline = 0;
if (argc)
{ argc--; argv++; }
@@ -141,6 +143,11 @@ main (int argc, char **argv)
import = 1;
argc--; argv++;
}
+ else if (!strcmp (*argv, "--offline"))
+ {
+ offline = 1;
+ argc--; argv++;
+ }
else if (!strncmp (*argv, "--", 2))
show_usage (1);
@@ -157,6 +164,8 @@ main (int argc, char **argv)
gpgme_set_keylist_mode (ctx, mode);
+ gpgme_set_offline (ctx, offline);
+
err = gpgme_op_keylist_start (ctx, argc? argv[0]:NULL, only_secret);
fail_if_err (err);