diff options
| author | Ingo Klöcker <[email protected]> | 2026-01-14 13:58:49 +0100 |
|---|---|---|
| committer | Ingo Klöcker <[email protected]> | 2026-01-14 16:09:19 +0100 |
| commit | 1823e06216f2e9eee302ae1233d635a4a92c03f6 (patch) | |
| tree | 48dcdf844916b16f886b10d8dd2a0405c431420b /src/engine-gpgsm.c | |
| parent | tests: It's start-stop-agent which invokes gpg-agent. (diff) | |
| download | gpgme-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.c | 8 |
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); |
