aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine.c
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2024-08-05 15:14:01 +0000
committerIngo Klöcker <[email protected]>2024-08-06 10:43:28 +0000
commitd804a7a4bc871f38f6cdc2cd63af3ef004580437 (patch)
tree0d2343771232ee2f761b19471837b1726bf4f341 /src/engine.c
parentw32: Use UTF-8 for localized error descriptions for all threads (diff)
downloadgpgme-d804a7a4bc871f38f6cdc2cd63af3ef004580437.tar.gz
gpgme-d804a7a4bc871f38f6cdc2cd63af3ef004580437.zip
core: New function gpgme_op_setownertrust
* src/Makefile.am (main_sources): Add new file. * src/context.h (ctx_op_data_id_t): Add OPDATA_SETOWNERTRUST. * src/engine.c, src/engine.h (_gpgme_engine_op_setownertrust): New. * src/engine-backend.h (engine_ops): Add 'setownertrust' and adjust all engine initializers. * src/engine-gpg.c (gpg_setownertrust): New. (_gpgme_engine_ops_gpg): Set setownertrust to gpg_setownertrust. * src/gpgme.h.in (gpgme_op_setownertrust_start, gpgme_op_setownertrust): New. * src/gpgme.def, src/libgpgme.vers: Add new functions. * src/setownertrust.c: New. * doc/gpgme.texi: Document new functions. * tests/Makefile.am (noinst_PROGRAMS): Add new test program. * tests/run-setownertrust.c: New. * tests/gpg/Makefile.am (c_tests): Add new file. (LDADD): Add @GPG_ERROR_LIBS@. * tests/gpg/t-setownertrust.c: New. * tests/gpg/t-support.h (have_gpg_version): New. -- This extends GPGME to support the --quick-set-ownertrust command added by GnuPG 2.4.6. This allows changing the owner trust of keys and enabling/disabling keys without using the editinteractor interface. GnuPG-bug-id: 7239
Diffstat (limited to 'src/engine.c')
-rw-r--r--src/engine.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/engine.c b/src/engine.c
index f1efdf34..287e182f 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -1161,3 +1161,16 @@ _gpgme_engine_op_setexpire (engine_t engine, gpgme_key_t key,
return (*engine->ops->setexpire) (engine->engine, key, expires, subfprs, reserved);
}
+
+gpgme_error_t
+_gpgme_engine_op_setownertrust (engine_t engine, gpgme_key_t key,
+ const char *value)
+{
+ if (!engine)
+ return gpg_error (GPG_ERR_INV_VALUE);
+
+ if (!engine->ops->setownertrust)
+ return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
+
+ return (*engine->ops->setownertrust) (engine->engine, key, value);
+}