summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorTodd C. Miller <Todd.Miller@courtesan.com>2000-12-30 03:29:47 +0000
committerTodd C. Miller <Todd.Miller@courtesan.com>2000-12-30 03:29:47 +0000
commita709a32fb1ba57cda1cfad40a04951fd32921477 (patch)
tree6220d07be9841099fb38d0fa6698c04c206a3637 /configure.in
parent6f9d21cae35d8e606c811526b368bdb341115866 (diff)
downloadsudo-a709a32fb1ba57cda1cfad40a04951fd32921477.tar.gz
New Defaults options:
o stay_setuid - sudo will remain setuid if system has saved uids or setreuid(2) o env_reset - reset the environment to a sane default o env_keep - preserve environment variables that would otherwise be cleared No longer use getenv/putenv/setenv functions--do environment munging by hand. Potentially dangerous environment variables can be cleared only if they contain '/' pr '%' characters to protect buggy programs. Moved environment routines into env.c (new file)
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in16
1 files changed, 15 insertions, 1 deletions
diff --git a/configure.in b/configure.in
index 1230c3c86..715bb2150 100644
--- a/configure.in
+++ b/configure.in
@@ -1448,6 +1448,18 @@ case "$host" in
CHECKSHADOW="false"
fi
;;
+ *-*-*openbsd*)
+ BROKEN_SETREUID=yes
+ if test "$CHECKSHADOW" = "true"; then
+ CHECKSHADOW="false"
+ fi
+ ;;
+ *-*-*netbsd*)
+ BROKEN_SETREUID=yes
+ if test "$CHECKSHADOW" = "true"; then
+ CHECKSHADOW="false"
+ fi
+ ;;
*-*-*bsd*)
if test "$CHECKSHADOW" = "true"; then
CHECKSHADOW="false"
@@ -1534,6 +1546,9 @@ dnl
dnl Function checks
dnl
AC_CHECK_FUNCS(strchr strrchr memchr memcpy memset sysconf sigaction tzset seteuid strftime setrlimit initgroups fstat)
+if test -z "$BROKEN_SETREUID"; then
+ AC_CHECK_FUNCS(setreuid)
+fi
if test X"$with_interfaces" != X"no"; then
AC_CHECK_FUNCS(getifaddrs)
fi
@@ -1549,7 +1564,6 @@ AC_CHECK_FUNC(lockf, AC_DEFINE(HAVE_LOCKF), AC_CHECK_FUNCS(flock))
AC_CHECK_FUNC(waitpid, AC_DEFINE(HAVE_WAITPID), AC_CHECK_FUNCS(wait3))
AC_CHECK_FUNC(innetgr, AC_DEFINE(HAVE_INNETGR) AC_CHECK_FUNCS(getdomainname), [AC_CHECK_FUNC(_innetgr, AC_DEFINE(HAVE__INNETGR) AC_CHECK_FUNCS(getdomainname))])
AC_CHECK_FUNC(lsearch, AC_DEFINE(HAVE_LSEARCH), AC_CHECK_LIB(compat, lsearch, AC_CHECK_HEADER(search.h, AC_DEFINE(HAVE_LSEARCH) [LIBS="${LIBS} -lcompat"], LIBOBJS="$LIBOBJS lsearch.o"), LIBOBJS="$LIBOBJS lsearch.o"))
-AC_CHECK_FUNC(setenv, AC_DEFINE(HAVE_SETENV), AC_FUNC_CHECK(putenv, AC_DEFINE(HAVE_PUTENV), LIBOBJS="$LIBOBJS putenv.o"))
AC_CHECK_FUNC(utime, AC_DEFINE(HAVE_UTIME)
SUDO_FUNC_UTIME_POSIX, LIBOBJS="$LIBOBJS utime.o")
SUDO_FUNC_FNMATCH(AC_DEFINE(HAVE_FNMATCH), LIBOBJS="$LIBOBJS fnmatch.o")