<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src, branch bjk/master</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=bjk%2Fmaster</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=bjk%2Fmaster'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2014-10-16T23:32:13Z</updated>
<entry>
<title>Fix crash with built-in [v]asprintf().</title>
<updated>2014-10-16T23:32:13Z</updated>
<author>
<name>Ben Kibbey</name>
<email>bjk@luxsci.net</email>
</author>
<published>2014-10-16T23:26:41Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=fff2049c1bc7c627e11df8062ef1f96a7697954f'/>
<id>urn:sha1:fff2049c1bc7c627e11df8062ef1f96a7697954f</id>
<content type='text'>
* src/vasprintf.c (__gpgme_vasprintf): Copy the va_list.
--
Not sure why it needs to be done. Maybe because of dereferencing the
pointer while doing va_copy() int_vasprintf()? If we remove the
_BSD_VA_LIST stuff and pass a regular va_list all is fine.
</content>
</entry>
<entry>
<title>Add gpgme_set_global_malloc_hooks().</title>
<updated>2014-10-16T01:34:10Z</updated>
<author>
<name>Ben Kibbey</name>
<email>bjk@luxsci.net</email>
</author>
<published>2014-10-10T13:02:09Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=aea2c168fc9c12148181dbcc33d7085aad8e6d90'/>
<id>urn:sha1:aea2c168fc9c12148181dbcc33d7085aad8e6d90</id>
<content type='text'>
* configure.ac: Remove check for vasprintf().
* doc/gpgme.texi: Add documentation.
* src/gpgme.h.in (gpgme_malloc_hooks,gpgme_malloc_hooks_t): New.
* src/gpgme.h.in (gpgme_set_global_malloc_hooks): New prototype.
* src/mem.c, src/mem.h: New.
* src/gpgme.c (gpgme_set_global_malloc_hooks): New.
* src/gpgme.def, src/libgpgme.vers: Add gpgme_set_global_malloc_hooks.
* src/vasprintf.c (vasprintf): Rename to _gpgme_vasprintf().
* src/vasprintf.c (asprintf): Rename to _gpgme_asprintf().
* src/Makefile.am: Add mem.c, mem.h and vasprintf.c to main_sources.
* src/assuan-support.c, src/ath-pthread.c, src/conversion.c,
src/data-compat.c, src/data-identify.c, src/data-mem.c, src/data.c,
src/debug.c, src/decrypt.c, src/dirinfo.c, src/encrypt.c,
src/engine-assuan.c, src/engine-g13.c, src/engine-gpg.c,
src/engine-gpgconf.c, src/engine-gpgsm.c, src/engine-spawn.c,
src/engine-uiserver.c, src/engine.c, src/export.c, src/genkey.c,
src/get-env.c, src/gpgme-w32spawn.c, src/gpgme.c, src/import.c,
src/key.c, src/keylist.c, src/op-support.c, src/passphrase.c,
src/posix-io.c, src/posix-util.c, src/progress.c, src/setenv.c,
src/sig-notation.c, src/sign.c, src/signers.c, src/trust-item.c,
src/trustlist.c, src/util.h, src/verify.c, src/version.c,
src/vfs-create.c, src/vfs-mount.c, src/w32-ce.c, src/w32-ce.h,
src/w32-glib-io.c, src/w32-io.c, src/w32-sema.c, src/w32-util.c,
src/wait-global.c, src/wait.c:
Change allocation functions: free() to _gpgme_free(), malloc() to
_gpgme_malloc(), calloc() to _gpgme_calloc(), realloc() to
_gpgme_realloc() and strdup() to _gpgme_strdup().

--
Mostly borrowed from libassuan for custom memory handling. This changes
vasprintf.c to implement _gpgme_asprintf() and _gpgme_vasprintf() and
will always use the built-in vasprintf() even when provided by the OS.
</content>
</entry>
<entry>
<title>build: Implement SYSROOT feature.</title>
<updated>2014-10-02T13:57:50Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-10-02T13:48:53Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=4027a0a89724df3aeef8a964c529548d724b6a5a'/>
<id>urn:sha1:4027a0a89724df3aeef8a964c529548d724b6a5a</id>
<content type='text'>
* configure.ac: Document SYSROOT.
* m4/gpg-error.m4: Update from libgpg-error master.
* src/gpgme.m4: Implement SYSROOT stuff.
</content>
</entry>
<entry>
<title>Use --no-sk-comments, not --no-sk-comment.</title>
<updated>2014-10-02T13:20:35Z</updated>
<author>
<name>Daniel Kahn Gillmor</name>
<email>dkg@fifthhorseman.net</email>
</author>
<published>2014-09-29T21:48:39Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=b3309f997c541d7150827a659bffc38bc9f685fe'/>
<id>urn:sha1:b3309f997c541d7150827a659bffc38bc9f685fe</id>
<content type='text'>
--
The --no-sk-comments flag is (or should be) a no-op in modern versions
of gnupg, but gpgme should still use its full form rather than the
(slightly) abbreviated --no-sk-comment
</content>
</entry>
<entry>
<title>gpgme-tool: Print fingerprint and keyid with keyservers.</title>
<updated>2014-08-12T16:50:14Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-08-12T08:36:30Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=4160ef90a1b1b778c735f31f98a6966ba3b3ea90'/>
<id>urn:sha1:4160ef90a1b1b778c735f31f98a6966ba3b3ea90</id>
<content type='text'>
* src/gpgme-tool.c (cmd_keylist): Print keyid.  Print FPR only if
available.
</content>
</entry>
<entry>
<title>Handle modern keyserver output which may emit the fingerprint.</title>
<updated>2014-08-12T16:47:39Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-08-12T08:36:30Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=3450bff52baef2c14118958cf79ead46940d58f0'/>
<id>urn:sha1:3450bff52baef2c14118958cf79ead46940d58f0</id>
<content type='text'>
* src/engine-gpg.c (read_colon_line): Split preprocessed lines.
(gpg_keylist_preprocess): Limit keyid field and print fingerprint.
</content>
</entry>
<entry>
<title>gpgme-tool: Install gpgme-tool.</title>
<updated>2014-08-12T15:51:38Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-08-12T08:36:30Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=488e44cdb531035fa8813b95b212f9728abc7e62'/>
<id>urn:sha1:488e44cdb531035fa8813b95b212f9728abc7e62</id>
<content type='text'>
* src/Makefile.am (bin_PROGRAMS): New.  Add gpgme-tools.
(noinst_PROGRAMS): Remove.
</content>
</entry>
<entry>
<title>gpgme-tool: Fix segv for external key listing.</title>
<updated>2014-08-12T15:42:08Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-08-12T15:42:08Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=e5ab11607281b9838da2728268a8f9f0daa2b04d'/>
<id>urn:sha1:e5ab11607281b9838da2728268a8f9f0daa2b04d</id>
<content type='text'>
* src/gpgme-tool.c (result_xml_escape): Allow for DATA being NULL.
</content>
</entry>
<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>
</feed>
