aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine-gpg.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2017-03-21 18:02:20 +0000
committerWerner Koch <[email protected]>2017-03-21 18:03:58 +0000
commit421ddd1e6706046c5062417fd69a87e10c9fc0a9 (patch)
treea48e37f5fd1c22c2f295c5f63537a8726ab5c9fd /src/engine-gpg.c
parentpython: Wrap 'gpgme_op_keylist_from_data_start'. (diff)
downloadgpgme-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.c11
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)
{