summaryrefslogtreecommitdiffstats
path: root/src/engine.c
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2026-01-14 13:58:49 +0100
committerIngo Klöcker <[email protected]>2026-01-14 16:09:19 +0100
commit1823e06216f2e9eee302ae1233d635a4a92c03f6 (patch)
tree48dcdf844916b16f886b10d8dd2a0405c431420b /src/engine.c
parenttests: It's start-stop-agent which invokes gpg-agent. (diff)
downloadgpgme-1823e06216f2e9eee302ae1233d635a4a92c03f6.tar.gz
gpgme-1823e06216f2e9eee302ae1233d635a4a92c03f6.zip
Allow setting export filters when exporting keys
* src/context.h (struct gpgme_context): New field export_filter. * src/engine-backend.h (struct engine_ops): Add arg export_filter to field 'export' and field 'export_ext'. * src/engine-gpg.c (export_common): Add arg export_filter and pass option --export-filter with argument value to gpg. (gpg_export, gpg_export_ext): Add arg export_filter and pass it to export_common. Adjust all callers of the two functions. * src/engine-gpgsm.c (gpgsm_export, gpgsm_export_ext): Add dummy arg export_filter. * src/gpgme.c (gpgme_release): Free 'export_filter'. (gpgme_set_ctx_flag, gpgme_get_ctx_flag): New flag "export-filter". * tests/run-export.c (main): Add option --export-filter. -- This makes the --export-filter option available in the GPGME API for key exports. GnuPG-bug-id: 8033
Diffstat (limited to 'src/engine.c')
-rw-r--r--src/engine.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/engine.c b/src/engine.c
index d341488e..d750f7bb 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -760,7 +760,7 @@ _gpgme_engine_op_encrypt_sign (engine_t engine, gpgme_key_t recp[],
gpgme_error_t
_gpgme_engine_op_export (engine_t engine, const char *pattern,
gpgme_export_mode_t mode, gpgme_data_t keydata,
- int use_armor)
+ const char *export_filter, int use_armor)
{
if (!engine)
return gpg_error (GPG_ERR_INV_VALUE);
@@ -769,14 +769,14 @@ _gpgme_engine_op_export (engine_t engine, const char *pattern,
return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
return (*engine->ops->export) (engine->engine, pattern, mode,
- keydata, use_armor);
+ keydata, export_filter, use_armor);
}
gpgme_error_t
_gpgme_engine_op_export_ext (engine_t engine, const char *pattern[],
unsigned int reserved, gpgme_data_t keydata,
- int use_armor)
+ const char *export_filter, int use_armor)
{
if (!engine)
return gpg_error (GPG_ERR_INV_VALUE);
@@ -785,7 +785,7 @@ _gpgme_engine_op_export_ext (engine_t engine, const char *pattern[],
return gpg_error (GPG_ERR_NOT_IMPLEMENTED);
return (*engine->ops->export_ext) (engine->engine, pattern, reserved,
- keydata, use_armor);
+ keydata, export_filter, use_armor);
}