<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/w32-io.c, branch gpgme-1.11.1</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.11.1</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-1.11.1'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2018-02-09T15:11:03Z</updated>
<entry>
<title>core, w32: Fix flags passing to gpgme-w32-spawn</title>
<updated>2018-02-09T15:11:03Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-02-09T15:04:54Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=f10605ffb5cc9d457c3e432918fdfbfaf3d04185'/>
<id>urn:sha1:f10605ffb5cc9d457c3e432918fdfbfaf3d04185</id>
<content type='text'>
* src/w32-io.c (_gpgme_io_spawn): Don't hardcode flags value.

--
IOSPAWN_FLAG_ALLOW_SET_FG is 2 and was translated to 1.

This might fix the pinentry foreground handling pass through.
</content>
</entry>
<entry>
<title>core: Replace all calls to *sprintf by gpgrt_*sprintf.</title>
<updated>2017-02-02T11:35:59Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2017-02-02T11:35:59Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=15050ce5fce4ed815503db7c029abb38d08970d6'/>
<id>urn:sha1:15050ce5fce4ed815503db7c029abb38d08970d6</id>
<content type='text'>
* configure.ac (vasprintf): Remove check.
* src/vasprintf.c: Remove file.
* src/util.h (vasprintf, asprintf): Remove prototypes.  Replace all
calls to vasprintf and asprintf by gpgrt_vasprintf or gpgrt_asprintf.
Also take care to use gpgrt_free on the returned value.
* src/w32-util.c (_gpgme_get_gpgconf_path): Replace a gpgrt_asprintf
by _gpgme_strconcat.
(snprintf): New macro to use gpgrt_snprintf instead of the system's
standard snprintf.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>w32: Fix closing file descriptors.</title>
<updated>2017-01-23T14:08:23Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@g10code.com</email>
</author>
<published>2017-01-23T14:08:23Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=6f02133bb07726afa6950e5b4685e75621276e60'/>
<id>urn:sha1:6f02133bb07726afa6950e5b4685e75621276e60</id>
<content type='text'>
* src/w32-io.c (writer): Only stop once the buffer is drained.
(destroy_writer): Wait for the writers buffer to be drained.  This
aligns '_gpgme_io_close's behavior with close(2) and fclose(3).

GnuPG-bug-id: 2881
Signed-off-by: Justus Winter &lt;justus@g10code.com&gt;
</content>
</entry>
<entry>
<title>w32: Better protect the IO-system's fd_table</title>
<updated>2016-11-09T07:34:15Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2016-11-09T07:33:02Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=10f2e1c30be651e74a03f4563a9f212d7416adb3'/>
<id>urn:sha1:10f2e1c30be651e74a03f4563a9f212d7416adb3</id>
<content type='text'>
* src/w32-io.c (fd_table_lock): New.
(new_fd): Lock allocation of a new slot.
(release_fd): Lock deallocation of a slot.
--

Note that we lock only the allocation but not the sanitiy checks we do
further down in the code.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>core: Remove (now) useless diagnostic</title>
<updated>2016-08-18T15:14:36Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2016-08-18T15:14:36Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=30f156280f18500ee522db58aecd40711c8af685'/>
<id>urn:sha1:30f156280f18500ee522db58aecd40711c8af685</id>
<content type='text'>
* src/w32-io.c(_gpgme_io_spawn): Remove spawnhelper not found
diagnostic.

--
When spawnhelper is not found the error is now catched before
the CreateProcess call so the added diagnostic in bb2d11c
(which was not helpful because the value for spawnhelper
would be NULL in that case) is now no longer needed.
</content>
</entry>
<entry>
<title>core: Fail loudly in case w32 spawner not found</title>
<updated>2016-08-18T15:09:04Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2016-08-18T14:56:58Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=9cf983b0199950c8f8cccee2cb8e45aafcba9fd1'/>
<id>urn:sha1:9cf983b0199950c8f8cccee2cb8e45aafcba9fd1</id>
<content type='text'>
* src/w32-io.c (_gpgme_io_spawn): Show a message box in
case gpgme-w32spawn.exe not found.

--
Otherwise every engine call will just fail with unsupported
protocol. Even in the debug output the problem was not made
clear because CreateProcess will fail with error code 87
(Invalid Parameter) because spawnhelper is NULL. The helpful
error message for ERROR_INVALID_PARAMETER would have been:
"is 'NULL' correctly installed"

As GpgME basically becomes useless on Windows without the
spawnhelper we want to fail very loud in that case.
</content>
</entry>
<entry>
<title>Fix typos found by codespell.</title>
<updated>2015-12-02T10:28:07Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@g10code.com</email>
</author>
<published>2015-12-02T10:28:07Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8c61cbfb8ff2e1056840ecf8511810ed2482eb1f'/>
<id>urn:sha1:8c61cbfb8ff2e1056840ecf8511810ed2482eb1f</id>
<content type='text'>
--
Signed-off-by: Justus Winter &lt;justus@g10code.com&gt;
</content>
</entry>
<entry>
<title>w32: Add extra diagnostic about possible missing gpgme-w32spawn.exe.</title>
<updated>2015-10-28T15:28:48Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2015-10-28T15:27:49Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=bb2d11c1eebd4bcfb0f2cfce728026a7420dca47'/>
<id>urn:sha1:bb2d11c1eebd4bcfb0f2cfce728026a7420dca47</id>
<content type='text'>
* src/w32-io.c (_gpgme_io_spawn): Add a new diagnostic.

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>w32: Fix another memleak on error.</title>
<updated>2014-04-16T08:19:54Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-04-15T14:40:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=62711e5614e44e65a7c7bb7d21493d09d3081271'/>
<id>urn:sha1:62711e5614e44e65a7c7bb7d21493d09d3081271</id>
<content type='text'>
* src/w32-io.c (create_reader): free CTX.
--

Found by Hans-Christoph Steiner with cppcheck.
</content>
</entry>
<entry>
<title>w32: Fix memleak in an error code paths.</title>
<updated>2014-04-15T20:18:04Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2014-04-15T14:40:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=85a07ca7e3dffdefc8ae74beebb59e47a6e6bd1b'/>
<id>urn:sha1:85a07ca7e3dffdefc8ae74beebb59e47a6e6bd1b</id>
<content type='text'>
* src/w32-io.c (create_writer): Free CTX in cased of bad FD.
* src/w32-util.c (_gpgme_mkstemp): Free TMPNAME in case of a failed
mkstemp.
--

Found by Hans-Christoph Steiner with cppcheck.
</content>
</entry>
</feed>
