aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-09-14 16:44:33 +0000
committerWerner Koch <[email protected]>2016-09-14 16:59:55 +0000
commitbfd2bd0ccc9fed8284ef932ac788d4ca0dba0336 (patch)
treed5e1d2bf6ada915c1fc43343b32134fd84a798c8 /src/engine.c
parentpython: Clarify that we support Python 2.7 too. (diff)
downloadgpgme-bfd2bd0ccc9fed8284ef932ac788d4ca0dba0336.tar.gz
gpgme-bfd2bd0ccc9fed8284ef932ac788d4ca0dba0336.zip
core: New function gpgme_op_keysign.
* src/gpgme.h.in (gpgme_op_keysign_start, gpgme_op_keysign): New. (GPGME_KEYSIGN_LOCAL): New. (GPGME_KEYSIGN_LFSEP): New. (GPGME_KEYSIGN_NOEXPIRE): New. * src/context.h (ctx_op_data_id_t): Add OPDATA_KEYSIGN. * src/keysign.c: New. * src/Makefile.am (main_sources): Add keysig. * src/libgpgme.vers, src/gpgme.def: Add gpgme_op_keysign_start. * src/engine.c (_gpgme_engine_op_keysign): New. * src/engine-backend.h (engine_ops): Add 'keysign' and adjust all engine initializers. * src/engine-gpg.c (_add_arg): Add args PREFIX and ARGLEN and change callers to set them. (add_arg_pfx): New. (add_arg_len): New. (gpg_keysign): New. (_gpgme_engine_ops_gpg): Set keysign to gpg_keysign. * tests/run-keysign.c: New. * tests/Makefile.am (noinst_PROGRAMS): Add run-keysign. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/engine.c')
-rw-r--r--src/engine.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/engine.c b/src/engine.c
index b3bbcab7..47bb23ce 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -795,6 +795,22 @@ _gpgme_engine_op_genkey (engine_t engine,
gpgme_error_t
+_gpgme_engine_op_keysign (engine_t engine, gpgme_key_t key, const char *userid,
+ unsigned long expires, unsigned int flags,
+ gpgme_ctx_t ctx)
+{
+ if (!engine)
+ return gpg_error (GPG_ERR_INV_VALUE);
+
+ if (!engine->ops->keysign)
+ return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
+
+ return (*engine->ops->keysign) (engine->engine,
+ key, userid, expires, flags, ctx);
+}
+
+
+gpgme_error_t
_gpgme_engine_op_import (engine_t engine, gpgme_data_t keydata,
gpgme_key_t *keyarray)
{