diff options
| author | Werner Koch <[email protected]> | 2017-08-24 15:17:11 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2017-08-24 15:17:11 +0000 | 
| commit | 47f61df0704485b8165c9cf2a27ad57bcd864239 (patch) | |
| tree | 860f387301408fa7a5e4c3575b7c4b9f0fd941ff /tests | |
| parent | Set next version to 1.10.0 (diff) | |
| download | gpgme-47f61df0704485b8165c9cf2a27ad57bcd864239.tar.gz gpgme-47f61df0704485b8165c9cf2a27ad57bcd864239.zip | |
core: New context flag "auto-key-retrieve"
* src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag
"auto-key-retrieve".
* src/context.h (gpgme_context): New field auto_key_retrieve.
* src/engine-backend.h (struct engine_ops): Add arg auto_key_retrieve
to field 'decrypt'.
* src/engine-gpg.c (gpg_decrypt): Add arg auto_key_retrieve and pass
option --auto-key-retrieve to gpg.  Adjust all callers.
(gpg_verify): Ditto.
* src/engine-gpgsm.c (gpgsm_decrypt): Add dummy arg auto_key_retrieve.
* src/engine-uiserver.c (uiserver_decrypt): Ditto.
* tests/run-verify.c (main): Add option --auto-key-retrieve.
--
This makes the --auto-key-retrieve option available in the GPGME API.
Test plan:
Run
  GPGME_DEBUG=9:out tests/run-verify SIGNEDFILE
with and without its new option --auto-key-retrieve and check in the
trace stored in "out" whether --auto-key-retrieve was passed to gpg.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
| -rw-r--r-- | tests/run-verify.c | 21 | 
1 files changed, 21 insertions, 0 deletions
| diff --git a/tests/run-verify.c b/tests/run-verify.c index 3abc5728..b22e6446 100644 --- a/tests/run-verify.c +++ b/tests/run-verify.c @@ -222,6 +222,7 @@ show_usage (int ex)           "  --openpgp        use the OpenPGP protocol (default)\n"           "  --cms            use the CMS protocol\n"           "  --sender MBOX    use MBOX as sender address\n" +         "  --auto-key-retrieve\n"           , stderr);    exit (ex);  } @@ -231,6 +232,7 @@ int  main (int argc, char **argv)  {    int last_argc = -1; +  const char *s;    gpgme_error_t err;    gpgme_ctx_t ctx;    gpgme_protocol_t protocol = GPGME_PROTOCOL_OpenPGP; @@ -241,6 +243,7 @@ main (int argc, char **argv)    gpgme_verify_result_t result;    int print_status = 0;    const char *sender = NULL; +  int auto_key_retrieve = 0;    if (argc)      { argc--; argv++; } @@ -283,6 +286,12 @@ main (int argc, char **argv)            sender = *argv;            argc--; argv++;          } +      else if (!strcmp (*argv, "--auto-key-retrieve")) +        { +          auto_key_retrieve = 1; +          argc--; argv++; +        } +        else if (!strncmp (*argv, "--", 2))          show_usage (1); @@ -323,6 +332,18 @@ main (int argc, char **argv)      }    /* gpgme_set_ctx_flag (ctx, "raw-description", "1"); */ +  if (auto_key_retrieve) +    { +      gpgme_set_ctx_flag (ctx, "auto-key-retrieve", "1"); +      s = gpgme_get_ctx_flag (ctx, "auto-key-retrieve"); +      if (!s || strcmp (s, "1")) +        { +          fprintf (stderr, PGM ": gpgme_get_ctx_flag failed for '%s'\n", +                   "auto-key-retrieve"); +          exit (1); +        } +    } +    if (sender)      {        err = gpgme_set_sender (ctx, sender); | 
