diff options
author | Werner Koch <[email protected]> | 2016-07-13 12:45:02 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-07-13 12:45:02 +0000 |
commit | d8d5f5a16712244fe6eff860b6ac5f007b1bf870 (patch) | |
tree | 08fa3d61daa6b1b02c566df56c1e2926de5ef674 /lang/cpp/src | |
parent | core: Pass the engine's version string to the engine's new function. (diff) | |
download | gpgme-d8d5f5a16712244fe6eff860b6ac5f007b1bf870.tar.gz gpgme-d8d5f5a16712244fe6eff860b6ac5f007b1bf870.zip |
core: New GPGME_DATA_ENCODING_MIME.
* src/gpgme.h.in (GPGME_DATA_ENCODING_MIME): New.
* src/data.c (gpgme_data_set_encoding): Adjust check.
* src/engine-gpg.c (have_gpg_version): New.
(gpg_encrypt, gpg_encrypt_sign): Pass flag '--mimemode'.
(gpg_sign): Ditto.
* lang/cpp/src/data.h (GpgME): Add MimeEncoding.
* lang/cpp/src/data.cpp (encoding, setEncoding): Support MimeEncoding.
* src/gpgme-tool.c (server_data_encoding): Add flag --mime.
--
This feature allows an application to declare that the encrypted or
signed data is a valid MIME part.
What is missing is a way to return that information to the application
after decryption/verification. This can be done by setting the
encoding of the output data object; however this requires some
internal additions to our processing model.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r-- | lang/cpp/src/data.cpp | 2 | ||||
-rw-r--r-- | lang/cpp/src/data.h | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/lang/cpp/src/data.cpp b/lang/cpp/src/data.cpp index af1c479a..64acb47f 100644 --- a/lang/cpp/src/data.cpp +++ b/lang/cpp/src/data.cpp @@ -146,6 +146,7 @@ GpgME::Data::Encoding GpgME::Data::encoding() const case GPGME_DATA_ENCODING_BINARY: return BinaryEncoding; case GPGME_DATA_ENCODING_BASE64: return Base64Encoding; case GPGME_DATA_ENCODING_ARMOR: return ArmorEncoding; + case GPGME_DATA_ENCODING_MIME: return MimeEncoding; } return AutoEncoding; } @@ -158,6 +159,7 @@ GpgME::Error GpgME::Data::setEncoding(Encoding enc) case BinaryEncoding: ge = GPGME_DATA_ENCODING_BINARY; break; case Base64Encoding: ge = GPGME_DATA_ENCODING_BASE64; break; case ArmorEncoding: ge = GPGME_DATA_ENCODING_ARMOR; break; + case MimeEncoding: ge = GPGME_DATA_ENCODING_MIME; break; } return Error(gpgme_data_set_encoding(d->data, ge)); } diff --git a/lang/cpp/src/data.h b/lang/cpp/src/data.h index d5e54aaa..b2f2173f 100644 --- a/lang/cpp/src/data.h +++ b/lang/cpp/src/data.h @@ -77,7 +77,8 @@ public: AutoEncoding, BinaryEncoding, Base64Encoding, - ArmorEncoding + ArmorEncoding, + MimeEncoding }; Encoding encoding() const; Error setEncoding(Encoding encoding); |