diff options
author | Ingo Klöcker <[email protected]> | 2020-08-14 09:11:23 +0000 |
---|---|---|
committer | Ingo Klöcker <[email protected]> | 2020-08-14 09:11:23 +0000 |
commit | f66f856c89b7c02e368afe2343de7cce50e6109e (patch) | |
tree | 7a49ff36dd54043a28de0b8d4e50efc45f71c852 /src/genkey.c | |
parent | qt: Support changing expiry of subkeys (diff) | |
download | gpgme-f66f856c89b7c02e368afe2343de7cce50e6109e.tar.gz gpgme-f66f856c89b7c02e368afe2343de7cce50e6109e.zip |
core: Add error handling to setexpire
* src/genkey.c (setexpire, gpgme_op_setexpire_start,
gpgme_op_setexpire): Move to ...
* src/setexpire.c: New.
* src/Makefile.am (main_sources): Add that file.
* src/context.h (ctx_op_data_id_t): Add OPDATA_SETEXPIRE.
* lang/qt/tests/t-various.cpp (testSetExpire): Test error handling.
--
Errors (and failures) emitted via status-fd need to be handled
explicitly, i.e. we need to provide an appropriate status handler with
corresponding op_data_t. Additionally, we need to set a passphrase
command handler if a passphrase callback is set in the context, e.g.
during tests.
GnuPG-bug-id: 4395
Diffstat (limited to 'src/genkey.c')
-rw-r--r-- | src/genkey.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/genkey.c b/src/genkey.c index 981a0093..77576b18 100644 --- a/src/genkey.c +++ b/src/genkey.c @@ -663,55 +663,3 @@ gpgme_op_set_uid_flag (gpgme_ctx_t ctx, { return set_uid_flag (ctx, 1, key, userid, name, value); } - -/* Set the expiration time of a key or its subkeys. See - --quick-set-expire in the gnupg documentation. */ -static gpg_error_t -setexpire (gpgme_ctx_t ctx, int synchronous, - gpgme_key_t key, - unsigned long expires, - const char *subfprs, - unsigned int reserved) -{ - gpgme_error_t err = 0; - - TRACE_BEG (DEBUG_CTX, "gpgme_op_setexpire", ctx, - "%d key=%p expiry: %lu subkeys: '%s' reserved=0x%x", - synchronous, key, expires, subfprs, reserved); - - if (!ctx || !key) - return TRACE_ERR (gpg_error (GPG_ERR_INV_ARG)); - - err = _gpgme_op_reset (ctx, synchronous); - if (err) - return err; - - err = _gpgme_engine_op_setexpire (ctx->engine, key, expires, subfprs, reserved); - - if (synchronous && !err) - err = _gpgme_wait_one (ctx); - return TRACE_ERR (err); -} - -/* See setexpire. */ -gpgme_error_t -gpgme_op_setexpire_start (gpgme_ctx_t ctx, - gpgme_key_t key, - unsigned long expires, - const char *subfprs, - unsigned int reserved) -{ - return setexpire (ctx, 0, key, expires, subfprs, reserved); -} - - -/* See setexpire. This is the synchronous variant. */ -gpgme_error_t -gpgme_op_setexpire (gpgme_ctx_t ctx, - gpgme_key_t key, - unsigned long expires, - const char *subfprs, - unsigned int reserved) -{ - return setexpire (ctx, 1, key, expires, subfprs, reserved); -} |