<feed xmlns='http://www.w3.org/2005/Atom'>
<title>gpgme/src/gpgme-w32spawn.c, branch gpgme-2.1.1</title>
<subtitle>GnuPG Made Easy.</subtitle>
<id>http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.1.1</id>
<link rel='self' href='http://git.bktus.com/gpgfrontend/gpgme/atom?h=gpgme-2.1.1'/>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/'/>
<updated>2025-12-23T07:26:42Z</updated>
<entry>
<title>w32: Fix spawn for 64-bit machine.</title>
<updated>2025-12-23T07:26:42Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2025-12-23T07:17:29Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=936015d49c389a6cafc40025f7881625ded90120'/>
<id>urn:sha1:936015d49c389a6cafc40025f7881625ded90120</id>
<content type='text'>
* src/priv-io.h (struct spawn_fd_item_s): Use HANDLE for peer_name
field.
* src/dirinfo.c (read_gpgconf_dirs): Use ASSUAN_INVALID_FD for default
value for peer_name field of CFD.
* src/engine-gpgconf.c (gpgconf_read, gpgconf_write)
(gpgconf_query_swdb): Likewise.
* src/version.c (_gpgme_get_program_version): Likewise.
* src/w32-io.c (handle_to_fd): Remove.
(_gpgme_io_spawn): Assign HD to the peer_name field.  Use %p for
printing the value of peer_name field.
* src/gpgme-w32spawn.c (my_spawn): Use peer_name field with no cast.
Use %p for printing the value of peer_name field.  Remove wrong
CloseHandle calls.
(translate_get_from_file): Use HANDLE type for the TO variable.
Use strtoull on 64-bit machine.  Use ASSUAN_INVALID_FD.

--

Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>Fix portability for the use of the assuan types.</title>
<updated>2025-12-11T05:55:51Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2025-12-11T05:45:24Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=46938bdde47579786c79770eb54b9b742a1e0365'/>
<id>urn:sha1:46938bdde47579786c79770eb54b9b742a1e0365</id>
<content type='text'>
* src/assuan-support.c (my_spawn, my_waitpid): Use assuan_pid_t.
(my_socket, my_connect): Use assuan_fd_t.
* src/engine-gpg.c (start): Remove unused PID.
* src/engine-spawn.c (engspawn_start): Likewise.
* src/gpgme-w32spawn.c: Add util.h for assuan types.
* src/version.c: Likewise.
* src/wait-user.c: Likewise.
* src/posix-io.c (_gpgme_io_spawn): Use assuan_pid_t.
* src/priv-io.h (_gpgme_io_spawn): Likewise.
* src/w32-io.c (_gpgme_io_spawn): Likewise.
* src/wait-private.c: Include util.h earlier.

--

GnuPG-bug-id: 7968
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>w32: Add a cast for GetProcAddress, add AM_CFLAGS for w32spawn.</title>
<updated>2025-12-11T05:42:13Z</updated>
<author>
<name>NIIBE Yutaka</name>
<email>gniibe@fsij.org</email>
</author>
<published>2025-12-11T05:38:42Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=5fa2e405807dec8f88e9a8a25ab381820631a078'/>
<id>urn:sha1:5fa2e405807dec8f88e9a8a25ab381820631a078</id>
<content type='text'>
* src/Makefile.am (gpgme_w32spawn_CFLAGS): Add AM_CFLAGS.
* src/gpgme-w32spawn.c (my_spawn): GetProcAddress returns an address
for the symbol.  The correctness should be checked by human when
writing the code (not by the function prototype).

--

GnuPG-bug-id: 7968
Signed-off-by: NIIBE Yutaka &lt;gniibe@fsij.org&gt;
</content>
</entry>
<entry>
<title>w32: gpgme-w32spawn now appends to the debug log if enabled.</title>
<updated>2025-08-08T12:48:48Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2025-08-08T12:48:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=ae5f3fc3db2797a646fdb3dd8565b065af347841'/>
<id>urn:sha1:ae5f3fc3db2797a646fdb3dd8565b065af347841</id>
<content type='text'>
--
</content>
</entry>
<entry>
<title>Change gpgme-w32-spawn to unicode</title>
<updated>2023-10-25T15:42:27Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@gnupg.org</email>
</author>
<published>2023-10-25T15:20:56Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=a0a4cd411c6d891e9ca784fd12b76410b0bb4673'/>
<id>urn:sha1:a0a4cd411c6d891e9ca784fd12b76410b0bb4673</id>
<content type='text'>
* src/Makefile.am (gpgme_w32spawn_CFLAGS): Add -municode.
* src/gpgme-w32-spawn.c (build_commandline, my_spawn)
(translate_handles): Convert to wchar_t API.
(main): Use wmain instead.

--
Some time ago we introduced an inconsistency that w32-util called
gpgme-w32-spawn through CreateProcessW but since gpgme-w32-spawn
internally worked with 8 bit the chars were mangled and the
arguments not passed correctly through the CreateProcessA of the
child process. Since the GnuPG processes use GetCommandLineW
this is the proper way to pass on Unicode command line arguments.

Please note that we did not pass UTF-8 before this patch but
rather some broken native encoding where Windows replaces
unicode characters with question marks etc.

GnuPG-Bug-Id: T6728
</content>
</entry>
<entry>
<title>core,w32: Fix invocation of gpgtar</title>
<updated>2023-04-17T12:05:35Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2023-04-17T12:02:02Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=0c29119e061cbdcb7342380938a25af91290f1a0'/>
<id>urn:sha1:0c29119e061cbdcb7342380938a25af91290f1a0</id>
<content type='text'>
* src/dirinfo.c (EXEEXT_S): New.
(get_gpgconf_item): Append ".exe" to gpg-wks-client and gpgtar.

* src/gpgme-w32spawn.c (mystderr): Add code to ease debugging.
</content>
</entry>
<entry>
<title>Add SPDX identifiers to most source files</title>
<updated>2018-11-16T12:27:33Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2018-11-16T12:27:33Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=8d91c0f4cdcc26679067ae681ae12600fb450200'/>
<id>urn:sha1:8d91c0f4cdcc26679067ae681ae12600fb450200</id>
<content type='text'>
--

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>core, w32: Enable spawning GUI applications</title>
<updated>2018-02-09T15:11:32Z</updated>
<author>
<name>Andre Heinecke</name>
<email>aheinecke@intevation.de</email>
</author>
<published>2018-02-09T15:07:58Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=201db83a7f1b7759173b6e9f0a844caef4da6cce'/>
<id>urn:sha1:201db83a7f1b7759173b6e9f0a844caef4da6cce</id>
<content type='text'>
* src/engine-spawn.c (engspawn_start): Translate spawn flag
to IOSPAWN flag.
* src/gpgme-w32spawn.c (my_spawn): Handle the new flag.
* src/gpgme.h.in (GPGME_SPAWN_SHOW_WINDOW): New.
* src/priv-io.h (IOSPAWN_FLAG_SHOW_WINDOW): New.

--
Used by GpgOL
</content>
</entry>
<entry>
<title>core,w32: Fix popping up of console windows due to gpgconf.</title>
<updated>2017-12-11T12:54:40Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2017-12-11T12:54:22Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=0a567a94d94cd93c5d88f5db802925c95f0974d0'/>
<id>urn:sha1:0a567a94d94cd93c5d88f5db802925c95f0974d0</id>
<content type='text'>
* src/gpgme-w32spawn.c (my_spawn): Create w/o DETACHED_PROCESS.
--

The spawn helper is actually called with DETACHED_PROCESS and should
not need to do a DETACHED_PROCESS of its own.  Interestingly this
patch removes the popups.

See Andre's report
GnuPG-bug-id: 3515

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
<entry>
<title>doc: Replace http: by https: in core source files.</title>
<updated>2016-11-16T12:27:00Z</updated>
<author>
<name>Werner Koch</name>
<email>wk@gnupg.org</email>
</author>
<published>2016-11-16T12:27:00Z</published>
<link rel='alternate' type='text/html' href='http://git.bktus.com/gpgfrontend/gpgme/commit/?id=7f5f26fd66e60e60de875c70b1f93f60c0438780'/>
<id>urn:sha1:7f5f26fd66e60e60de875c70b1f93f60c0438780</id>
<content type='text'>
--

Signed-off-by: Werner Koch &lt;wk@gnupg.org&gt;
</content>
</entry>
</feed>
