diff options
author | Tobias Fella <[email protected]> | 2024-10-04 11:17:11 +0000 |
---|---|---|
committer | Tobias Fella <[email protected]> | 2024-10-04 11:39:17 +0000 |
commit | 4541fe94fe194a40630cb76c0d8305da62f9dc09 (patch) | |
tree | 9e1ee2bcba605a3318cb536035973a163fb35073 | |
parent | core: Allow GPGME_CREATE_ADSK also for gnupg 2.2.45 (diff) | |
download | gpgme-tobias/fix-proc-all-sigs-gpgtar.tar.gz gpgme-tobias/fix-proc-all-sigs-gpgtar.zip |
core: fix passing --proc-all-sigs to gpgtartobias/fix-proc-all-sigs-gpgtar
Currently, the flag is getting passed to gpgtar directly, which
doesn't know about the flag and exits. Instead, prepend a "--gpg-args"
to the parameter so that gpgtar passes it to gpg
GnuPG-Bug-ID: 7320
-rw-r--r-- | src/engine-gpg.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/engine-gpg.c b/src/engine-gpg.c index 6df0617a..318c0e35 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -1020,6 +1020,8 @@ build_argv (engine_gpg_t gpg, const char *pgmname) argc += 1 + !!gpg->flags.use_gpgtar; if (gpg->flags.no_auto_check_trustdb) argc += 1 + !!gpg->flags.use_gpgtar; + if (gpg->flags.proc_all_sigs && have_option_proc_all_sigs (gpg)) + argc += 1 + !!gpg->flags.use_gpgtar; if (gpg->pinentry_mode) argc += 1 + !!gpg->flags.use_gpgtar; if (!gpg->cmd.used) @@ -1260,6 +1262,16 @@ build_argv (engine_gpg_t gpg, const char *pgmname) argc++; if (gpg->flags.proc_all_sigs && have_option_proc_all_sigs (gpg)) { + if (gpg->flags.use_gpgtar) + { + argv[argc] = strdup ("--gpg-args"); + if (!argv[argc]) + { + err = gpg_error_from_syserror (); + goto leave; + } + argc++; + } argv[argc] = strdup ("--proc-all-sigs"); if (!argv[argc]) { |