diff options
author | Werner Koch <[email protected]> | 2016-09-14 10:41:16 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-09-14 10:42:12 +0000 |
commit | c943380b7a2cc9b32f81c22224fc6f92e8ea8469 (patch) | |
tree | b55cc4419c35a32fcca9f895d80e25b3efc53fc1 /src/engine-gpg.c | |
parent | core: Change a parameter for the engine's genkey function. (diff) | |
download | gpgme-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 'src/engine-gpg.c')
-rw-r--r-- | src/engine-gpg.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/engine-gpg.c b/src/engine-gpg.c index db6637a2..534d5d10 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -2115,14 +2115,19 @@ gpg_addkey (engine_gpg_t gpg, static gpgme_error_t gpg_adduid (engine_gpg_t gpg, gpgme_key_t key, - const char *userid) + const char *userid, + unsigned int extraflags) { gpgme_error_t err; if (!key || !key->fpr || !userid) return gpg_error (GPG_ERR_INV_ARG); - err = add_arg (gpg, "--quick-adduid"); + if ((extraflags & GENKEY_EXTRAFLAG_REVOKE)) + err = add_arg (gpg, "--quick-revuid"); + else + err = add_arg (gpg, "--quick-adduid"); + if (!err) err = add_arg (gpg, "--"); if (!err) @@ -2184,7 +2189,7 @@ gpg_genkey (void *engine, else if (!userid && key) err = gpg_addkey (gpg, algo, expires, key, flags, extraflags); else if (userid && key && !algo) - err = gpg_adduid (gpg, key, userid); + err = gpg_adduid (gpg, key, userid, extraflags); else err = gpg_error (GPG_ERR_INV_VALUE); |