Home GnuPG
Diffusion GPGME 0ca45e48b45a

core: Support usage of gpgtar for creating a signed archive

Description

core: Support usage of gpgtar for creating a signed archive

* src/gpgme.h.in (GPGME_SIG_MODE_ARCHIVE): New signature mode.
* src/engine-gpg.c (append_args_from_sender,
append_args_from_sig_notations): Use add_gpg_arg_with_value
for gpg-only options with a value.
(gpg_sign): Set use_gpgtar engine flag if GPGME_SIG_MODE_ARCHIVE mode
is set. Check for new enough gpg. Use add_gpg_arg_with_value for
gpg-only options with a value and add_gpg_arg for gpg-only options
without a value. Set extra options for gpgtar and pass input data to
stdin when using gpgtar.
* src/sign.c (sign_start): Add GPGME_SIG_MODE_ARCHIVE as valid mode.
* tests/run-sign.c (show_usage): New options --archive and
--diagnostics.
(main): Parse new options. Sign with gpgtar if --archive is given.
Print stderr of gpg/gpgtar if --diagnostics is given.

With this change the gpgme_op_sign* functions get support for
creating a signed archive from files and/or directories passed as
NUL-separated list in the "in" data with gpgtar.

Details

Provenance
ikloeckerAuthored on Jan 19 2023, 10:45 AM
Parents
rMaa201b0bb63d: core: Fix --set-filename argument
Branches
Unknown
Tags
Unknown
Tasks
T6342: GPGME/Kleopatra: Extend gpgme to use gpgtar