mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-18 14:17:03 +01:00
agent,common,dirmngr,tests,tools: Remove spawn PREEXEC argument.
* common/exechelp-posix.c (do_exec): Remove PREEXEC argument. (gnupg_spawn_process): Likewise. (gnupg_spawn_process_fd): Follow the change of do_exec. (gnupg_spawn_process_detached): Likewise. * common/exechelp-w32.c (gnupg_spawn_process): Remove PREEXEC. * common/exechelp.h (gnupg_spawn_process): Remove PREEXEC. * agent/genkey.c (do_check_passphrase_pattern): Follow the change. * common/exectool.c (gnupg_exec_tool_stream): Likewise. * dirmngr/ldap-wrapper.c (ldap_wrapper): Likewise. * tests/gpgscm/ffi.c (do_spawn_process): Likewise. * tools/gpgconf-comp.c (gc_component_check_options): Likewise. (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. -- PREEXEC is not portable feature and it's not used. GnuPG-bug-id: 6249 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
0f13ccd0e0
commit
de01fb8131
@ -142,7 +142,7 @@ do_check_passphrase_pattern (ctrl_t ctrl, const char *pw, unsigned int flags)
|
|||||||
argv[i] = NULL;
|
argv[i] = NULL;
|
||||||
log_assert (i < sizeof argv);
|
log_assert (i < sizeof argv);
|
||||||
|
|
||||||
if (gnupg_spawn_process (pgmname, argv, NULL, NULL, 0,
|
if (gnupg_spawn_process (pgmname, argv, NULL, 0,
|
||||||
&stream_to_check_pattern, NULL, NULL, &pid))
|
&stream_to_check_pattern, NULL, NULL, &pid))
|
||||||
result = 1; /* Execute error - assume password should no be used. */
|
result = 1; /* Execute error - assume password should no be used. */
|
||||||
else
|
else
|
||||||
|
@ -277,7 +277,7 @@ get_all_open_fds (void)
|
|||||||
static void
|
static void
|
||||||
do_exec (const char *pgmname, const char *argv[],
|
do_exec (const char *pgmname, const char *argv[],
|
||||||
int fd_in, int fd_out, int fd_err,
|
int fd_in, int fd_out, int fd_err,
|
||||||
int *except, void (*preexec)(void), unsigned int flags)
|
int *except, unsigned int flags)
|
||||||
{
|
{
|
||||||
char **arg_list;
|
char **arg_list;
|
||||||
int i, j;
|
int i, j;
|
||||||
@ -334,8 +334,6 @@ do_exec (const char *pgmname, const char *argv[],
|
|||||||
/* Close all other files. */
|
/* Close all other files. */
|
||||||
close_all_fds (3, except);
|
close_all_fds (3, except);
|
||||||
|
|
||||||
if (preexec)
|
|
||||||
preexec ();
|
|
||||||
execv (pgmname, arg_list);
|
execv (pgmname, arg_list);
|
||||||
/* No way to print anything, as we have closed all streams. */
|
/* No way to print anything, as we have closed all streams. */
|
||||||
_exit (127);
|
_exit (127);
|
||||||
@ -437,7 +435,7 @@ gnupg_close_pipe (int fd)
|
|||||||
/* Fork and exec the PGMNAME, see exechelp.h for details. */
|
/* Fork and exec the PGMNAME, see exechelp.h for details. */
|
||||||
gpg_error_t
|
gpg_error_t
|
||||||
gnupg_spawn_process (const char *pgmname, const char *argv[],
|
gnupg_spawn_process (const char *pgmname, const char *argv[],
|
||||||
int *except, void (*preexec)(void), unsigned int flags,
|
int *except, unsigned int flags,
|
||||||
estream_t *r_infp,
|
estream_t *r_infp,
|
||||||
estream_t *r_outfp,
|
estream_t *r_outfp,
|
||||||
estream_t *r_errfp,
|
estream_t *r_errfp,
|
||||||
@ -544,7 +542,7 @@ gnupg_spawn_process (const char *pgmname, const char *argv[],
|
|||||||
es_fclose (outfp);
|
es_fclose (outfp);
|
||||||
es_fclose (errfp);
|
es_fclose (errfp);
|
||||||
do_exec (pgmname, argv, inpipe[0], outpipe[1], errpipe[1],
|
do_exec (pgmname, argv, inpipe[0], outpipe[1], errpipe[1],
|
||||||
except, preexec, flags);
|
except, flags);
|
||||||
/*NOTREACHED*/
|
/*NOTREACHED*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -594,7 +592,7 @@ gnupg_spawn_process_fd (const char *pgmname, const char *argv[],
|
|||||||
{
|
{
|
||||||
gcry_control (GCRYCTL_TERM_SECMEM);
|
gcry_control (GCRYCTL_TERM_SECMEM);
|
||||||
/* Run child. */
|
/* Run child. */
|
||||||
do_exec (pgmname, argv, infd, outfd, errfd, NULL, NULL, 0);
|
do_exec (pgmname, argv, infd, outfd, errfd, NULL, 0);
|
||||||
/*NOTREACHED*/
|
/*NOTREACHED*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -893,7 +891,7 @@ gnupg_spawn_process_detached (const char *pgmname, const char *argv[],
|
|||||||
for (i=0; envp[i]; i++)
|
for (i=0; envp[i]; i++)
|
||||||
putenv (xstrdup (envp[i]));
|
putenv (xstrdup (envp[i]));
|
||||||
|
|
||||||
do_exec (pgmname, argv, -1, -1, -1, NULL, NULL, 0);
|
do_exec (pgmname, argv, -1, -1, -1, NULL, 0);
|
||||||
|
|
||||||
/*NOTREACHED*/
|
/*NOTREACHED*/
|
||||||
}
|
}
|
||||||
|
@ -410,7 +410,7 @@ gnupg_close_pipe (int fd)
|
|||||||
/* Fork and exec the PGMNAME, see exechelp.h for details. */
|
/* Fork and exec the PGMNAME, see exechelp.h for details. */
|
||||||
gpg_error_t
|
gpg_error_t
|
||||||
gnupg_spawn_process (const char *pgmname, const char *argv[],
|
gnupg_spawn_process (const char *pgmname, const char *argv[],
|
||||||
int *except, void (*preexec)(void), unsigned int flags,
|
int *except, unsigned int flags,
|
||||||
estream_t *r_infp,
|
estream_t *r_infp,
|
||||||
estream_t *r_outfp,
|
estream_t *r_outfp,
|
||||||
estream_t *r_errfp,
|
estream_t *r_errfp,
|
||||||
@ -564,10 +564,6 @@ gnupg_spawn_process (const char *pgmname, const char *argv[],
|
|||||||
nullhd[2] = ((flags & GNUPG_SPAWN_KEEP_STDOUT)?
|
nullhd[2] = ((flags & GNUPG_SPAWN_KEEP_STDOUT)?
|
||||||
GetStdHandle (STD_ERROR_HANDLE) : w32_open_null (1));
|
GetStdHandle (STD_ERROR_HANDLE) : w32_open_null (1));
|
||||||
|
|
||||||
/* Start the process. Note that we can't run the PREEXEC function
|
|
||||||
because this might change our own environment. */
|
|
||||||
(void)preexec;
|
|
||||||
|
|
||||||
memset (&si, 0, sizeof si);
|
memset (&si, 0, sizeof si);
|
||||||
si.cb = sizeof (si);
|
si.cb = sizeof (si);
|
||||||
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
|
si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
|
||||||
|
@ -133,7 +133,7 @@ void gnupg_close_pipe (int fd);
|
|||||||
*/
|
*/
|
||||||
gpg_error_t
|
gpg_error_t
|
||||||
gnupg_spawn_process (const char *pgmname, const char *argv[],
|
gnupg_spawn_process (const char *pgmname, const char *argv[],
|
||||||
int *execpt, void (*preexec)(void), unsigned int flags,
|
int *execpt, unsigned int flags,
|
||||||
estream_t *r_infp,
|
estream_t *r_infp,
|
||||||
estream_t *r_outfp,
|
estream_t *r_outfp,
|
||||||
estream_t *r_errfp,
|
estream_t *r_errfp,
|
||||||
|
@ -412,7 +412,7 @@ gnupg_exec_tool_stream (const char *pgmname, const char *argv[],
|
|||||||
exceptclose[0] = -1;
|
exceptclose[0] = -1;
|
||||||
|
|
||||||
err = gnupg_spawn_process (pgmname, argv,
|
err = gnupg_spawn_process (pgmname, argv,
|
||||||
exceptclose, NULL, GNUPG_SPAWN_NONBLOCK,
|
exceptclose, GNUPG_SPAWN_NONBLOCK,
|
||||||
input? &infp : NULL,
|
input? &infp : NULL,
|
||||||
&outfp, &errfp, &pid);
|
&outfp, &errfp, &pid);
|
||||||
if (extrapipe[0] != -1)
|
if (extrapipe[0] != -1)
|
||||||
|
@ -855,7 +855,7 @@ ldap_wrapper (ctrl_t ctrl, ksba_reader_t *reader, const char *argv[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = gnupg_spawn_process (pgmname, arg_list,
|
err = gnupg_spawn_process (pgmname, arg_list,
|
||||||
NULL, NULL, GNUPG_SPAWN_NONBLOCK,
|
NULL, GNUPG_SPAWN_NONBLOCK,
|
||||||
NULL, &outfp, &errfp, &pid);
|
NULL, &outfp, &errfp, &pid);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
|
@ -787,7 +787,6 @@ do_spawn_process (scheme *sc, pointer args)
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = gnupg_spawn_process (argv[0], (const char **) &argv[1],
|
err = gnupg_spawn_process (argv[0], (const char **) &argv[1],
|
||||||
NULL,
|
|
||||||
NULL,
|
NULL,
|
||||||
flags,
|
flags,
|
||||||
&infp, &outfp, &errfp, &pid);
|
&infp, &outfp, &errfp, &pid);
|
||||||
|
@ -1370,7 +1370,7 @@ gc_component_check_options (int component, estream_t out, const char *conf_file)
|
|||||||
|
|
||||||
result = 0;
|
result = 0;
|
||||||
errlines = NULL;
|
errlines = NULL;
|
||||||
err = gnupg_spawn_process (pgmname, argv, NULL, NULL, 0,
|
err = gnupg_spawn_process (pgmname, argv, NULL, 0,
|
||||||
NULL, NULL, &errfp, &pid);
|
NULL, NULL, &errfp, &pid);
|
||||||
if (err)
|
if (err)
|
||||||
result |= 1; /* Program could not be run. */
|
result |= 1; /* Program could not be run. */
|
||||||
@ -1759,7 +1759,7 @@ retrieve_options_from_program (gc_component_id_t component, int only_installed)
|
|||||||
/* First we need to read the option table from the program. */
|
/* First we need to read the option table from the program. */
|
||||||
argv[0] = "--dump-option-table";
|
argv[0] = "--dump-option-table";
|
||||||
argv[1] = NULL;
|
argv[1] = NULL;
|
||||||
err = gnupg_spawn_process (pgmname, argv, NULL, NULL, 0,
|
err = gnupg_spawn_process (pgmname, argv, NULL, 0,
|
||||||
NULL, &outfp, NULL, &pid);
|
NULL, &outfp, NULL, &pid);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
@ -1940,7 +1940,7 @@ retrieve_options_from_program (gc_component_id_t component, int only_installed)
|
|||||||
/* Now read the default options. */
|
/* Now read the default options. */
|
||||||
argv[0] = "--gpgconf-list";
|
argv[0] = "--gpgconf-list";
|
||||||
argv[1] = NULL;
|
argv[1] = NULL;
|
||||||
err = gnupg_spawn_process (pgmname, argv, NULL, NULL, 0,
|
err = gnupg_spawn_process (pgmname, argv, NULL, 0,
|
||||||
NULL, &outfp, NULL, &pid);
|
NULL, &outfp, NULL, &pid);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
|
@ -1182,7 +1182,7 @@ show_versions_via_dirmngr (estream_t fp)
|
|||||||
pgmname = gnupg_module_name (GNUPG_MODULE_NAME_DIRMNGR);
|
pgmname = gnupg_module_name (GNUPG_MODULE_NAME_DIRMNGR);
|
||||||
argv[0] = "--gpgconf-versions";
|
argv[0] = "--gpgconf-versions";
|
||||||
argv[1] = NULL;
|
argv[1] = NULL;
|
||||||
err = gnupg_spawn_process (pgmname, argv, NULL, NULL, 0,
|
err = gnupg_spawn_process (pgmname, argv, NULL, 0,
|
||||||
NULL, &outfp, NULL, &pid);
|
NULL, &outfp, NULL, &pid);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
|
@ -1195,7 +1195,7 @@ gpgtar_create (char **inpattern, const char *files_from, int null_names,
|
|||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = gnupg_spawn_process (opt.gpg_program, argv, NULL, NULL,
|
err = gnupg_spawn_process (opt.gpg_program, argv, NULL,
|
||||||
(GNUPG_SPAWN_KEEP_STDOUT
|
(GNUPG_SPAWN_KEEP_STDOUT
|
||||||
| GNUPG_SPAWN_KEEP_STDERR),
|
| GNUPG_SPAWN_KEEP_STDERR),
|
||||||
&outstream, NULL, NULL, &pid);
|
&outstream, NULL, NULL, &pid);
|
||||||
|
@ -408,7 +408,7 @@ gpgtar_extract (const char *filename, int decrypt)
|
|||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = gnupg_spawn_process (opt.gpg_program, argv, NULL, NULL,
|
err = gnupg_spawn_process (opt.gpg_program, argv, NULL,
|
||||||
((filename? 0 : GNUPG_SPAWN_KEEP_STDIN)
|
((filename? 0 : GNUPG_SPAWN_KEEP_STDIN)
|
||||||
| GNUPG_SPAWN_KEEP_STDERR),
|
| GNUPG_SPAWN_KEEP_STDERR),
|
||||||
NULL, &stream, NULL, &pid);
|
NULL, &stream, NULL, &pid);
|
||||||
|
@ -501,7 +501,7 @@ gpgtar_list (const char *filename, int decrypt)
|
|||||||
goto leave;
|
goto leave;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = gnupg_spawn_process (opt.gpg_program, argv, NULL, NULL,
|
err = gnupg_spawn_process (opt.gpg_program, argv, NULL,
|
||||||
((filename? 0 : GNUPG_SPAWN_KEEP_STDIN)
|
((filename? 0 : GNUPG_SPAWN_KEEP_STDIN)
|
||||||
| GNUPG_SPAWN_KEEP_STDERR),
|
| GNUPG_SPAWN_KEEP_STDERR),
|
||||||
NULL, &stream, NULL, &pid);
|
NULL, &stream, NULL, &pid);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user