diff options
| author | Werner Koch <[email protected]> | 2026-04-23 14:29:53 +0200 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2026-04-23 14:29:53 +0200 |
| commit | 63f18298d3f5c5f7551301b1e183890c503c644a (patch) | |
| tree | 6f66b01d41bc7679272ac673e551cfef10d7357c /src/engine-gpg.c | |
| parent | indent: Align a debug output. (diff) | |
| download | gpgme-63f18298d3f5c5f7551301b1e183890c503c644a.tar.gz gpgme-63f18298d3f5c5f7551301b1e183890c503c644a.zip | |
New decryption flag GPGME_DECRYPT_SESSION_HASH.
* src/gpgme.h.in (_gpgme_op_decrypt_result): Add field session_hash.
(gpgme_decrypt_flags_t): Add flag GPGME_DECRYPT_SESSION_HASH.
(gpgme_status_code_t): Add flags GPGME_STATUS_SESSION_HASH.
* src/status-table.c (status_table): Add "SESSION_HASH".
* src/decrypt.c (release_op_data): Free new field.
(_gpgme_decrypt_status_handler): Handle new status code.
* src/engine-gpg.c (gpg_decrypt): Implement
GPGME_DECRYPT_SESSION_HASH.
* tests/run-decrypt.c (print_result): Print session_hash.
(main): Add option --show-session-hash.
Diffstat (limited to 'src/engine-gpg.c')
| -rw-r--r-- | src/engine-gpg.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/engine-gpg.c b/src/engine-gpg.c index b43740bd..8c4e38bf 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -1974,9 +1974,17 @@ gpg_decrypt (void *engine, err = add_arg (gpg, "--unwrap"); } - if (!err && (flags & GPGME_DECRYPT_LISTONLY)) + if (!err && (flags & GPGME_DECRYPT_LISTONLY) + && !(flags & GPGME_DECRYPT_SESSION_HASH)) err = add_arg (gpg, "--list-only"); + if (!err && (flags & GPGME_DECRYPT_SESSION_HASH) + && have_gpg_version (gpg, "2.5.19")) + err = add_arg (gpg, + (flags & GPGME_DECRYPT_LISTONLY)? "--show-only-session-hash" + /* */ : "--show-session-hash"); + + if (!err && export_session_key) err = add_gpg_arg (gpg, "--show-session-key"); |
