Add execvpe(), exect(), posix_spawn() and posix_spawnp() wrappers
to sudo_noexec.c.
This commit is contained in:
@@ -475,6 +475,9 @@
|
|||||||
/* Define to 1 if you have the `snprintf' function. */
|
/* Define to 1 if you have the `snprintf' function. */
|
||||||
#undef HAVE_SNPRINTF
|
#undef HAVE_SNPRINTF
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <spawn.h> header file. */
|
||||||
|
#undef HAVE_SPAWN_H
|
||||||
|
|
||||||
/* Define to 1 if stdbool.h conforms to C99. */
|
/* Define to 1 if stdbool.h conforms to C99. */
|
||||||
#undef HAVE_STDBOOL_H
|
#undef HAVE_STDBOOL_H
|
||||||
|
|
||||||
|
2
configure
vendored
2
configure
vendored
@@ -15235,7 +15235,7 @@ $as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
|
|||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for ac_header in malloc.h paths.h utime.h netgroup.h utmpx.h sys/sockio.h sys/bsdtypes.h sys/select.h sys/stropts.h sys/sysmacros.h
|
for ac_header in malloc.h netgroup.h paths.h spawn.h utime.h utmpx.h sys/sockio.h sys/bsdtypes.h sys/select.h sys/stropts.h sys/sysmacros.h
|
||||||
do :
|
do :
|
||||||
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||||
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
|
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
|
||||||
|
@@ -2006,7 +2006,7 @@ AC_HEADER_STDC
|
|||||||
AC_HEADER_DIRENT
|
AC_HEADER_DIRENT
|
||||||
AC_HEADER_TIME
|
AC_HEADER_TIME
|
||||||
AC_HEADER_STDBOOL
|
AC_HEADER_STDBOOL
|
||||||
AC_CHECK_HEADERS(malloc.h paths.h utime.h netgroup.h utmpx.h sys/sockio.h sys/bsdtypes.h sys/select.h sys/stropts.h sys/sysmacros.h)
|
AC_CHECK_HEADERS(malloc.h netgroup.h paths.h spawn.h utime.h utmpx.h sys/sockio.h sys/bsdtypes.h sys/select.h sys/stropts.h sys/sysmacros.h)
|
||||||
dnl
|
dnl
|
||||||
dnl Check for large file support. HP-UX 11.23 has a broken sys/type.h
|
dnl Check for large file support. HP-UX 11.23 has a broken sys/type.h
|
||||||
dnl when large files support is enabled so work around it.
|
dnl when large files support is enabled so work around it.
|
||||||
|
@@ -20,6 +20,9 @@
|
|||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
#ifdef HAVE_SPAWN_H
|
||||||
|
#include <spawn.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "missing.h"
|
#include "missing.h"
|
||||||
|
|
||||||
@@ -47,6 +50,11 @@ int \
|
|||||||
fn(t1 a1, t2 a2, t3 a3) \
|
fn(t1 a1, t2 a2, t3 a3) \
|
||||||
DUMMY_BODY
|
DUMMY_BODY
|
||||||
|
|
||||||
|
#define DUMMY6(fn, t1, t2, t3, t4, t5, t6) \
|
||||||
|
int \
|
||||||
|
fn(t1 a1, t2 a2, t3 a3, t4 a4, t5 a5, t6 a6) \
|
||||||
|
DUMMY_BODY
|
||||||
|
|
||||||
#define DUMMY_VA(fn, t1, t2) \
|
#define DUMMY_VA(fn, t1, t2) \
|
||||||
int \
|
int \
|
||||||
fn(t1 a1, t2 a2, ...) \
|
fn(t1 a1, t2 a2, ...) \
|
||||||
@@ -61,6 +69,9 @@ DUMMY_VA(__execle, const char *, const char *)
|
|||||||
DUMMY_VA(execlp, const char *, const char *)
|
DUMMY_VA(execlp, const char *, const char *)
|
||||||
DUMMY_VA(_execlp, const char *, const char *)
|
DUMMY_VA(_execlp, const char *, const char *)
|
||||||
DUMMY_VA(__execlp, const char *, const char *)
|
DUMMY_VA(__execlp, const char *, const char *)
|
||||||
|
DUMMY3(exect, const char *, char * const *, char * const *)
|
||||||
|
DUMMY3(_exect, const char *, char * const *, char * const *)
|
||||||
|
DUMMY3(__exect, const char *, char * const *, char * const *)
|
||||||
DUMMY2(execv, const char *, char * const *)
|
DUMMY2(execv, const char *, char * const *)
|
||||||
DUMMY2(_execv, const char *, char * const *)
|
DUMMY2(_execv, const char *, char * const *)
|
||||||
DUMMY2(__execv, const char *, char * const *)
|
DUMMY2(__execv, const char *, char * const *)
|
||||||
@@ -73,6 +84,17 @@ DUMMY3(__execvP, const char *, const char *, char * const *)
|
|||||||
DUMMY3(execve, const char *, char * const *, char * const *)
|
DUMMY3(execve, const char *, char * const *, char * const *)
|
||||||
DUMMY3(_execve, const char *, char * const *, char * const *)
|
DUMMY3(_execve, const char *, char * const *, char * const *)
|
||||||
DUMMY3(__execve, const char *, char * const *, char * const *)
|
DUMMY3(__execve, const char *, char * const *, char * const *)
|
||||||
|
DUMMY3(execvpe, const char *, char * const *, char * const *)
|
||||||
|
DUMMY3(_execvpe, const char *, char * const *, char * const *)
|
||||||
|
DUMMY3(__execvpe, const char *, char * const *, char * const *)
|
||||||
DUMMY3(fexecve, int , char * const *, char * const *)
|
DUMMY3(fexecve, int , char * const *, char * const *)
|
||||||
DUMMY3(_fexecve, int , char * const *, char * const *)
|
DUMMY3(_fexecve, int , char * const *, char * const *)
|
||||||
DUMMY3(__fexecve, int , char * const *, char * const *)
|
DUMMY3(__fexecve, int , char * const *, char * const *)
|
||||||
|
#ifdef HAVE_SPAWN_H
|
||||||
|
DUMMY6(posix_spawn, pid_t *, const char *, const posix_spawn_file_actions_t *, const posix_spawnattr_t *, char * const *, char * const *)
|
||||||
|
DUMMY6(_posix_spawn, pid_t *, const char *, const posix_spawn_file_actions_t *, const posix_spawnattr_t *, char * const *, char * const *)
|
||||||
|
DUMMY6(__posix_spawn, pid_t *, const char *, const posix_spawn_file_actions_t *, const posix_spawnattr_t *, char * const *, char * const *)
|
||||||
|
DUMMY6(posix_spawnp, pid_t *, const char *, const posix_spawn_file_actions_t *, const posix_spawnattr_t *, char * const *, char * const *)
|
||||||
|
DUMMY6(_posix_spawnp, pid_t *, const char *, const posix_spawn_file_actions_t *, const posix_spawnattr_t *, char * const *, char * const *)
|
||||||
|
DUMMY6(__posix_spawnp, pid_t *, const char *, const posix_spawn_file_actions_t *, const posix_spawnattr_t *, char * const *, char * const *)
|
||||||
|
#endif /* HAVE_SPAWN_H */
|
||||||
|
Reference in New Issue
Block a user