aboutsummaryrefslogtreecommitdiffstats
path: root/lang/cpp/src/context_glib.cpp
diff options
context:
space:
mode:
authorIngo Klöcker <[email protected]>2023-01-18 10:48:02 +0000
committerIngo Klöcker <[email protected]>2023-01-18 10:48:02 +0000
commit5d8316da1d3dd0ab73743898e76c51932d0f13e2 (patch)
tree7621431247d6fa0bbe548a138aac3d5efe5bcdf1 /lang/cpp/src/context_glib.cpp
parentcore: Defer adding --status-fd and --logger-fd to argument list (diff)
downloadgpgme-5d8316da1d3dd0ab73743898e76c51932d0f13e2.tar.gz
gpgme-5d8316da1d3dd0ab73743898e76c51932d0f13e2.zip
core: Support usage of gpgtar for encryption
* src/gpgme.h.in (GPGME_ENCRYPT_ARCHIVE): New encryption flag. * src/engine-gpg.c (arg_and_data_s): New field gpg_arg. (engine_gpg): New flag use_gpgtar. (_add_arg): Add argument gpg_arg and set it. (add_arg_ext, add_arg_with_locp, add_arg, add_arg_pfx, add_arg_len): Adjust call of _add_arg. (add_arg_with_locp): Add argument front. (add_gpg_arg, add_gpg_arg_with_value): New. (gpg_new): Use add_gpg_arg_with_value for gpg-only options with a value and add_gpg_arg for gpg-only options without. (build_argv): Consider usage of gpgtar when counting arguments to pass to gpg/gpgtar. Prepend "--gpg-args" to all gpg-only arguments if gpgtar is used. (start): Set program to use. Read diagnostics output from stderr when using gpgtar. Do not pass --status-fd to gpgtar for gpg < 2.4.1. Use add_gpg_arg_with_value for --lc-ctype and --lc-messages. (gpg_encrypt): Set use_gpgtar engine flag if GPGME_ENCRYPT_ARCHIVE flag is set. Check for new enough gpg and incompatible flags. 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/engine-gpgsm.c (gpgsm_encrypt): Return error if new flag is set. * src/engine-uiserver.c (uiserver_encrypt): Ditto. * tests/run-encrypt.c (show_usage): New options --archive and --diagnostics. (main): Parse new options. Encrypt with gpgtar if --archive is given. Print stderr of gpg/gpgtar if --diagnostics is given. -- With this change the gpgme_op_encrypt* functions get support for encrypting a list of files and/or directories passed as NUL-separated list in "plain" data with gpgtar. GnuPG-bug-id: 6342
Diffstat (limited to 'lang/cpp/src/context_glib.cpp')
0 files changed, 0 insertions, 0 deletions