aboutsummaryrefslogtreecommitdiffstats
path: root/tests/run-genkey.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-09-14 10:41:16 +0000
committerWerner Koch <[email protected]>2016-09-14 10:42:12 +0000
commitc943380b7a2cc9b32f81c22224fc6f92e8ea8469 (patch)
treeb55cc4419c35a32fcca9f895d80e25b3efc53fc1 /tests/run-genkey.c
parentcore: Change a parameter for the engine's genkey function. (diff)
downloadgpgme-c943380b7a2cc9b32f81c22224fc6f92e8ea8469.tar.gz
gpgme-c943380b7a2cc9b32f81c22224fc6f92e8ea8469.zip
core: New function gpgme_op_revuid.
* src/engine.h (GENKEY_EXTRAFLAG_REVOKE): New. * src/genkey.c (adduid_start): Rename to addrevuid_start. Add arg REVOKE and pass it as extraflags. Remove useless ARMOR extraflag. Adjust callers. (gpgme_op_revuid_start, gpgme_op_revuid): New. * src/gpgme.def, src/libgpgme.vers: Add them. * tests/run-genkey.c: Add option --revuid. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'tests/run-genkey.c')
-rw-r--r--tests/run-genkey.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/tests/run-genkey.c b/tests/run-genkey.c
index 959e2ea1..20e7db50 100644
--- a/tests/run-genkey.c
+++ b/tests/run-genkey.c
@@ -203,9 +203,11 @@ show_usage (int ex)
" args: USERID [ALGO [USAGE [EXPIRESECONDS]]]\n"
" for addkey: FPR [ALGO [USAGE [EXPIRESECONDS]]]\n"
" for adduid: FPR USERID\n"
+ " for revuid: FPR USERID\n"
"Options:\n"
" --addkey add a subkey to the key with FPR\n"
" --adduid add a user id to the key with FPR\n"
+ " --revuid Revoke a user id from the key with FPR\n"
" --verbose run in verbose mode\n"
" --status print status lines from the backend\n"
" --progress print progress info\n"
@@ -231,6 +233,7 @@ main (int argc, char **argv)
int use_loopback = 0;
int addkey = 0;
int adduid = 0;
+ int revuid = 0;
const char *userid;
const char *algo = NULL;
const char *newuserid = NULL;
@@ -255,12 +258,21 @@ main (int argc, char **argv)
{
addkey = 1;
adduid = 0;
+ revuid = 0;
argc--; argv++;
}
else if (!strcmp (*argv, "--adduid"))
{
addkey = 0;
adduid = 1;
+ revuid = 0;
+ argc--; argv++;
+ }
+ else if (!strcmp (*argv, "--revuid"))
+ {
+ addkey = 0;
+ adduid = 0;
+ revuid = 1;
argc--; argv++;
}
else if (!strcmp (*argv, "--verbose"))
@@ -307,7 +319,7 @@ main (int argc, char **argv)
show_usage (1);
}
- if (adduid)
+ if (adduid || revuid)
{
if (argc != 2)
show_usage (1);
@@ -346,7 +358,7 @@ main (int argc, char **argv)
gpgme_set_passphrase_cb (ctx, passphrase_cb, NULL);
}
- if (addkey || adduid)
+ if (addkey || adduid || revuid)
{
gpgme_key_t akey;
@@ -378,6 +390,16 @@ main (int argc, char **argv)
exit (1);
}
}
+ else if (revuid)
+ {
+ err = gpgme_op_revuid (ctx, akey, newuserid, flags);
+ if (err)
+ {
+ fprintf (stderr, PGM ": gpgme_op_revuid failed: %s\n",
+ gpg_strerror (err));
+ exit (1);
+ }
+ }
gpgme_key_unref (akey);
}
else