From 3e31f648e513bed0029b09104d416d25fca08868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ingo=20Kl=C3=B6cker?= Date: Thu, 26 Jan 2023 11:59:50 +0100 Subject: [PATCH] cpp: Support all encryption flags * lang/cpp/src/context.h (WantAddress): New flag. * lang/cpp/src/context.cpp (encryptflags2encryptflags): Convert WantAddress to corresponding gpgme encrypt flags. (operator<<): Add new flag to debug stream. -- GnuPG-bug-id: 6359 --- NEWS | 4 ++++ lang/cpp/src/context.cpp | 4 ++++ lang/cpp/src/context.h | 3 ++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index b5fb0a73..fc71d685 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,9 @@ Noteworthy changes in version 1.18.1 (unreleased) * cpp: Handle error when trying to sign expired keys. [T6155] + * cpp: Support encryption flags ThrowKeyIds, EncryptWrap, and WantAddress. + [T6359] + * cpp, qt: Fix building with C++11. [T6141] * qt: Fix problem with expiration dates after 2038-01-19 on 32-bit systems @@ -26,6 +29,7 @@ Noteworthy changes in version 1.18.1 (unreleased) gpgme_set_ctx_flag EXTENDED: New flag 'no-auto-check-trustdb'. cpp: GpgGenCardKeyInteractor::Curve NEW. cpp: GpgGenCardKeyInteractor::setCurve NEW. + cpp: Context::WantAddress NEW. qt: ListAllKeysJob::Option NEW. qt: ListAllKeysJob::Options NEW. qt: ListAllKeysJob::setOptions NEW. diff --git a/lang/cpp/src/context.cpp b/lang/cpp/src/context.cpp index d071c91c..120c7c70 100644 --- a/lang/cpp/src/context.cpp +++ b/lang/cpp/src/context.cpp @@ -1341,6 +1341,9 @@ static gpgme_encrypt_flags_t encryptflags2encryptflags(Context::EncryptionFlags if (flags & Context::EncryptWrap) { result |= GPGME_ENCRYPT_WRAP; } + if (flags & Context::WantAddress) { + result |= GPGME_ENCRYPT_WANT_ADDRESS; + } return static_cast(result); } @@ -1917,6 +1920,7 @@ std::ostream &operator<<(std::ostream &os, Context::EncryptionFlags flags) CHECK(Symmetric); CHECK(ThrowKeyIds); CHECK(EncryptWrap); + CHECK(WantAddress); #undef CHECK return os << ')'; } diff --git a/lang/cpp/src/context.h b/lang/cpp/src/context.h index 7bd1b03d..3c3544d2 100644 --- a/lang/cpp/src/context.h +++ b/lang/cpp/src/context.h @@ -447,7 +447,8 @@ public: NoCompress = 16, Symmetric = 32, ThrowKeyIds = 64, - EncryptWrap = 128 + EncryptWrap = 128, + WantAddress = 256, }; EncryptionResult encrypt(const std::vector &recipients, const Data &plainText, Data &cipherText, EncryptionFlags flags); GpgME::Error encryptSymmetrically(const Data &plainText, Data &cipherText);