summaryrefslogtreecommitdiffstats
path: root/src/decrypt.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2026-04-23 14:29:53 +0200
committerWerner Koch <[email protected]>2026-04-23 14:29:53 +0200
commit63f18298d3f5c5f7551301b1e183890c503c644a (patch)
tree6f66b01d41bc7679272ac673e551cfef10d7357c /src/decrypt.c
parentindent: Align a debug output. (diff)
downloadgpgme-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/decrypt.c')
-rw-r--r--src/decrypt.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/decrypt.c b/src/decrypt.c
index c6030eef..2fea1e0d 100644
--- a/src/decrypt.c
+++ b/src/decrypt.c
@@ -89,6 +89,7 @@ release_op_data (void *hook)
free (opd->result.unsupported_algorithm);
free (opd->result.file_name);
free (opd->result.session_key);
+ free (opd->result.session_hash);
free (opd->result.symkey_algo);
while (recipient)
@@ -480,6 +481,12 @@ _gpgme_decrypt_status_handler (void *priv, gpgme_status_code_t code,
opd->result.session_key = strdup(args);
break;
+ case GPGME_STATUS_SESSION_HASH:
+ if (opd->result.session_hash)
+ free (opd->result.session_hash);
+ opd->result.session_hash = strdup (args);
+ break;
+
case GPGME_STATUS_NO_SECKEY:
{
gpgme_recipient_t rec = opd->result.recipients;