From 2de61320b361836e48e7d52158d16a1c5e2d67a1 Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Fri, 22 Nov 2002 19:08:10 +0000 Subject: [PATCH] regen from configure.in --- config.h.in | 142 ++++++++++++++++++++------------------- configure | 186 +++++++++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 239 insertions(+), 89 deletions(-) diff --git a/config.h.in b/config.h.in index 281fc132b..c9735acdd 100644 --- a/config.h.in +++ b/config.h.in @@ -1,4 +1,4 @@ -/* config.h.in. Generated automatically from configure.in by autoheader. */ +/* config.h.in. Generated from configure.in by autoheader. */ #ifndef _SUDO_CONFIG_H #define _SUDO_CONFIG_H @@ -18,7 +18,7 @@ /* Define if you want insults culled from the twisted minds of CSOps. */ #undef CSOPS_INSULTS -/* Define if using `alloca.c'. */ +/* Define to 1 if using `alloca.c'. */ #undef C_ALLOCA /* Define if you want sudo to display "command not allowed" instead of @@ -46,19 +46,20 @@ /* Define if you use AFS. */ #undef HAVE_AFS -/* Define if you have `alloca', as a function or macro. */ +/* Define to 1 if you have `alloca', as a function or macro. */ #undef HAVE_ALLOCA -/* Define if you have and it should be used (not on Ultrix). */ +/* Define to 1 if you have and it should be used (not on Ultrix). + */ #undef HAVE_ALLOCA_H -/* Define if you have the `asprintf' function. */ +/* Define to 1 if you have the `asprintf' function. */ #undef HAVE_ASPRINTF /* Define if you use AIX general authentication. */ #undef HAVE_AUTHENTICATE -/* Define if you have the `bigcrypt' function. */ +/* Define to 1 if you have the `bigcrypt' function. */ #undef HAVE_BIGCRYPT /* Define if you use BSD authentication. */ @@ -67,22 +68,23 @@ /* Define if you use OSF DCE. */ #undef HAVE_DCE -/* Define if you have the header file, and it defines `DIR'. */ +/* Define to 1 if you have the header file, and it defines `DIR'. + */ #undef HAVE_DIRENT_H -/* Define if you have the `dispcrypt' function. */ +/* Define to 1 if you have the `dispcrypt' function. */ #undef HAVE_DISPCRYPT -/* Define if you have the `flock' function. */ +/* Define to 1 if you have the `flock' function. */ #undef HAVE_FLOCK /* Define if you have the `fnmatch' function. */ #undef HAVE_FNMATCH -/* Define if you have the `freeifaddrs' function. */ +/* Define to 1 if you have the `freeifaddrs' function. */ #undef HAVE_FREEIFADDRS -/* Define if you have the `fstat' function. */ +/* Define to 1 if you have the `fstat' function. */ #undef HAVE_FSTAT /* Define if you use the FWTK authsrv daemon. */ @@ -92,13 +94,13 @@ */ #undef HAVE_GETAUTHUID -/* Define if you have the `getcwd' function. */ +/* Define to 1 if you have the `getcwd' function. */ #undef HAVE_GETCWD -/* Define if you have the `getdomainname' function. */ +/* Define to 1 if you have the `getdomainname' function. */ #undef HAVE_GETDOMAINNAME -/* Define if you have the `getifaddrs' function. */ +/* Define to 1 if you have the `getifaddrs' function. */ #undef HAVE_GETIFADDRS /* Define if you have the `getprpwnam' function. (SecureWare-style shadow @@ -116,16 +118,16 @@ passwords) */ #undef HAVE_GETSPWUID -/* Define if you have the `initgroups' function. */ +/* Define to 1 if you have the `initgroups' function. */ #undef HAVE_INITGROUPS -/* Define if you have the `initprivs' function. */ +/* Define to 1 if you have the `initprivs' function. */ #undef HAVE_INITPRIVS -/* Define if you have the `innetgr' function. */ +/* Define to 1 if you have the `innetgr' function. */ #undef HAVE_INNETGR -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if you have isblank(3). */ @@ -145,37 +147,37 @@ /* Define if you use Kerberos V. */ #undef HAVE_KERB5 -/* Define if you have the `lockf' function. */ +/* Define to 1 if you have the `lockf' function. */ #undef HAVE_LOCKF -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_LOGIN_CAP_H /* Define if your compiler supports the "long long" type. */ #undef HAVE_LONG_LONG -/* Define if you have the `lsearch' function. */ +/* Define to 1 if you have the `lsearch' function. */ #undef HAVE_LSEARCH -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_MALLOC_H -/* Define if you have the `memchr' function. */ +/* Define to 1 if you have the `memchr' function. */ #undef HAVE_MEMCHR -/* Define if you have the `memcpy' function. */ +/* Define to 1 if you have the `memcpy' function. */ #undef HAVE_MEMCPY -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H -/* Define if you have the `memset' function. */ +/* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET -/* Define if you have the header file, and it defines `DIR'. */ +/* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_NDIR_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_NETGROUP_H /* Define if you use NRL OPIE. */ @@ -184,7 +186,7 @@ /* Define if you use PAM. */ #undef HAVE_PAM -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_PATHS_H /* Define if your struct sockadr has an sa_len field. */ @@ -193,31 +195,28 @@ /* Define if you use SecurID. */ #undef HAVE_SECURID -/* Define if you have the `setegid' function. */ -#undef HAVE_SETEGID - -/* Define if you have the `seteuid' function. */ -#undef HAVE_SETEUID +/* Define to 1 if you have the `setresuid' function. */ +#undef HAVE_SETRESUID -/* Define if you have the `setreuid' function. */ +/* Define to 1 if you have the `setreuid' function. */ #undef HAVE_SETREUID -/* Define if you have the `setrlimit' function. */ +/* Define to 1 if you have the `setrlimit' function. */ #undef HAVE_SETRLIMIT -/* Define if you have the `set_auth_parameters' function. */ +/* Define to 1 if you have the `set_auth_parameters' function. */ #undef HAVE_SET_AUTH_PARAMETERS /* Define if you use SIA. */ #undef HAVE_SIA -/* Define if you have the `sigaction' function. */ +/* Define to 1 if you have the `sigaction' function. */ #undef HAVE_SIGACTION /* Define if has the sigaction_t typedef. */ #undef HAVE_SIGACTION_T -/* Define if the system has the type `sig_atomic_t'. */ +/* Define to 1 if the system has the type `sig_atomic_t'. */ #undef HAVE_SIG_ATOMIC_T /* Define if you use S/Key. */ @@ -226,95 +225,97 @@ /* Define if your S/Key library has skeyaccess(). */ #undef HAVE_SKEYACCESS -/* Define if you have the `snprintf' function. */ +/* Define to 1 if you have the `snprintf' function. */ #undef HAVE_SNPRINTF -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H -/* Define if you have the `strcasecmp' function. */ +/* Define to 1 if you have the `strcasecmp' function. */ #undef HAVE_STRCASECMP -/* Define if you have the `strchr' function. */ +/* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR -/* Define if you have the `strerror' function. */ +/* Define to 1 if you have the `strerror' function. */ #undef HAVE_STRERROR -/* Define if you have the `strftime' function. */ +/* Define to 1 if you have the `strftime' function. */ #undef HAVE_STRFTIME -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_STRING_H -/* Define if you have the `strrchr' function. */ +/* Define to 1 if you have the `strrchr' function. */ #undef HAVE_STRRCHR -/* Define if you have the `sysconf' function. */ +/* Define to 1 if you have the `sysconf' function. */ #undef HAVE_SYSCONF -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_BSDTYPES_H -/* Define if you have the header file, and it defines `DIR'. */ +/* Define to 1 if you have the header file, and it defines `DIR'. + */ #undef HAVE_SYS_DIR_H -/* Define if you have the header file, and it defines `DIR'. */ +/* Define to 1 if you have the header file, and it defines `DIR'. + */ #undef HAVE_SYS_NDIR_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_SELECT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKIO_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define if you have the header file and the `tcgetattr' function. */ #undef HAVE_TERMIOS_H -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_TERMIO_H -/* Define if you have the `tzset' function. */ +/* Define to 1 if you have the `tzset' function. */ #undef HAVE_TZSET -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H -/* Define if you have the `utime' function. */ +/* Define to 1 if you have the `utime' function. */ #undef HAVE_UTIME -/* Define if you have the header file. */ +/* Define to 1 if you have the header file. */ #undef HAVE_UTIME_H /* Define if you have a POSIX utime() (uses struct utimbuf). */ #undef HAVE_UTIME_POSIX -/* Define if you have the `vasprintf' function. */ +/* Define to 1 if you have the `vasprintf' function. */ #undef HAVE_VASPRINTF -/* Define if you have the `vsnprintf' function. */ +/* Define to 1 if you have the `vsnprintf' function. */ #undef HAVE_VSNPRINTF -/* Define if you have the `wait3' function. */ +/* Define to 1 if you have the `wait3' function. */ #undef HAVE_WAIT3 -/* Define if you have the `waitpid' function. */ +/* Define to 1 if you have the `waitpid' function. */ #undef HAVE_WAITPID -/* Define if you have the `_innetgr' function. */ +/* Define to 1 if you have the `_innetgr' function. */ #undef HAVE__INNETGR /* Define if you want the hostname to be entered into the log file. */ @@ -401,7 +402,7 @@ /* Define if you want sudo to start a shell if given no arguments. */ #undef SHELL_IF_NO_ARGS -/* Define if you want sudo to set /home/millert in shell mode. */ +/* Define if you want sudo to set in shell mode. */ #undef SHELL_SETS_HOME /* If using the C implementation of alloca, define if you know the @@ -412,7 +413,7 @@ STACK_DIRECTION = 0 => direction of growth unknown */ #undef STACK_DIRECTION -/* Define if you have the ANSI C header files. */ +/* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define if the code in interfaces.c does not compile for you. */ @@ -460,9 +461,6 @@ # define _GNU_SOURCE 1 #endif -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE - /* Define to empty if `const' does not conform to ANSI C. */ #undef const diff --git a/configure b/configure index b32e5a7a4..75c0320d9 100755 --- a/configure +++ b/configure @@ -831,6 +831,7 @@ Optional Features: Do not require authentication by default --disable-root-mailer Don't run the mailer as root, run as the user --disable-setreuid Don't try to use the setreuid() function + --disable-setresuid Don't try to use the setresuid() function --disable-saved-ids Don't try to use POSIX saved ids --disable-shadow Never use shadow passwords --disable-root-sudo Don't allow root to run sudo @@ -1639,7 +1640,6 @@ echo $ECHO_N "checking whether to use SecurID for authentication... $ECHO_C" >&6 echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6 with_passwd=no - AUTH_OBJS="securid.o" ;; esac fi; @@ -2945,7 +2945,18 @@ fi; if test "${enable_setreuid+set}" = set; then enableval="$enable_setreuid" case "$enableval" in - no) BROKEN_SETREUID=1 + no) SKIP_SETREUID=yes + ;; + *) ;; + esac + +fi; + +# Check whether --enable-setresuid or --disable-setresuid was given. +if test "${enable_setresuid+set}" = set; then + enableval="$enable_setresuid" + case "$enableval" in + no) SKIP_SETRESUID=yes ;; *) ;; esac @@ -6391,7 +6402,7 @@ fi test -n "$mansectform" || mansectform=4 ;; *-*-bsdi*) - BROKEN_SETREUID=yes + SKIP_SETREUID=yes # Use shlicc for BSD/OS [23].x unless asked to do otherwise if test "${with_CC+set}" != set -a "$ac_cv_prog_CC" = gcc; then case "$OSREV" in @@ -6407,7 +6418,7 @@ fi # backported to 2.0.5. We just take 2.1 and above... case "`echo $host_os | sed 's/^freebsd\([0-9\.]*\).*$/\1/'`" in 0.*|1.*|2.0*) - BROKEN_SETREUID=yes + SKIP_SETREUID=yes ;; esac if test "$with_logincap" = "yes"; then @@ -6421,7 +6432,7 @@ fi fi ;; *-*-*openbsd*) - BROKEN_SETREUID=yes + SKIP_SETREUID=yes if test "$CHECKSHADOW" = "true"; then CHECKSHADOW="false" fi @@ -6430,7 +6441,7 @@ fi # NetBSD has a real setreuid(2) starting with 1.3.2 case "`echo $host_os | sed 's/^netbsd\([0-9\.]*\).*$/\1/'`" in 0.9*|1.012*|1.3|1.3.1) - BROKEN_SETREUID=yes + SKIP_SETREUID=yes ;; esac if test "$CHECKSHADOW" = "true"; then @@ -8987,10 +8998,8 @@ esac - - for ac_func in strchr strrchr memchr memcpy memset sysconf tzset \ - seteuid setegid strftime setrlimit initgroups fstat + strftime setrlimit initgroups fstat do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 @@ -9065,7 +9074,85 @@ _ACEOF fi done -if test -z "$BROKEN_SETREUID"; then +if test -z "$SKIP_SETRESUID"; then + +for ac_func in setresuid +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. */ +#include +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +char (*f) (); + +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +f = $ac_func; +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +eval "$as_ac_var=no" +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + SKIP_SETREUID=yes +fi +done + +fi +if test -z "$SKIP_SETREUID"; then for ac_func in setreuid do @@ -12048,15 +12135,80 @@ fi if test -n "$with_SecurID" -a "$with_SecurID" != "no"; then if test "$with_SecurID" != "yes"; then - SUDO_LIBS="${SUDO_LIBS} ${with_SecurID}/sdiclient.a" - CPPFLAGS="${CPPFLAGS} -I${with_SecurID}" - elif test -f /usr/ace/examples/sdiclient.a; then - SUDO_LIBS="${SUDO_LIBS} /usr/ace/examples/sdiclient.a" - CPPFLAGS="${CPPFLAGS} -I/usr/ace/examples" + : + elif test -d /usr/ace/examples; then + with_SecurID=/usr/ace/examples else - SUDO_LIBS="${SUDO_LIBS} /usr/ace/sdiclient.a" - CPPFLAGS="${CPPFLAGS} -I/usr/ace" + with_SecurID=/usr/ace fi + CPPFLAGS="${CPPFLAGS} -I${with_SecurID}" + _LDFLAGS="${LDFLAGS}" + LDFLAGS="${LDFLAGS} -L${with_SecurID}" + # + # Determine whether to use the new or old SecurID API + # + echo "$as_me:$LINENO: checking for SD_Init in -laceclnt" >&5 +echo $ECHO_N "checking for SD_Init in -laceclnt... $ECHO_C" >&6 +if test "${ac_cv_lib_aceclnt_SD_Init_lpthread+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-laceclnt -lpthread $LIBS" +cat >conftest.$ac_ext <<_ACEOF +#line $LINENO "configure" +#include "confdefs.h" + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char SD_Init (); +#ifdef F77_DUMMY_MAIN +# ifdef __cplusplus + extern "C" +# endif + int F77_DUMMY_MAIN() { return 1; } +#endif +int +main () +{ +SD_Init (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_aceclnt_SD_Init_lpthread=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +ac_cv_lib_aceclnt_SD_Init_lpthread=no +fi +rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_aceclnt_SD_Init_lpthread" >&5 +echo "${ECHO_T}$ac_cv_lib_aceclnt_SD_Init_lpthread" >&6 +if test $ac_cv_lib_aceclnt_SD_Init_lpthread = yes; then + AUTH_OBJS="securid5.o"; SUDO_LIBS="${SUDO_LIBS} -laceclnt -lpthread"; SUDO_LDFLAGS="${SUDO_LDFLAGS} -L${with_SecurID}" +else + AUTH_OBJS="securid.o"; SUDO_LIBS="${SUDO_LIBS} ${with_SecurID}/sdiclient.a" +fi + + LDFLAGS="${_LDFLAGS}" fi if test "$with_fwtk" = "yes"; then -- 2.40.0