diff options
author | Werner Koch <[email protected]> | 2017-03-21 18:02:20 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-03-21 18:03:58 +0000 |
commit | 421ddd1e6706046c5062417fd69a87e10c9fc0a9 (patch) | |
tree | a48e37f5fd1c22c2f295c5f63537a8726ab5c9fd /src/engine-gpg.c | |
parent | python: Wrap 'gpgme_op_keylist_from_data_start'. (diff) | |
download | gpgme-421ddd1e6706046c5062417fd69a87e10c9fc0a9.tar.gz gpgme-421ddd1e6706046c5062417fd69a87e10c9fc0a9.zip |
core: New API gpgme_op_set_uid_flag.
* src/gpgme.h.in (gpgme_op_set_uid_flag_start): New.
(gpgme_op_set_uid_flag_start): New.
* src/gpgme.def, src/libgpgme.vers: Add them.
* src/genkey.c (addrevuid_start): Change arg revoke to a flag.
(gpgme_op_revuid_start): Pass GENKEY_EXTRAFLAG_REVOKE for the fomer
revoke parameter.
(gpgme_op_revuid): Ditto.
(set_uid_flag): New.
(gpgme_op_set_uid_flag_start): New.
(gpgme_op_set_uid_flag): New.
* src/engine.h (GENKEY_EXTRAFLAG_SETPRIMARY): new.
* src/engine-gpg.c (gpg_adduid): Implement that flag.
* tests/run-genkey.c (main): New command --set-primary.
--
GnuPG-bug-id: 2931
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, 9 insertions, 2 deletions
diff --git a/src/engine-gpg.c b/src/engine-gpg.c index 6024529b..6e4b8339 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -2222,7 +2222,14 @@ gpg_adduid (engine_gpg_t gpg, if (!key || !key->fpr || !userid) return gpg_error (GPG_ERR_INV_ARG); - if ((extraflags & GENKEY_EXTRAFLAG_REVOKE)) + if ((extraflags & GENKEY_EXTRAFLAG_SETPRIMARY)) + { + if (!have_gpg_version (gpg, "2.1.20")) + err = gpg_error (GPG_ERR_NOT_SUPPORTED); + else + err = add_arg (gpg, "--quick-set-primary-uid"); + } + else if ((extraflags & GENKEY_EXTRAFLAG_REVOKE)) err = add_arg (gpg, "--quick-revuid"); else err = add_arg (gpg, "--quick-adduid"); @@ -2262,7 +2269,7 @@ gpg_genkey (void *engine, * USERID && !KEY - Create a new keyblock. * !USERID && KEY - Add a new subkey to KEY (gpg >= 2.1.14) * USERID && KEY && !ALGO - Add a new user id to KEY (gpg >= 2.1.14). - * + * or set a flag on a user id. */ if (help_data) { |