1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00

spawn: Remove spawn callback, introduce gnupg_spawn_actions.

* common/exechelp-posix.c (call_spawn_cb): Remove.
(gnupg_spawn_actions_new, gnupg_spawn_actions_release)
(gnupg_spawn_actions_set_environ, gnupg_spawn_actions_set_atfork)
(gnupg_spawn_actions_set_redirect)
(gnupg_spawn_actions_set_inherit_fds): New.
(my_exec, spawn_detached): Use spawn actions.
(gnupg_spawn_helper): Remove.
(gnupg_process_spawn): Remove callback, introduce gnupg_spawn_actions.
* common/exechelp-w32.c: Ditto.
* common/exechelp.h: Ditto.
* agent/genkey.c (do_check_passphrase_pattern): Follow the change of
gnupg_process_spawn API.
* common/asshelp.c (start_new_service): Likewise.
* common/exectool.c (gnupg_exec_tool_stream): Likewise.
* common/t-exechelp.c (test_pipe_stream): Likewise.
* dirmngr/ldap-wrapper.c (ldap_wrapper): Likewise.
* g10/photoid.c (run_with_pipe): Likewise.
* scd/app.c (report_change): Likewise.
* tests/gpgscm/ffi.c (do_process_spawn_io, do_process_spawn_fd):
Likewise.
* tools/gpg-card.c (cmd_gpg): Likewise.
* tools/gpgconf-comp.c (gpg_agent_runtime_change): Likewise.
(scdaemon_runtime_change, tpm2daemon_runtime_change)
(dirmngr_runtime_change, keyboxd_runtime_change)
(gc_component_launch, gc_component_check_options)
(retrieve_options_from_program): Likewise.
* tools/gpgconf.c (show_versions_via_dirmngr): Likewise.
* tools/gpgtar-create.c (gpgtar_create): Likewise.
* tools/gpgtar-extract.c (gpgtar_extract): Likewise.
* tools/gpgtar-list.c (gpgtar_list): Likewise.

--

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2024-05-31 15:36:39 +09:00
parent 34045ed9e1
commit fc3fde1bde
No known key found for this signature in database
GPG key ID: 640114AF89DE6054
17 changed files with 351 additions and 181 deletions

View file

@ -761,7 +761,7 @@ gpg_agent_runtime_change (int killflag)
log_assert (i < DIM(argv));
if (!err)
err = gnupg_process_spawn (pgmname, argv, 0, NULL, NULL, &proc);
err = gnupg_process_spawn (pgmname, argv, 0, NULL, &proc);
if (!err)
err = gnupg_process_wait (proc, 1);
if (err)
@ -805,7 +805,7 @@ scdaemon_runtime_change (int killflag)
log_assert (i < DIM(argv));
if (!err)
err = gnupg_process_spawn (pgmname, argv, 0, NULL, NULL, &proc);
err = gnupg_process_spawn (pgmname, argv, 0, NULL, &proc);
if (!err)
err = gnupg_process_wait (proc, 1);
if (err)
@ -850,7 +850,7 @@ tpm2daemon_runtime_change (int killflag)
log_assert (i < DIM(argv));
if (!err)
err = gnupg_process_spawn (pgmname, argv, 0, NULL, NULL, &proc);
err = gnupg_process_spawn (pgmname, argv, 0, NULL, &proc);
if (!err)
err = gnupg_process_wait (proc, 1);
if (err)
@ -885,7 +885,7 @@ dirmngr_runtime_change (int killflag)
log_assert (i < DIM(argv));
if (!err)
err = gnupg_process_spawn (pgmname, argv, 0, NULL, NULL, &proc);
err = gnupg_process_spawn (pgmname, argv, 0, NULL, &proc);
if (!err)
err = gnupg_process_wait (proc, 1);
if (err)
@ -919,7 +919,7 @@ keyboxd_runtime_change (int killflag)
log_assert (i < DIM(argv));
if (!err)
err = gnupg_process_spawn (pgmname, argv, 0, NULL, NULL, &proc);
err = gnupg_process_spawn (pgmname, argv, 0, NULL, &proc);
if (!err)
err = gnupg_process_wait (proc, 1);
if (err)
@ -985,7 +985,7 @@ gc_component_launch (int component)
argv[i] = NULL;
log_assert (i < DIM(argv));
err = gnupg_process_spawn (pgmname, argv, 0, NULL, NULL, &proc);
err = gnupg_process_spawn (pgmname, argv, 0, NULL, &proc);
if (!err)
err = gnupg_process_wait (proc, 1);
if (err)
@ -1369,9 +1369,8 @@ gc_component_check_options (int component, estream_t out, const char *conf_file)
result = 0;
errlines = NULL;
err = gnupg_process_spawn (pgmname, argv,
GNUPG_PROCESS_STDERR_PIPE,
NULL, NULL, &proc);
err = gnupg_process_spawn (pgmname, argv, GNUPG_PROCESS_STDERR_PIPE,
NULL, &proc);
if (err)
result |= 1; /* Program could not be run. */
else
@ -1763,9 +1762,8 @@ retrieve_options_from_program (gc_component_id_t component, int only_installed)
/* First we need to read the option table from the program. */
argv[0] = "--dump-option-table";
argv[1] = NULL;
err = gnupg_process_spawn (pgmname, argv,
GNUPG_PROCESS_STDOUT_PIPE,
NULL, NULL, &proc);
err = gnupg_process_spawn (pgmname, argv, GNUPG_PROCESS_STDOUT_PIPE,
NULL, &proc);
if (err)
{
gc_error (1, 0, "could not gather option table from '%s': %s",
@ -1952,9 +1950,8 @@ retrieve_options_from_program (gc_component_id_t component, int only_installed)
/* Now read the default options. */
argv[0] = "--gpgconf-list";
argv[1] = NULL;
err = gnupg_process_spawn (pgmname, argv,
GNUPG_PROCESS_STDOUT_PIPE,
NULL, NULL, &proc);
err = gnupg_process_spawn (pgmname, argv, GNUPG_PROCESS_STDOUT_PIPE,
NULL, &proc);
if (err)
{
gc_error (1, 0, "could not gather active options from '%s': %s",