aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine-gpgsm.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-gpgsm.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-gpgsm.c')
-rw-r--r--src/engine-gpgsm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/engine-gpgsm.c b/src/engine-gpgsm.c
index d464aeed..206d3e4b 100644
--- a/src/engine-gpgsm.c
+++ b/src/engine-gpgsm.c
@@ -1672,12 +1672,14 @@ gpgsm_encrypt (void *engine, gpgme_key_t recp[], const char *recpstring,
static gpgme_error_t
gpgsm_export (void *engine, const char *pattern, gpgme_export_mode_t mode,
- gpgme_data_t keydata, int use_armor)
+ gpgme_data_t keydata, const char *export_filter, int use_armor)
{
engine_gpgsm_t gpgsm = engine;
gpgme_error_t err = 0;
char *cmd;
+ (void)export_filter;
+
if (!gpgsm)
return gpg_error (GPG_ERR_INV_VALUE);
@@ -1727,7 +1729,7 @@ gpgsm_export (void *engine, const char *pattern, gpgme_export_mode_t mode,
static gpgme_error_t
gpgsm_export_ext (void *engine, const char *pattern[], gpgme_export_mode_t mode,
- gpgme_data_t keydata, int use_armor)
+ gpgme_data_t keydata, const char *export_filter, int use_armor)
{
engine_gpgsm_t gpgsm = engine;
gpgme_error_t err = 0;
@@ -1736,6 +1738,8 @@ gpgsm_export_ext (void *engine, const char *pattern[], gpgme_export_mode_t mode,
int length = 7 + 9 + 9 + 1;
char *linep;
+ (void)export_filter;
+
if (!gpgsm)
return gpg_error (GPG_ERR_INV_VALUE);