diff options
author | NIIBE Yutaka <[email protected]> | 2020-11-12 04:11:08 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2020-11-12 04:11:08 +0000 |
commit | 3382ecb17eb5d2a373cf2eccb301854fff42f6aa (patch) | |
tree | 48a43dbca14d4a6501fc9324bd5d6c565c9f982e | |
parent | python: Fix a test for newer GnuPG (>= 2.3). (diff) | |
download | gpgme-3382ecb17eb5d2a373cf2eccb301854fff42f6aa.tar.gz gpgme-3382ecb17eb5d2a373cf2eccb301854fff42f6aa.zip |
core: Support exporting secret keys.
* src/export.c (export_start): Set command handler for passphrase
interaction for the case when it's secret keys.
(export_ext_start): Likewise.
--
GnuPG-bug-id: 5046
Co-authored-by: Louis Dupré Bertoni
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | src/export.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/export.c b/src/export.c index 7e394dff..f827efac 100644 --- a/src/export.c +++ b/src/export.c @@ -163,6 +163,14 @@ export_start (gpgme_ctx_t ctx, int synchronous, const char *pattern, if (err) return err; + if (ctx->passphrase_cb) + { + err = _gpgme_engine_set_command_handler + (ctx->engine, _gpgme_passphrase_command_handler, ctx); + if (err) + return err; + } + _gpgme_engine_set_status_handler (ctx->engine, export_status_handler, ctx); return _gpgme_engine_op_export (ctx->engine, pattern, mode, keydata, @@ -258,6 +266,14 @@ export_ext_start (gpgme_ctx_t ctx, int synchronous, const char *pattern[], if (err) return err; + if (ctx->passphrase_cb) + { + err = _gpgme_engine_set_command_handler + (ctx->engine, _gpgme_passphrase_command_handler, ctx); + if (err) + return err; + } + _gpgme_engine_set_status_handler (ctx->engine, export_status_handler, ctx); return _gpgme_engine_op_export_ext (ctx->engine, pattern, mode, keydata, |