<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src, branch gpgme-1.5.1</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.5.1</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.5.1'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2014-07-30T09:04:55Z</updated>
<entry>
<title>Fix possible realloc overflow for gpgsm and uiserver engines.</title>
<updated>2014-07-30T09:04:55Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-07-30T09:04:55Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=2cbd76f7911fc215845e89b50d6af5ff4a83dd77'/>
<id>urn:sha1:2cbd76f7911fc215845e89b50d6af5ff4a83dd77</id>
<content type='text'>
* src/engine-gpgsm.c (status_handler):
* src/engine-uiserver.c (status_handler):
--

After a realloc (realloc is also used for initial alloc) the allocated
size if the buffer is not correctly recorded.  Thus an overflow can be
introduced by receiving data with different line lengths in a specific
order.  This is not easy exploitable because libassuan constructs the
line.  However a crash has been reported and thus it might be possible
to constructs an exploit.

CVE-id: CVE-2014-3564
Reported-by: Tomáš Trnka
</content>
</entry>
<entry>
<title>w32: Get IOSPAWN flag back in sync with spawn helper.</title>
<updated>2014-06-26T08:42:56Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-06-25T18:25:28Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=68116fa5f67238a60bb8be375cc959262fa021d3'/>
<id>urn:sha1:68116fa5f67238a60bb8be375cc959262fa021d3</id>
<content type='text'>
* src/gpgme-w32spawn.c: Include priv-io.h.
</content>
</entry>
<entry>
<title>w32: Add comment about a compiler warning</title>
<updated>2014-06-26T08:41:46Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-06-25T18:25:28Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=efaf42205c5578c45bd1249cf777d893623eae35'/>
<id>urn:sha1:efaf42205c5578c45bd1249cf777d893623eae35</id>
<content type='text'>
--
</content>
</entry>
<entry>
<title>Add new reason codes to the INV_RECP status code.</title>
<updated>2014-06-10T12:52:06Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-06-10T12:52:06Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=86260b47c9e306e325103d1af767842357647e60'/>
<id>urn:sha1:86260b47c9e306e325103d1af767842357647e60</id>
<content type='text'>
* src/op-support.c (_gpgme_parse_inv_recp): Add codes 13 and 14.
</content>
</entry>
<entry>
<title>Add new keylist mode GPGME_KEYLIST_MODE_WITH_SECRET.</title>
<updated>2014-06-04T07:57:54Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-06-04T07:57:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=4dc9af24156b4fd52c7b76e7522b9b7a64e5386a'/>
<id>urn:sha1:4dc9af24156b4fd52c7b76e7522b9b7a64e5386a</id>
<content type='text'>
* src/gpgme.h.in (GPGME_KEYLIST_MODE_WITH_SECRET): New.
* src/engine-gpg.c (gpg_keylist_build_options): Handle new mode.
* src/engine-gpgsm.c (gpgsm_keylist, gpgsm_keylist_ext): Ditto.
* src/keylist.c (parse_sec_field15): Add arg key and take care of
--with-secret output.

* src/gpgme-tool.c (gt_get_keylist_mode, cmd_keylist_mode): Add
"with_secret".  Print card info and and secret flag for subkeys.
--

Note: This mode may only be used with GnuPG &gt;= 2.1.
</content>
</entry>
<entry>
<title>Add 6 new GPGME_STATUS_ codes.</title>
<updated>2014-05-13T14:08:01Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-13T13:44:52Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=de6caeed6d6432101c673c35717f152d5facf823'/>
<id>urn:sha1:de6caeed6d6432101c673c35717f152d5facf823</id>
<content type='text'>
* src/status-table.c: Also add missing DECRYPTION_INFO entry.
</content>
</entry>
<entry>
<title>Add field CURVE to the key info.</title>
<updated>2014-05-08T18:39:15Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-08T18:39:15Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=88f15336ec0eadde68ff2618349efb9006b8e801'/>
<id>urn:sha1:88f15336ec0eadde68ff2618349efb9006b8e801</id>
<content type='text'>
* src/gpgme.h.in (struct _gpgme_subkey): Add field CURVE.
* src/key.c (gpgme_key_unref): Free CURVE.
* src/keylist.c (keylist_colon_handler): Set CURVE.

* src/gpgme.c (gpgme_release): For failsafe reasons reset engine and
engine info after freeing.
--

The engine hack is useful in case the other release functions
accidently call engine release.
</content>
</entry>
<entry>
<title>Fix a memory access and a double slash bug.</title>
<updated>2014-05-08T18:35:57Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-08T18:35:57Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=de4a1ea684e1591975feb801e7651309e1ee2c49'/>
<id>urn:sha1:de4a1ea684e1591975feb801e7651309e1ee2c49</id>
<content type='text'>
* src/engine-spawn.c (engspawn_start): Allocate space for list
terminator.
* src/posix-util.c (walk_path): Fix trailing slash detection.
--

Kudos to Valgrind for pointing out these two problems.

The first is a plain allocation bug in a code pattern I have written
thousands of times - this time it went wrong.  The allocation is not
user controlled thus not directly exploitable.

The second is missed to do what it intended to do.  Found due to the
access of malloced but not initialized memory.  Not using calloc
again proved to be helpful to detect logical error.
</content>
</entry>
<entry>
<title>Map public key algos returned by gpg to gpgme values.</title>
<updated>2014-05-08T12:11:58Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-08T12:03:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=d5fb92cdaed21eea2f1a921e4f11df72635a8462'/>
<id>urn:sha1:d5fb92cdaed21eea2f1a921e4f11df72635a8462</id>
<content type='text'>
* src/conversion.c (_gpgme_map_pk_algo): New.
* src/decrypt.c (parse_enc_to): Add arg PROTOCOL and map pubkey algo.
(_gpgme_decrypt_status_handler): Map pubkey algo.
* src/keylist.c (keylist_colon_handler): Map pubkey algo.
* src/sign.c (parse_sig_created): Add arg PROTOCOL and map pubkey
algo.
* src/verify.c (parse_new_sig): Ditto.
(parse_valid_sig): Ditto.

* src/gpgme.h.in (GPGME_PK_ECC): New.
(GPGME_MD_SHA224): New.
* src/gpgme.c (gpgme_pubkey_algo_name): Add GPGME_PK_ECC case.
(gpgme_hash_algo_name): Add GPGME_MD_SHA224.
--

This affects only the not yet released ECC code of GnuPG 2.1.
</content>
</entry>
<entry>
<title>Add GPGME_ENCRYPT_NO_COMPRESS flag.</title>
<updated>2014-05-08T09:31:30Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-05-08T09:31:30Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=991cde9e79fec70aad093ded383c5574d30f9388'/>
<id>urn:sha1:991cde9e79fec70aad093ded383c5574d30f9388</id>
<content type='text'>
* src/gpgme.h.in (GPGME_ENCRYPT_NO_COMPRESS): New.
* src/engine-gpg.c (gpg_encrypt, gpg_encrypt_sign): Implement it.
* src/gpgme-tool.c (_cmd_sign_encrypt): Add option --no-compress.
</content>
</entry>
</feed>
