From db82e99a8a40c57a237dad030928d0fcf6b03ad7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= Date: Tue, 4 Aug 2020 14:32:31 +0200 Subject: core: New function gpgme_op_setexpire. * src/gpgme.h.in (gpgme_op_setexpire_start, gpgme_op_setexpire): New. * src/libgpgme.vers, src/gpgme.def: Add new functions. * src/genkey.c (setexpire): New. (gpgme_op_setexpire_start, gpgme_op_setexpire): New. * src/engine.h, src/engine.c: (_gpgme_engine_op_setexpire): New. * src/engine-backend.h (engine_ops): Add 'setexpire' and adjust all engine initializers. * src/engine-gpg.c (gpg_setexpire): New. (_gpgme_engine_ops_gpg): Set setexpire to gpg_setexpire. * doc/gpgme.texi: Document new functions. * tests/run-genkey.c: Add option --setexpire. -- This extends GPGME to support the --quick-set-expire command added by GnuPG 2.1.22. This allows changing subkeys expiry date without going through the editinteractor interface. Co-authored-by: Andre Heinecke GnuPG-bug-id: 4999 --- src/engine.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/engine.c') diff --git a/src/engine.c b/src/engine.c index ded2f4d1..aeb30c67 100644 --- a/src/engine.c +++ b/src/engine.c @@ -1128,3 +1128,17 @@ _gpgme_engine_op_spawn (engine_t engine, return (*engine->ops->opspawn) (engine->engine, file, argv, datain, dataout, dataerr, flags); } + +gpgme_error_t +_gpgme_engine_op_setexpire (engine_t engine, gpgme_key_t key, + unsigned long expires, const char *subfprs, + unsigned int reserved) +{ + if (!engine) + return gpg_error (GPG_ERR_INV_VALUE); + + if (!engine->ops->setexpire) + return gpg_error (GPG_ERR_NOT_IMPLEMENTED); + + return (*engine->ops->setexpire) (engine->engine, key, expires, subfprs, reserved); +} -- cgit v1.2.3