Line
Link Here
|
0 |
-- a/configure.ac |
0 |
++ b/configure.ac |
Lines 252-283
AC_ARG_WITH(pkcs11-helper-lib,
Link Here
|
252 |
|
252 |
|
253 |
AC_ARG_WITH(ifconfig-path, |
253 |
AC_ARG_WITH(ifconfig-path, |
254 |
[ --with-ifconfig-path=PATH Path to ifconfig tool], |
254 |
[ --with-ifconfig-path=PATH Path to ifconfig tool], |
255 |
[IFCONFIG="$withval"], |
|
|
256 |
[AC_PATH_PROG([IFCONFIG], [ifconfig], [ifconfig], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])] |
257 |
) |
255 |
) |
258 |
AC_DEFINE_UNQUOTED(IFCONFIG_PATH, "$IFCONFIG", [Path to ifconfig tool]) |
|
|
259 |
|
256 |
|
260 |
AC_ARG_WITH(iproute-path, |
257 |
AC_ARG_WITH(iproute-path, |
261 |
[ --with-iproute-path=PATH Path to iproute tool], |
258 |
[ --with-iproute-path=PATH Path to iproute tool], |
262 |
[IPROUTE="$withval"], |
|
|
263 |
[AC_PATH_PROG([IPROUTE], [ip], [ip], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])] |
264 |
) |
259 |
) |
265 |
AC_DEFINE_UNQUOTED(IPROUTE_PATH, "$IPROUTE", [Path to iproute tool]) |
|
|
266 |
|
267 |
|
260 |
|
268 |
AC_ARG_WITH(route-path, |
261 |
AC_ARG_WITH(route-path, |
269 |
[ --with-route-path=PATH Path to route tool], |
262 |
[ --with-route-path=PATH Path to route tool], |
270 |
[ROUTE="$withval"], |
|
|
271 |
[AC_PATH_PROG([ROUTE], [route], [route], [$PATH:/usr/local/sbin:/usr/sbin:/sbin])] |
272 |
) |
263 |
) |
273 |
AC_DEFINE_UNQUOTED(ROUTE_PATH, "$ROUTE", [Path to route tool]) |
|
|
274 |
|
264 |
|
275 |
AC_ARG_WITH(netstat-path, |
265 |
AC_ARG_WITH(netstat-path, |
276 |
[ --with-netstat-path=PATH Path to netstat tool], |
266 |
[ --with-netstat-path=PATH Path to netstat tool], |
277 |
[NETSTAT="$withval"], |
|
|
278 |
[AC_PATH_PROG([NETSTAT], [netstat], [netstat], [$PATH:/usr/local/sbin:/usr/sbin:/sbin:/etc])] |
279 |
) |
267 |
) |
280 |
AC_DEFINE_UNQUOTED(NETSTAT_PATH, "$NETSTAT", [Path to netstat tool]) |
|
|
281 |
|
268 |
|
282 |
AC_ARG_WITH(mem-check, |
269 |
AC_ARG_WITH(mem-check, |
283 |
[ --with-mem-check=TYPE Build with debug memory checking, TYPE = dmalloc or valgrind], |
270 |
[ --with-mem-check=TYPE Build with debug memory checking, TYPE = dmalloc or valgrind], |
Lines 499-505
AC_CHECK_FUNCS(daemon chroot getpwnam setuid nice system getpid dup dup2 dnl
Link Here
|
499 |
getpass strerror syslog openlog mlockall getgrnam setgid dnl |
486 |
getpass strerror syslog openlog mlockall getgrnam setgid dnl |
500 |
setgroups stat flock readv writev time dnl |
487 |
setgroups stat flock readv writev time dnl |
501 |
setsid chdir putenv getpeername unlink dnl |
488 |
setsid chdir putenv getpeername unlink dnl |
502 |
chsize ftruncate execve getpeereid umask) |
489 |
chsize ftruncate execve execvpe getpeereid umask) |
503 |
|
490 |
|
504 |
# Windows use stdcall for winsock so we cannot auto detect these |
491 |
# Windows use stdcall for winsock so we cannot auto detect these |
505 |
m4_define([SOCKET_FUNCS], [socket recv recvfrom send sendto listen dnl |
492 |
m4_define([SOCKET_FUNCS], [socket recv recvfrom send sendto listen dnl |
Lines 880-885
if test "$SELINUX" = "yes"; then
Link Here
|
880 |
) |
867 |
) |
881 |
fi |
868 |
fi |
882 |
|
869 |
|
|
|
870 |
dnl |
871 |
dnl setup paths to tools as need be |
872 |
dnl |
873 |
AC_DEFUN([NET_TOOL],[dnl |
874 |
AS_IF([test "x${with_$2_path}" != x],[dnl |
875 |
$1=${with_$2_path} |
876 |
],[dnl |
877 |
AS_IF([test "x${ac_cv_func_execvpe}" = "xyes"],[dnl |
878 |
$1=$2 |
879 |
],[dnl |
880 |
AC_PATH_PROG($1, $2, $2, [$PATH:/usr/local/sbin:/usr/sbin:/sbin]) |
881 |
]) |
882 |
]) |
883 |
AC_DEFINE_UNQUOTED($1_PATH, "[$]$1", [Path to $2 tool]) |
884 |
]) |
885 |
NET_TOOL([IFCONFIG], [ifconfig]) |
886 |
NET_TOOL([IPROUTE], [ip]) |
887 |
NET_TOOL([ROUTE], [route]) |
888 |
NET_TOOL([NETSTAT], [netstat]) |
889 |
|
883 |
TAP_ID="PRODUCT_TAP_ID" |
890 |
TAP_ID="PRODUCT_TAP_ID" |
884 |
TAP_WIN32_MIN_MAJOR="PRODUCT_TAP_WIN32_MIN_MAJOR" |
891 |
TAP_WIN32_MIN_MAJOR="PRODUCT_TAP_WIN32_MIN_MAJOR" |
885 |
TAP_WIN32_MIN_MINOR="PRODUCT_TAP_WIN32_MIN_MINOR" |
892 |
TAP_WIN32_MIN_MINOR="PRODUCT_TAP_WIN32_MIN_MINOR" |
886 |
-- a/misc.c |
893 |
++ b/misc.c |
Lines 521-527
openvpn_execve (const struct argv *a, const struct env_set *es, const unsigned i
Link Here
|
521 |
pid = fork (); |
521 |
pid = fork (); |
522 |
if (pid == (pid_t)0) /* child side */ |
522 |
if (pid == (pid_t)0) /* child side */ |
523 |
{ |
523 |
{ |
524 |
execve (cmd, argv, envp); |
524 |
ENABLE_EXECVE (cmd, argv, envp); |
525 |
exit (127); |
525 |
exit (127); |
526 |
} |
526 |
} |
527 |
else if (pid < (pid_t)0) /* fork failed */ |
527 |
else if (pid < (pid_t)0) /* fork failed */ |
528 |
-- a/syshead.h |
528 |
++ b/syshead.h |
Lines 460-467
socket_defined (const socket_descriptor_t sd)
Link Here
|
460 |
* Should we enable the use of execve() for calling subprocesses, |
460 |
* Should we enable the use of execve() for calling subprocesses, |
461 |
* instead of system()? |
461 |
* instead of system()? |
462 |
*/ |
462 |
*/ |
463 |
#if defined(HAVE_EXECVE) && defined(HAVE_FORK) |
463 |
#if defined(HAVE_FORK) |
464 |
#define ENABLE_EXECVE |
464 |
# if defined(HAVE_EXECVPE) |
|
|
465 |
# define ENABLE_EXECVE execvpe |
466 |
# elif defined(HAVE_EXECVE) |
467 |
# define ENABLE_EXECVE execve |
468 |
# endif |
465 |
#endif |
469 |
#endif |
466 |
|
470 |
|
467 |
/* |
471 |
/* |