gpgme/src
Andre Heinecke a0a4cd411c
Change gpgme-w32-spawn to unicode
* 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
2023-10-25 17:42:27 +02:00
..
.gitignore .gitignore: flesh out rules and add subdirectory-.gitignores. 2012-04-20 16:05:11 +02:00
argparse.c Fix for modern compiler. 2022-09-15 13:45:35 +09:00
argparse.h doc: Replace http: by https: in core source files. 2016-11-16 13:27:00 +01:00
assuan-support.c doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
ath.c posix: Use poll instead, when available, removing use of select. 2021-11-25 11:13:17 +09:00
ath.h posix: Use poll instead, when available, removing use of select. 2021-11-25 11:13:17 +09:00
b64dec.c core: Silence newer compiler warnings. 2018-12-17 16:47:27 +01:00
ChangeLog-2011 spelling: fix misspellings 2018-11-08 12:34:27 +07:00
cJSON.c core: New data flags "io-buffer-size" and "sensitive". 2021-06-14 19:51:28 +02:00
cJSON.h spelling: fix misspellings 2018-11-08 12:34:27 +07:00
cJSON.readme doc: convert more http:// links to https:// 2018-10-18 00:28:51 -04:00
context.h core: New context flag "no-auto-check-trustdb" 2022-11-04 10:38:41 +01:00
conversion.c core: Use 64 bit instead of gpgme_off_t for some internal functions. 2023-06-15 11:01:46 +02:00
data-compat.c core: Improve the debug messages even more. 2019-06-05 15:54:55 +02:00
data-estream.c core: Protect the trace macros for fun and profit. 2018-11-16 18:17:22 +01:00
data-fd.c core: Improve the debug messages even more. 2019-06-05 15:54:55 +02:00
data-identify.c core: Also detect legacy X.509 v0 certificates. 2023-03-08 15:54:54 +01:00
data-mem.c core: Improve the debug messages even more. 2019-06-05 15:54:55 +02:00
data-stream.c core: Protect the trace macros for fun and profit. 2018-11-16 18:17:22 +01:00
data-user.c core: Protect the trace macros for fun and profit. 2018-11-16 18:17:22 +01:00
data.c core: Use 64 bit instead of gpgme_off_t for some internal functions. 2023-06-15 11:01:46 +02:00
data.h core: Use 64 bit instead of gpgme_off_t for some internal functions. 2023-06-15 11:01:46 +02:00
debug.c core: Switch to logging via gpgrt 2023-02-10 11:12:52 +01:00
debug.h core: Avoid printf format warnings due to gpgme_ssize_t. 2023-04-17 15:05:22 +02:00
decrypt-verify.c core: Allow finalization of signature verification of unencrypted data 2023-02-10 09:54:03 +01:00
decrypt.c core: Return BAD_PASSPHRASE error code on symmetric decryption. 2022-04-25 12:14:42 +02:00
delete.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
dirinfo.c doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
edit.c core: Allow nullptr for key on card-edit 2022-11-15 10:03:23 +01:00
encrypt-sign.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
encrypt.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
engine-assuan.c core: New function gpgme_op_revsig. 2020-10-29 12:57:10 +01:00
engine-backend.h core: Use offline mode for all operations of gpgsm engine 2023-08-14 12:24:00 +02:00
engine-g13.c core: New function gpgme_op_revsig. 2020-10-29 12:57:10 +01:00
engine-gpg.c New mode to list a v5 fingerprint for v4 packets. 2023-09-04 17:03:52 +02:00
engine-gpgconf.c core: Make the gpgconf option parsing of string types more robust 2021-11-25 11:48:11 +01:00
engine-gpgsm.c Support GPGME_ENCRYPT_ALWAYS_TRUST also for S/MIME. 2023-08-31 12:02:02 +02:00
engine-spawn.c core: New function gpgme_op_revsig. 2020-10-29 12:57:10 +01:00
engine-uiserver.c core: Use signature modes as flags 2023-01-30 12:49:11 +01:00
engine.c core: Use offline mode for all operations of gpgsm engine 2023-08-14 12:24:00 +02:00
engine.h core: Use offline mode for all operations of gpgsm engine 2023-08-14 12:24:00 +02:00
error.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
export.c core: Check STATUS_FAILURE in export operations. 2023-10-05 14:17:21 +02:00
genkey.c core: Add error handling to setexpire 2020-08-14 11:11:23 +02:00
get-env.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
getauditlog.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
gpgconf.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
gpgme-config.in build: Provide gpgme.pc, generated by configure. 2018-11-12 09:03:49 +09:00
gpgme-glib.pc.in build: Provide gpgme-glib.pc too. 2018-11-12 09:59:05 +09:00
gpgme-json.c json: New operation "identify" and convenience option --identify. 2023-01-31 09:52:04 +01:00
gpgme-tool.c gpgme-tool: Support use of Windows HANDLE for INPUT/OUTPUT/MESSAGE. 2023-09-29 11:12:13 +09:00
gpgme-w32spawn.c Change gpgme-w32-spawn to unicode 2023-10-25 17:42:27 +02:00
gpgme.c core: New context flag "no-auto-check-trustdb" 2022-11-04 10:38:41 +01:00
gpgme.def core: Support usage of gpgtar for verifying a signed archive 2023-01-25 11:26:34 +01:00
gpgme.h.in core: Add key capability flags has_encrypt etc. 2023-10-05 14:18:03 +02:00
gpgme.m4 gpgme.m4: Fix AM_PATH_GPGME_PTHREAD. 2022-11-25 15:37:23 +09:00
gpgme.pc.in build: Omit -I... and -L... for standard paths in pkgconfig file 2022-08-22 19:09:54 +02:00
import.c Fix parsing import status for invalid fingerprint. 2022-09-07 11:27:32 +09:00
isascii.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
key.c New mode to list a v5 fingerprint for v4 packets. 2023-09-04 17:03:52 +02:00
keylist.c core: Add key capability flags has_encrypt etc. 2023-10-05 14:18:03 +02:00
keysign.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
libgpgme.vers core: Support usage of gpgtar for verifying a signed archive 2023-01-25 11:26:34 +01:00
Makefile.am Change gpgme-w32-spawn to unicode 2023-10-25 17:42:27 +02:00
mbox-util.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
mbox-util.h doc: Replace http: by https: in core source files. 2016-11-16 13:27:00 +01:00
op-support.c Require at least libgpg-error 1.36 2020-11-09 11:50:46 +01:00
opassuan.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
ops.h core: Handle import status lines during keylist operation 2022-05-04 14:23:42 +02:00
parsetlv.c core: Protect against a theoretical integer overflow in parsetlv.c 2022-10-24 13:50:41 +02:00
parsetlv.h Spelling fixes for comments and doc 2017-12-08 05:59:11 +01:00
passphrase.c Parse STATUS_CANCELED_BY_USER. 2020-11-03 17:47:44 -08:00
passwd.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
posix-io.c core: Don't keep using deprecated ath_ API. 2022-04-05 14:25:00 +09:00
posix-util.c core: Support the new macOS Homebrew location. 2023-04-20 13:35:50 +02:00
priv-io.h w32: Remove all support for WindowsCE 2018-10-31 12:35:14 +01:00
progress.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
putc_unlocked.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
queryswdb.c core: Fix format string errors in trace macros 2018-11-16 16:57:09 +01:00
revsig.c core: New function gpgme_op_revsig. 2020-10-29 12:57:10 +01:00
sema.h core: Use gpgrt locking for thread safeness 2016-11-10 13:33:13 +01:00
setenv.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
setexpire.c core: Add error handling to setexpire 2020-08-14 11:11:23 +02:00
sig-notation.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
sign.c doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
signers.c core: Protect the trace macros for fun and profit. 2018-11-16 18:17:22 +01:00
spawn.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
status-table.c Parse STATUS_CANCELED_BY_USER. 2020-11-03 17:47:44 -08:00
stpcpy.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
sys-util.h core: New global flags "inst-type". 2022-10-26 12:10:57 +02:00
tofupolicy.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
trust-item.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
trustlist.c doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
ttyname_r.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
util.h doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
verify.c core: Return bad data error instead of general error on unexpected data 2023-07-28 14:18:21 +02:00
version.c doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
versioninfo.rc.in core: Update copyright notices 2023-02-10 11:12:52 +01:00
vfs-create.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
vfs-mount.c core: Simplify the trace maros by using variadics. 2018-11-16 16:25:49 +01:00
w32-glib-io.c doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
w32-io.c doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
w32-util.c doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
wait-global.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
wait-private.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
wait-user.c Add SPDX identifiers to most source files 2018-11-16 13:27:33 +01:00
wait.c core: Fix error return value of _gpgme_run_io_cb. 2019-06-06 18:57:28 +02:00
wait.h Remove all trailing whitespace from source files 2012-09-25 15:29:49 +02:00