diff options
| author | Werner Koch <[email protected]> | 2016-09-14 09:40:34 +0000 | 
|---|---|---|
| committer | Werner Koch <[email protected]> | 2016-09-14 09:40:34 +0000 | 
| commit | 3210f3e4725afc5ee2810b9a1361918ec9c42ca4 (patch) | |
| tree | 742cdfee9596708ce838d88ca47236162821817e /tests | |
| parent | core: New function gpgme_op_createsubkey. (diff) | |
| download | gpgme-3210f3e4725afc5ee2810b9a1361918ec9c42ca4.tar.gz gpgme-3210f3e4725afc5ee2810b9a1361918ec9c42ca4.zip | |
core: New function gpgme_op_adduid.
* src/genkey.c: Replace most error codes GPG_ERR_INV_VALUE by
GPG_ERR_INV_ARG.
(struct op_data_t): Add field UIDMODE.
(genkey_status_handler): Use UIDMODE.
(adduid_start): New.
(gpgme_op_adduid_start, gpgme_op_adduid): New.
* src/gpgme.def, src/libgpgme.vers: Add them.
* tests/run-genkey.c: Add option --adduid.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/run-genkey.c | 72 | 
1 files changed, 55 insertions, 17 deletions
| diff --git a/tests/run-genkey.c b/tests/run-genkey.c index 3b645025..959e2ea1 100644 --- a/tests/run-genkey.c +++ b/tests/run-genkey.c @@ -199,9 +199,13 @@ parse_usage_string (const char *string)  static int  show_usage (int ex)  { -  fputs ("usage: " PGM " [options] USERID [ALGO [USAGE [EXPIRESECONDS]]]\n\n" +  fputs ("usage: " PGM " [options] ARGS\n" +         "         args: USERID [ALGO [USAGE [EXPIRESECONDS]]]\n" +         "   for addkey: FPR    [ALGO [USAGE [EXPIRESECONDS]]]\n" +         "   for adduid: FPR    USERID\n"           "Options:\n" -         "  --addkey         add a subkey to the key with USERID\n" +         "  --addkey         add a subkey to the key with FPR\n" +         "  --adduid         add a user id to the key with FPR\n"           "  --verbose        run in verbose mode\n"           "  --status         print status lines from the backend\n"           "  --progress       print progress info\n" @@ -226,8 +230,10 @@ main (int argc, char **argv)    int print_progress = 0;    int use_loopback = 0;    int addkey = 0; +  int adduid = 0;    const char *userid;    const char *algo = NULL; +  const char *newuserid = NULL;    unsigned int flags = 0;    unsigned long expire = 0;    gpgme_genkey_result_t result; @@ -248,6 +254,13 @@ main (int argc, char **argv)        else if (!strcmp (*argv, "--addkey"))          {            addkey = 1; +          adduid = 0; +          argc--; argv++; +        } +      else if (!strcmp (*argv, "--adduid")) +        { +          addkey = 0; +          adduid = 1;            argc--; argv++;          }        else if (!strcmp (*argv, "--verbose")) @@ -294,15 +307,25 @@ main (int argc, char **argv)          show_usage (1);      } -  if (!argc || argc > 4) -    show_usage (1); -  userid = argv[0]; -  if (argc > 1) -    algo = argv[1]; -  if (argc > 2) -    flags |= parse_usage_string (argv[2]); -  if (argc > 3) -    expire = parse_expire_string (argv[3]); +  if (adduid) +    { +      if (argc != 2) +        show_usage (1); +      userid = argv[0]; +      newuserid = argv[1]; +    } +  else +    { +      if (!argc || argc > 4) +        show_usage (1); +      userid = argv[0]; +      if (argc > 1) +        algo = argv[1]; +      if (argc > 2) +        flags |= parse_usage_string (argv[2]); +      if (argc > 3) +        expire = parse_expire_string (argv[3]); +    }    init_gpgme (protocol); @@ -323,7 +346,7 @@ main (int argc, char **argv)        gpgme_set_passphrase_cb (ctx, passphrase_cb, NULL);      } -  if (addkey) +  if (addkey || adduid)      {        gpgme_key_t akey; @@ -335,12 +358,25 @@ main (int argc, char **argv)            exit (1);          } -      err = gpgme_op_createsubkey (ctx, akey, algo, 0, expire, flags); -      if (err) +      if (addkey)          { -          fprintf (stderr, PGM ": gpgme_op_createsubkey failed: %s\n", -                   gpg_strerror (err)); -          exit (1); +          err = gpgme_op_createsubkey (ctx, akey, algo, 0, expire, flags); +          if (err) +            { +              fprintf (stderr, PGM ": gpgme_op_createsubkey failed: %s\n", +                       gpg_strerror (err)); +              exit (1); +            } +        } +      else if (adduid) +        { +          err = gpgme_op_adduid (ctx, akey, newuserid, flags); +          if (err) +            { +              fprintf (stderr, PGM ": gpgme_op_adduid failed: %s\n", +                       gpg_strerror (err)); +              exit (1); +            }          }        gpgme_key_unref (akey);      } @@ -373,6 +409,8 @@ main (int argc, char **argv)      fprintf (stderr, PGM": primary key was not generated\n");    if (!result->sub)      fprintf (stderr, PGM": sub key was not generated\n"); +  if (!result->uid) +    fprintf (stderr, PGM": uid was not generated\n");    gpgme_release (ctx);    return 0; | 
