From d804a7a4bc871f38f6cdc2cd63af3ef004580437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= Date: Mon, 5 Aug 2024 17:14:01 +0200 Subject: 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 --- src/engine.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/engine.c') 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); +} -- cgit v1.2.3