<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/NEWS, branch gsoc/jacob-key-import</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gsoc%2Fjacob-key-import</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gsoc%2Fjacob-key-import'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2018-06-08T14:19:47Z</updated>
<entry>
<title>cpp: Add proper gpgme_op_createkey</title>
<updated>2018-06-08T14:19:47Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-06-08T14:19:47Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8dff414e170e4df8ea661028c4ac1588311ca26e'/>
<id>urn:sha1:8dff414e170e4df8ea661028c4ac1588311ca26e</id>
<content type='text'>
* lang/cpp/src/context.cpp, lang/cpp/src/context.h
(Context::createKeyEx): New.

--
The createKeyEx function follows the usual pattern that the
synchronous call returns a result directly while for the
async an extra call is neccessary.
</content>
</entry>
<entry>
<title>cpp: Add gpgme_(get)set_ctx_flag</title>
<updated>2018-06-01T09:10:45Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-06-01T09:08:12Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=00b027af86f33782933c6200fe1ffe40e85f4346'/>
<id>urn:sha1:00b027af86f33782933c6200fe1ffe40e85f4346</id>
<content type='text'>
* NEWS: Mention API extensions.
* lang/cpp/src/context.cpp, lang/cpp/src/context.h
(Context::setFlag, Context::getFlag): New.
</content>
</entry>
<entry>
<title>core: New context flag "ignore-mdc-error".</title>
<updated>2018-05-31T23:29:34Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2018-05-31T23:29:20Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=662604c5bcb4e03d3c9ecc670d4f320a2418ebb3'/>
<id>urn:sha1:662604c5bcb4e03d3c9ecc670d4f320a2418ebb3</id>
<content type='text'>
* src/context.h (gpgme_context): Add field ignore_mdc_error.
* src/gpgme.c (gpgme_set_ctx_flag, gpgme_get_ctx_flag): Set/get it.
* src/engine-gpg.c (engine_gpg): Add flags.ignore_mdc_error.
(gpg_set_engine_flags): Set it.
(build_argv): Pass option to gpg.
* src/decrypt.c (_gpgme_decrypt_status_handler): Take care of flag.
(gpgme_op_decrypt_result): Clear flag.
(gpgme_op_decrypt): Clear flag.
* src/decrypt-verify.c (gpgme_op_decrypt_verify): Clear flag
(gpgme_op_decrypt_ext): Clear flag.

* tests/run-decrypt.c (show_usage): Add option --ignore-mdc-error.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>core: New decryption result flag 'legacy_cipher_nomdc'.</title>
<updated>2018-05-31T23:01:08Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2018-05-31T23:01:08Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=dd19cabe81b7bf4177ea2ca741f6eb6cd1cab25e'/>
<id>urn:sha1:dd19cabe81b7bf4177ea2ca741f6eb6cd1cab25e</id>
<content type='text'>
* src/gpgme.h.in (_gpgme_op_decrypt_result): Add flag
legacy_cipher_nomdc.
* src/decrypt.c (parse_status_error): Set this flag.
* tests/run-decrypt.c (print_result): print it.
(main): Print the result even on error.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>cpp: Add gpgme_data_rewind to cpp API</title>
<updated>2018-05-29T07:19:50Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-05-29T07:16:22Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=618aa7f08db41911f25632d9fba23bca80908ebe'/>
<id>urn:sha1:618aa7f08db41911f25632d9fba23bca80908ebe</id>
<content type='text'>
* lang/cpp/src/data.h, lang/cpp/src/data.cpp (Data::rewind): New.
* lang/qt/tests/t-various.cpp (testDataRewind): Test it.

--
The advantage of this convieniance function in GPGME is that
it avoids the messiness that are declarations with off_t.

GnuPG-Bug-Id: T3996
</content>
</entry>
<entry>
<title>cpp: Expose sessionKey and symkeyAlgo</title>
<updated>2018-05-22T10:08:01Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-05-22T10:08:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=28e3778ce21069006153bc156a414de6d9347962'/>
<id>urn:sha1:28e3778ce21069006153bc156a414de6d9347962</id>
<content type='text'>
* lang/cpp/decryptionresult.cpp, lang/cpp/decryptionresult.h
(DecryptionResult::symkeyAlgo, DecryptionResult::sessionKey): New.
</content>
</entry>
<entry>
<title>core: Always fail if an OpenPG message is not integrity protected.</title>
<updated>2018-05-17T07:16:05Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2018-05-17T07:14:40Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8a0c8c52510d9c2d934f85159f04b666286b1786'/>
<id>urn:sha1:8a0c8c52510d9c2d934f85159f04b666286b1786</id>
<content type='text'>
* src/decrypt.c (struct op_data_t): Add field not_integrity_protected.
(parse_decryption_info): Set this.  Also rename mode to aead_algo for
clarity.
(_gpgme_decrypt_status_handler): Force failure in case of a missing
MDC.
--

This extra check makes sure that a missing or stripped MDC in
 - gpg &lt; 2.1
 - or gpg 2.2 with an old cipher algorithm
will lead to a decryption failure.  gpg 2.3 will always fail in this
case.  Implementing this check here and not backporting the 2.3 change
to 2.2 has the benefit that all GPGME using applications are protected
but scripts relying on rfc2440 (i.e. without MDC) will only break when
migrating to 2.3.

Note that S/MIME has no integrity protection mechanism but gpgsm
neither emits a DECRYPTION_INFO status line, so an error will not be
triggered.  If in the future gpgsm supports authenticated encryption
it may issue a DECRYPTION_INFO line to force a failure here but it
will in that case also emit a DECRYPTION_FAILED anyway.

GnuPG-bug-id: 3981
Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>Post release updates</title>
<updated>2018-04-20T08:41:38Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2018-04-20T08:41:38Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=302ec1f9aa396f2207e9a0e0b87ebee4d28d5df2'/>
<id>urn:sha1:302ec1f9aa396f2207e9a0e0b87ebee4d28d5df2</id>
<content type='text'>
--
</content>
</entry>
<entry>
<title>Release 1.11.1</title>
<updated>2018-04-20T08:32:54Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2018-04-20T08:22:12Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2e9a14912fb906c17017553ccd0941d172e095ff'/>
<id>urn:sha1:2e9a14912fb906c17017553ccd0941d172e095ff</id>
<content type='text'>
* configure.ac: Bump LT version to C31/A20/R1.  For cpp to C13/A7/R0.
For qt to: C10/A3/R2.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>cpp: Add origin and last_update to UserID</title>
<updated>2018-04-19T09:56:15Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-04-19T09:56:15Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=d65d6329319bff8cc555999fc92a20e151762a10'/>
<id>urn:sha1:d65d6329319bff8cc555999fc92a20e151762a10</id>
<content type='text'>
* NEWS: Mention it.
* lang/cpp/src/key.cpp, lang/cpp/src/key.h (UserID::lastUpdate),
(UserID::origin): New.
(gpgme_origin_to_pp_origin): New helper.
</content>
</entry>
</feed>
