aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gpgrt-config: Append default directory to PKG_CONFIG_PATH.NIIBE Yutaka2025-02-061-11/+6
| | | | | | | | * src/gpgrt-config.in: Fix initializing PKG_CONFIG_PATH. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* Skip gpg-error-config-test.sh for specific incompatible pkg-config.NIIBE Yutaka2025-01-221-0/+9
| | | | | | | | | | | * src/gpg-error-config-test.sh.in: Skip the test with pkgconf 1.8.0. -- Possibly, we need to skip with 1.9.0, 1.9.1, 1.9.2, and 1.9.3, too. pkgconf 1.8.1 (on Debian) works well. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Remove defining GPG_ERR_ENABLE_ERRNO_MACROS.NIIBE Yutaka2025-01-151-1/+0
| | | | | | | | | | * configure.ac (GPG_ERR_ENABLE_ERRNO_MACROS): Remove. -- It was for Windows CE. Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn: Care about closefrom/close call is interrupted.NIIBE Yutaka2025-01-141-62/+54
| | | | | | | | | | | | * src/spawn-posix.c (closefrom_really): Handle interrupted call of closefrom. (close_except): Likewise for call of close. (_gpgrt_close_all_fds): Use closefrom_really and close_except. -- GnuPG-bug-id: 7478 Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn: Use closefrom when available.NIIBE Yutaka2025-01-082-3/+48
| | | | | | | | | * configure.ac (AC_CHECK_FUNCS): Check closefrom. * src/spawn-posix.c [HAVE_CLOSEFROM]: Use closefrom if possible. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* New Windows API gpgrt_w32_reg_get_string.Werner Koch2024-12-127-8/+99
| | | | | | | | | | | | | | | | | | | | | | | | | * src/w32-reg.c (_gpgrt_w32_reg_query_string): Implement a prefix for root and consider an empty string for root also HKCU. * src/visibility.c (gpgrt_w32_reg_get_string): New. * src/gpg-error.def.in: Add new function. * src/gpg-error.c (my_strusage): Print the Windows version (32 or 64 bit) of the binary. (main): New command --getreg. -- This function is already used internally and we have a similar function in GnuPG. It is much more convenient to work with this function. Also we can now pass the KEY_WOW64_32KEY andKEY_WOW64_64KEY flags to the registry read functions. For example !32key!HKLM\software\gnu\gnupg:ntdskeyserver returns the value using the KEY_WOW64_32KEY flag; likewise for !64key!. If !cross! is used the reversed flag of the binary type is used.
* Minor cleanness fix for autogen.shWerner Koch2024-12-031-1/+2
| | | | * autogen.sh (w32root): Remove double slash in case of HOME=/.
* po: Update Portuguese Translation.Daniel Cerqueira2024-12-021-585/+428
| | | | Signed-off-by: Daniel Cerqueira <[email protected]>
* autogen.sh: New command --print-tsdir.Werner Koch2024-11-211-4/+26
| | | | | | | | | | * autogen.sh: New command --print-tsdir. (maintainer_mode_option): Allow setting via autogen.rc -- The maintainer mode config option is required for docker builds to avoid surprising rebuilds in a read-only mounted volume. The print-tsdir is a help er for baking the source dir into the configure.
* spawn:w32: Fix a memory leak on an error path.NIIBE Yutaka2024-11-141-4/+4
| | | | | | | | | | * src/spawn-w32.c (spawn_detached): Make sure to release lpAttributeList. (_gpgrt_process_spawn): Likewise. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* Post release updatesWerner Koch2024-11-112-1/+8
| | | | --
* Release 1.51libgpg-error-1.51gpgrt-1.51Werner Koch2024-11-112-3/+24
|
* Avoid use of 'nullptr' for an identifier.NIIBE Yutaka2024-10-221-4/+4
| | | | | | | | | | * tests/t-printf.c (check_fprintf_sf): Use 'null_ptr' as an identifier. -- GnuPG-bug-id: 7344 Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn: Shorter identifier gpgrt_spawn_actions_set_env_rev.NIIBE Yutaka2024-10-169-16/+16
| | | | | | | | | | | | | | | | | | * src/gpg-error.def.in: Rename to gpgrt_spawn_actions_set_env_rev. * src/gpg-error.h.in: Likewise. * src/gpg-error.vers: Likewise. * src/gpgrt-int.h: Likewise. * src/spawn-posix.c: Likewise. * src/spawn-w32.c: Likewise. * src/visibility.c: Likewise. * src/visibility.h: Likewise. * tests/t-spawn.c (run_test): Use gpgrt_spawn_actions_set_env_rev. -- Fixes-commit: 1860f6407f834b681c21f67db7236eaad161524c GnuPG-bug-id: 7307 Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn: Add new function to modify environment.NIIBE Yutaka2024-10-1110-9/+485
| | | | | | | | | | | | | | | | | | | | | | | | * src/gpg-error.def.in (gpgrt_spawn_actions_set_envchange): New. * src/gpg-error.vers (gpgrt_spawn_actions_set_envchange): New. * src/gpg-error.h.in (gpgrt_spawn_actions_set_envchange): New. * src/gpgrt-int.h (_gpgrt_spawn_actions_set_envchange): New. * src/spawn-posix.c (struct gpgrt_spawn_actions): New field ENVCHANGE. (prepare_environ): New. (my_exec): Take care of ENVCHANGE. (_gpgrt_spawn_actions_set_envchange): New. * src/spawn-w32.c (struct gpgrt_spawn_actions): New field ENVCHANGE. (prepare_env_block): New. (_gpgrt_spawn_actions_set_envchange): New. (spawn_detached, _gpgrt_process_spawn): Take care of ENVCHANGE. * src/visibility.c (gpgrt_spawn_actions_set_envchange): New. * src/visibility.h (gpgrt_spawn_actions_set_envchange): New. * tests/Makefile.am (TESTS): Add t-spawn. * tests/t-spawn.c: New. -- GnuPG-bug-id: 7307 Signed-off-by: NIIBE Yutaka <[email protected]>
* w32: Fix releasing memory for UTF-8 text.NIIBE Yutaka2024-10-101-8/+8
| | | | | | | | | * src/spawn-w32.c (spawn_detached): Use _gpgrt_free_wchar. (_gpgrt_process_spawn): Likewise. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* estream: Let poll return an error for a closed fd.Werner Koch2024-09-241-0/+5
| | | | * src/estream.c (_gpgrt_poll): Set got_nval.
* posix: Fix forgotten _gpgrt_post_syscall on error path.NIIBE Yutaka2024-09-191-0/+1
| | | | | | | | * src/spawn-posix.c (do_create_pipe_and_estream): Call post_syscall. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* posix: Fix memory leak for spawn.NIIBE Yutaka2024-09-191-0/+1
| | | | | | | | * src/spawn-posix.c (spawn_detached): Free ARGV. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* w32:spawn: Remove unused function get_max_fds.NIIBE Yutaka2024-09-161-21/+0
| | | | | | | | * src/spawn-w32.c (get_max_fds): Remove. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* w32: Clarify the environment block encoding.NIIBE Yutaka2024-09-061-0/+3
| | | | | | | | | | | | | | * src/spawn-w32.c (_gpgrt_spawn_actions_set_envvars): It's an ASCII string. -- In future, we can extend it as UTF-8 string. When doing so, we will detect ASCII or utf-8, and if needed, convert it to Unicode wchar string with four-byte-zero terminated, and let the flag have CREATE_UNICODE_ENVIRONMENT. Signed-off-by: NIIBE Yutaka <[email protected]>
* w32: Add GPGRT_PROCESS_ALLOW_SET_FG for gpgrt_process_spawn.NIIBE Yutaka2024-08-272-2/+4
| | | | | | | | | | | | * src/gpg-error.h.in (GPGRT_PROCESS_ALLOW_SET_FG): New. * src/spawn-w32.c (_gpgrt_process_spawn): Support the flag. -- When GPGME will use gpgrt_process_spawn in future, this flag will be needed to support GPGME_SPAWN_ALLOW_SET_FG. Signed-off-by: NIIBE Yutaka <[email protected]>
* w32: Allow initialization of new threads to utf8 mode.Werner Koch2024-08-024-9/+35
| | | | | | | | | * src/init.c (utf8_for_new_threads): New var. (_gpgrt_w32_utf8_for_new_threads): New func. (get_tls): Init the TLS utf8 flag from the new var. * src/w32-gettext.c (_gpg_w32_gettext_use_utf8): Implement new flag. -- GnuPG-bug-id: 7185
* Update version date of autogen.shWerner Koch2024-07-041-1/+1
| | | | --
* Put the full commit id into VERSION.Werner Koch2024-07-043-5/+10
| | | | | | | | * autogen.sh <find-version>: Also print the full commit id. * configure.ac: Get the full commit id. Add it to VERSION. (BUILD_REVISION): Replace this ac_define by (BUILD_COMMITID): this. * src/version.c (cright_blurb): Use here.
* core: Declare environ for macOS and others.Werner Koch2024-06-201-0/+3
| | | | | | | * src/spawn-posix.c (environ): Declare. -- GnuPG-bug-id: 7169
* Post release updatesWerner Koch2024-06-192-1/+7
| | | | --
* Release 1.50libgpg-error-1.50gpgrt-1.50Werner Koch2024-06-193-4/+48
|
* po: msgmergeWerner Koch2024-06-192-2/+134
| | | | --
* spawn: New flag GPGRT_PROCESS_NO_EUID_CHECKWerner Koch2024-06-192-8/+13
| | | | | | * src/gpg-error.h.in (GPGRT_PROCESS_NO_EUID_CHECK): New. * src/spawn-posix.c (spawn_detached): Move check to ... (_gpgrt_process_spawn): here and skip if flag is set.
* spawn: Keep struct definitions at the top of the file.Werner Koch2024-06-192-34/+51
| | | | | * src/spawn-posix.c: Move include and struct defs around. * src/spawn-w32.c: Move struct defs around.
* Apply spell fix.NIIBE Yutaka2024-06-131-1/+1
| | | | | | * src/gpg-error.m4: Apply spell fix from GnuPG master. Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix gpg-error.m4.NIIBE Yutaka2024-06-131-14/+23
| | | | | | | | | | | * src/gpg-error.m4 (_AM_PATH_GPGRT_CONFIG): Don't set gpg_error_config_version. (AM_PATH_GPG_ERROR): Set GPG_ERROR_CONFIG here and set gpg_error_config_version with GPG_ERROR_CONFIG. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn: Support the use case in libassuan where PGMNAME==NULL.NIIBE Yutaka2024-06-072-5/+24
| | | | | | | | | | | * src/spawn-posix.c (my_exec): When PGMNAME==NULL, just fork. (_gpgrt_process_spawn): Support PGMNAME==NULL use case. * src/spawn-w32.c (_gpgrt_process_spawn): Return GPG_ERR_INV_ARG, when PGMNAME==NULL. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn: Expose gpgrt_spawn_actions functions.NIIBE Yutaka2024-06-066-8/+30
| | | | | | | | | | | | * src/gpg-error.def.in: Update. * src/gpg-error.h.in: Add declarations. * src/gpg-error.vers: Update. * src/visibility.c: Update. * src/visibility.h: Update. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn: Add new GPGRT_PROCESS_NO_CONSOLE for Windows.NIIBE Yutaka2024-06-062-0/+5
| | | | | | | | | | | | | * src/gpg-error.h.in (GPGRT_PROCESS_NO_CONSOLE): New. * src/spawn-w32.c (_gpgrt_process_spawn): Handle GPGRT_PROCESS_NO_CONSOLE. -- This may be used to support ASSUAN_PIPE_CONNECT_DETACHED in libassuan. Signed-off-by: NIIBE Yutaka <[email protected]>
* Cleanup spawn API implementation.NIIBE Yutaka2024-06-063-95/+57
| | | | | | -- Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix return type of gpgrt_b64dec_*.NIIBE Yutaka2024-06-062-4/+4
| | | | | | | | | | * src/gpg-error.h.in (gpgrt_b64dec_proc): Return gpg_err_code_t. (gpgrt_b64dec_finish): Ditto. * src/visibility.c: Fix return type. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn:w32: Allow for up to 32 inherited handles.Werner Koch2024-06-051-2/+2
| | | | | | | | * src/spawn-w32.c (spawn_detached): Increase array size. (_gpgrt_process_spawn): Ditto. -- The former limit of 16 might be a bit too low for some use cases.
* spawn: Avoid bumping the error counter.Werner Koch2024-06-052-20/+22
| | | | | | | | | | | | | | | * src/spawn-posix.c: Use log_info instead of log_error. * src/spawn-w32.c: Ditto. (spawn_detached): Fix copying of hd[2] (_gpgrt_process_spawn): Ditto. -- The spawn function might be used to run helper processes which are non-critical for the operation of the program. For example to display help. Bumping the error counter via gpgrt_log_error would then let the entire program fail which might be surprising. It is better to just print an informational message and let the caller decide what to do with the returned error code.
* spawn: Expose spawn functions API.NIIBE Yutaka2024-06-059-129/+184
| | | | | | | | | | | | | * src/gpg-error.def.in: Update. * src/gpg-error.vers: Update. * src/gpg-error.h.in: Add declarations. * src/visibility.c: Add implementations. * src/visibility.h: Expose them. -- GnuPG-bug-id: 6249 Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn:w32: Fix setting of dwFlags for CreateProcess.NIIBE Yutaka2024-06-041-1/+2
| | | | | | | | | * src/spawn-w32.c (_gpgrt_process_spawn): Only set STARTF_USESTDHANDLES with active handles. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* spawn: Allow NULL for ACT.NIIBE Yutaka2024-05-302-2/+19
| | | | | | | | | * src/spawn-posix.c (_gpgrt_process_spawn): ACT may be null. * src/spawn-w32.c (_gpgrt_process_spawn): Likewise. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix process termination check at release.NIIBE Yutaka2024-05-292-2/+2
| | | | | | | | | | * src/spawn-posix.c (_gpgrt_process_release): When NOT terminated, terminate and wait. * src/spawn-w32.c (_gpgrt_process_release): Likewise. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* Fix how environment variables are specified for spawn.NIIBE Yutaka2024-05-293-10/+12
| | | | | | | | | | | | | * src/gpgrt-int.h (_gpgrt_spawn_actions_set_envvars) [HAVE_W32_SYSTEM]: Assume use with GetEnvironmentStrings. (_gpgrt_spawn_actions_set_environ) [!HAVE_W32_SYSTEM]: New. * src/spawn-posix.c: Follow the change. * src/spawn-w32.c: Can specify envvars now. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* Cleaner semantics for _gpgrt_process_spawn without a callback.NIIBE Yutaka2024-05-295-108/+211
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpg-error.h.in (@define:struct_spawn_cb_arg@): Remove. (gpgrt_spawn_actions_t): New. (@define:spawn_actions_functions@): New. * src/gpgrt-int.h (_gpgrt_spawn_actions_new) (_gpgrt_spawn_actions_release, _gpgrt_spawn_actions_set_envvars) (_gpgrt_spawn_actions_set_redirect): New. [HAVE_W32_SYSTEM] (_gpgrt_spawn_actions_set_inherit_handles): New. [!HAVE_W32_SYSTEM] (_gpgrt_spawn_actions_set_inherit_fds) (_gpgrt_spawn_actions_set_atfork): New. (_gpgrt_process_spawn): Use gpgrt_spawn_actions_t. (_gpgrt_spawn_helper): Remove. * src/mkheader.c: Emit gpgrt_spawn_actions_* definition. * src/spawn-posix.c(_gpgrt_spawn_actions_new) (_gpgrt_spawn_actions_release, _gpgrt_spawn_actions_set_envvars) (_gpgrt_spawn_actions_set_redirect) (_gpgrt_spawn_actions_set_inherit_fds) (_gpgrt_spawn_actions_set_atfork): New. (spawn_detached, _gpgrt_process_spawn): Use gpgrt_spawn_actions_t. (_gpgrt_spawn_helper): Remove. * src/spawn-w32.c: Ditto, with _gpgrt_spawn_actions_set_inherit_handles, but no _gpgrt_spawn_actions_set_atfork. -- GnuPG-bug-id: 6249 Signed-off-by: NIIBE Yutaka <[email protected]>
* Import spawn functions from GnuPG master.NIIBE Yutaka2024-05-285-1132/+1245
| | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpg-error.h.in (@define:gpgrt_process_t@): Remove. (@define:struct_spawn_cb_arg@): New. (enum gpgrt_process_requests): New. (GPGRT_PROCESS_DETACHED, GPGRT_PROCESS_STDIN_PIPE) (GPGRT_PROCESS_STDOUT_PIPE, GPGRT_PROCESS_STDERR_PIPE) (GPGRT_PROCESS_STDINOUT_SOCKETPAIR, GPGRT_PROCESS_STDIN_KEEP) (GPGRT_PROCESS_STDOUT_KEEP, GPGRT_PROCESS_STDERR_KEEP) (GPGRT_PROCESS_STDFDS_SETTING, GPGRT_PROCESS_STREAM_NONBLOCK): New. * src/gpgrt-int.h (_gpgrt_process_spawn, _gpgrt_process_terminate) (_gpgrt_process_get_fds, _gpgrt_process_get_streams) (_gpgrt_process_ctl, _gpgrt_process_wait, _gpgrt_process_release) (_gpgrt_process_wait_list, _gpgrt_spawn_helper): New. * src/mkheader.c: Emit definition of struct_spawn_cb_arg. * src/spawn-posix.c (_gpgrt_process_spawn, _gpgrt_process_terminate) (_gpgrt_process_get_fds, _gpgrt_process_get_streams) (_gpgrt_process_ctl, _gpgrt_process_wait, _gpgrt_process_release) (_gpgrt_process_wait_list, _gpgrt_spawn_helper): New. * src/spawn-w32.c: Ditto. -- GnuPG-bug-id: 6249 Signed-off-by: NIIBE Yutaka <[email protected]>
* argparse: Fix a theoretical memory leak.Werner Koch2024-04-261-3/+4
| | | | | | | | | | * src/argparse.c (store_alias): Free NAME because it has ownerhip here. Take care P is actually a pointer into NAME. -- Note that aliases have never been implemented. GnuPG-bug-id: 7105
* Post release updatesWerner Koch2024-04-252-1/+7
| | | | --
* Release 1.49libgpg-error-1.49Werner Koch2024-04-252-3/+8
|