From d94f8b1d2fee7c70342420122fb52f81e800cd3c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Martti=20Rannanj=C3=A4rvi?= Date: Sat, 6 Aug 2016 22:12:13 +0300 Subject: [PATCH] lib-dcrypt: make decrypt_istream format and flags visible --- src/lib-dcrypt/istream-decrypt.c | 15 +++++++++++---- src/lib-dcrypt/istream-decrypt.h | 9 +++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/lib-dcrypt/istream-decrypt.c b/src/lib-dcrypt/istream-decrypt.c index 0924fa5408..3f60d9c7f3 100644 --- a/src/lib-dcrypt/istream-decrypt.c +++ b/src/lib-dcrypt/istream-decrypt.c @@ -36,12 +36,19 @@ struct decrypt_istream { struct dcrypt_context_symmetric *ctx_sym; struct dcrypt_context_hmac *ctx_mac; - enum { - DECRYPT_FORMAT_V1, - DECRYPT_FORMAT_V2 - } format; + enum decrypt_istream_format format; }; +enum decrypt_istream_format i_stream_encrypt_get_format(const struct istream *input) +{ + return ((const struct decrypt_istream*)input->real_stream)->format; +} + +enum io_stream_encrypt_flags i_stream_encrypt_get_flags(const struct istream *input) +{ + return ((const struct decrypt_istream*)input->real_stream)->flags; +} + static ssize_t i_stream_decrypt_read_header_v1(struct decrypt_istream *stream, const unsigned char *data, size_t mlen) diff --git a/src/lib-dcrypt/istream-decrypt.h b/src/lib-dcrypt/istream-decrypt.h index 0c59bc8ee8..34a22290ac 100644 --- a/src/lib-dcrypt/istream-decrypt.h +++ b/src/lib-dcrypt/istream-decrypt.h @@ -4,6 +4,11 @@ struct dcrypt_private_key; struct dcrypt_context_symmetric; +enum decrypt_istream_format { + DECRYPT_FORMAT_V1, + DECRYPT_FORMAT_V2 +}; + /* Look for a private key for a specified public key digest and set it to priv_key_r. Returns 1 if ok, 0 if key doesn't exist, -1 on internal error. */ typedef int @@ -27,4 +32,8 @@ struct istream * i_stream_create_decrypt_callback(struct istream *input, i_stream_decrypt_get_key_callback_t *callback, void *context); + +enum decrypt_istream_format i_stream_encrypt_get_format(const struct istream *input); +enum io_stream_encrypt_flags i_stream_encrypt_get_flags(const struct istream *input); + #endif -- 2.47.3