--- embedaddon/sudo/configure 2012/05/29 12:26:49 1.1.1.2 +++ embedaddon/sudo/configure 2013/07/22 10:46:11 1.1.1.4 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for sudo 1.8.5p1. +# Generated by GNU Autoconf 2.68 for sudo 1.8.7. # # Report bugs to . # @@ -570,8 +570,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sudo' PACKAGE_TARNAME='sudo' -PACKAGE_VERSION='1.8.5p1' -PACKAGE_STRING='sudo 1.8.5p1' +PACKAGE_VERSION='1.8.7' +PACKAGE_STRING='sudo 1.8.7' PACKAGE_BUGREPORT='http://www.sudo.ws/bugs/' PACKAGE_URL='' @@ -612,6 +612,7 @@ ac_includes_default="\ # include #endif" +ac_c_werror_flag= ac_subst_vars='LTLIBOBJS KRB5CONFIG LIBOBJS @@ -619,6 +620,7 @@ FLEX YFLAGS YACC NROFFPROG +MANDOCPROG TRPROG UNAMEPROG OTOOL64 @@ -656,10 +658,13 @@ OBJEXT EXEEXT ac_ct_CC CC +PLUGINDIR +pam_session editor secure_path netsvc_conf nsswitch_conf +sssd_lib ldap_secret ldap_conf path_info @@ -691,7 +696,14 @@ password_timeout timeout timedir iolog_dir +NO_VIZ +SSP_CFLAGS +SSP_LDFLAGS +PIE_CFLAGS +PIE_LDFLAGS +CROSS_COMPILING COMPAT_TEST_PROGS +LOCALEDIR_SUFFIX SUDO_NLS LIBINTL LT_STATIC @@ -707,9 +719,9 @@ SELINUX_USAGE BSDAUTH_USAGE DONT_LEAK_PATH_INFO INSTALL_NOEXEC +sesh_file noexec_file SOEXT -PLUGINDIR NOEXECDIR NOEXECFILE mansrcdir @@ -717,13 +729,17 @@ mansectform mansectsu devdir SEMAN +PSMAN LCMAN BAMAN DEVEL SUDOERS_GID SUDOERS_UID SUDOERS_MODE -MAN_POSTINSTALL +SHLIB_MODE +MANCOMPRESSEXT +MANCOMPRESS +MANDIRTYPE MANTYPE AUTH_OBJS OSDEFS @@ -736,7 +752,11 @@ SUDO_LIBS SUDO_OBJS SUDOERS_OBJS COMMON_OBJS -LTLDFLAGS +LT_LDEXPORTS +LT_LDDEP +LT_LDOPT +LT_LDMAP +LT_LDFLAGS SUDOERS_LDFLAGS LDFLAGS CPPFLAGS @@ -793,6 +813,8 @@ with_rpath with_blibpath with_bsm_audit with_linux_audit +with_sssd +with_sssd_lib with_incpath with_libpath with_libraries @@ -860,6 +882,8 @@ with_interfaces with_stow with_askpass with_plugindir +with_man +with_mdoc enable_authentication enable_root_mailer enable_setreuid @@ -875,8 +899,11 @@ enable_zlib enable_env_reset enable_warnings enable_werror +enable_hardening +enable_pie enable_admin_flag enable_nls +enable_rpath with_selinux enable_gss_krb5_ccache_name enable_shared @@ -886,6 +913,7 @@ enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock +with_libtool with_noexec with_netsvc enable_sia @@ -1447,7 +1475,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures sudo 1.8.5p1 to adapt to many kinds of systems. +\`configure' configures sudo 1.8.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1512,7 +1540,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sudo 1.8.5p1:";; + short | recursive ) echo "Configuration of sudo 1.8.7:";; esac cat <<\_ACEOF @@ -1537,8 +1565,12 @@ Optional Features: --enable-env-reset Whether to enable environment resetting by default. --enable-warnings Whether to enable compiler warnings --enable-werror Whether to enable the -Werror compiler option + --disable-hardening Do not use compiler/linker exploit mitigation + options + --enable-pie Build sudo as a position independent executable. --enable-admin-flag Whether to create a Ubuntu-style admin flag file --disable-nls Disable natural language support using gettext + --disable-rpath Disable passing of -Rpath to the linker --enable-gss-krb5-ccache-name Use GSS-API to set the Kerberos V cred cache name --enable-shared[=PKGS] build shared libraries [default=yes] @@ -1559,10 +1591,12 @@ Optional Packages: --with-alertmail deprecated --with-devel add development options --with-CC C compiler to use - --with-rpath pass -R flag in addition to -L for lib paths - --with-blibpath=PATH pass -blibpath flag to ld for additional lib paths + --with-rpath deprecated, use --disable-rpath + --with-blibpath=PATH deprecated --with-bsm-audit enable BSM audit support --with-linux-audit enable Linux audit support + --with-sssd enable SSSD support + --with-sssd-lib path to the SSSD library --with-incpath additional places to look for include files --with-libpath additional places to look for libraries --with-libraries additional libraries to link with @@ -1635,15 +1669,18 @@ Optional Packages: offensive ones --with-secure-path override the user's path with a built-in one --without-interfaces don't try to read the ip addr of ether interfaces - --with-stow properly handle GNU stow packaging + --with-stow deprecated --with-askpass=PATH Fully qualified pathname of askpass helper --with-plugindir set directory to load plugins from + --with-man manual pages use man macros + --with-mdoc manual pages use mdoc macros --with-selinux enable SELinux support --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). + --with-libtool=PATH specify path to libtool --with-noexec=PATH fully qualified pathname of sudo_noexec.so --with-netsvc[=PATH] path to netsvc.conf --with-pam-login enable specific PAM session for sudo -i @@ -1730,7 +1767,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sudo configure 1.8.5p1 +sudo configure 1.8.7 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2434,7 +2471,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by sudo $as_me 1.8.5p1, which was +It was created by sudo $as_me 1.8.7, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2874,6 +2911,24 @@ $as_echo "$as_me: Configuring Sudo version $PACKAGE_VE + + + + + + + + + + + + + + + + + + # # Begin initial values for man page substitution # @@ -2910,17 +2965,21 @@ path_info=on ldap_conf=/etc/ldap.conf ldap_secret=/etc/ldap.secret netsvc_conf=/etc/netsvc.conf -noexec_file=/usr/local/libexec/sudo_noexec.so +noexec_file=/usr/local/libexec/sudo/sudo_noexec.so +sesh_file=/usr/local/libexec/sudo/sesh nsswitch_conf=/etc/nsswitch.conf secure_path="not set" +pam_session=on +PLUGINDIR=/usr/local/libexec/sudo # # End initial values for man page substitution # INSTALL_NOEXEC= devdir='$(srcdir)' PROGS="sudo" -: ${MANTYPE='man'} +: ${MANDIRTYPE='man'} : ${mansrcdir='.'} +: ${SHLIB_MODE='0644'} : ${SUDOERS_MODE='0440'} : ${SUDOERS_UID='0'} : ${SUDOERS_GID='0'} @@ -2928,6 +2987,7 @@ DEVEL= LDAP="#" BAMAN=0 LCMAN=0 +PSMAN=0 SEMAN=0 LIBINTL= ZLIB= @@ -2938,6 +2998,11 @@ AUTH_EXCL= AUTH_EXCL_DEF= AUTH_DEF=passwd SUDO_NLS=disabled +LOCALEDIR_SUFFIX= +LT_LDEXPORTS="-export-symbols \$(shlib_exp)" +LT_LDDEP="\$(shlib_exp)" +NO_VIZ="-DNO_VIZ" +OS_INIT=os_init_common CHECKSHADOW=true shadow_defs= @@ -2953,8 +3018,21 @@ RTLD_PRELOAD_DEFAULT= +# +# Prior to sudo 1.8.7, sudo stored libexec files in $libexecdir. +# Starting with sudo 1.8.7, $libexecdir/sudo is used so strip +# off an extraneous "/sudo" from libexecdir. +# +case "$libexecdir" in + */sudo) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libexecdir should not include the \"sudo\" subdirectory" >&5 +$as_echo "$as_me: WARNING: libexecdir should not include the \"sudo\" subdirectory" >&2;} + libexecdir=`expr "$libexecdir" : '\\(.*\\)/sudo$'` + ;; +esac + # Check whether --with-otp-only was given. if test "${with_otp_only+set}" = set; then : withval=$with_otp_only; case $with_otp_only in @@ -3010,23 +3088,16 @@ fi # Check whether --with-rpath was given. if test "${with_rpath+set}" = set; then : - withval=$with_rpath; case $with_rpath in - yes|no) ;; - *) as_fn_error $? "\"--with-rpath does not take an argument.\"" "$LINENO" 5 - ;; -esac + withval=$with_rpath; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-rpath deprecated, rpath is now the default" >&5 +$as_echo "$as_me: WARNING: --with-rpath deprecated, rpath is now the default" >&2;} fi # Check whether --with-blibpath was given. if test "${with_blibpath+set}" = set; then : - withval=$with_blibpath; case $with_blibpath in - yes|no) ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: will pass -blibpath:${with_blibpath} to the loader." >&5 -$as_echo "$as_me: will pass -blibpath:${with_blibpath} to the loader." >&6;} - ;; -esac + withval=$with_blibpath; { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --with-blibpath deprecated, use --with-libpath" >&5 +$as_echo "$as_me: WARNING: --with-blibpath deprecated, use --with-libpath" >&2;} fi @@ -3875,6 +3946,34 @@ fi +# Check whether --with-sssd was given. +if test "${with_sssd+set}" = set; then : + withval=$with_sssd; case $with_sssd in + yes) SUDOERS_OBJS="${SUDOERS_OBJS} sssd.lo" + $as_echo "#define HAVE_SSSD 1" >>confdefs.h + + ;; + no) ;; + *) as_fn_error $? "\"--with-sssd does not take an argument.\"" "$LINENO" 5 + ;; +esac +fi + + + +# Check whether --with-sssd-lib was given. +if test "${with_sssd_lib+set}" = set; then : + withval=$with_sssd_lib; +fi + +sssd_lib="\"LIBDIR\"" +test -n "$with_sssd_lib" && sssd_lib="$with_sssd_lib" +cat >>confdefs.h <&5 $as_echo "$as_me: Adding ${with_incpath} to CPPFLAGS" >&6;} for i in ${with_incpath}; do - CPPFLAGS="${CPPFLAGS} -I${i}" + + case "${CPPFLAGS}" in + *"-I${i}"|*"-I${i} ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${i}" + else + CPPFLAGS="${CPPFLAGS} -I${i}" + fi + ;; + esac + done ;; esac @@ -5131,26 +5242,14 @@ $as_echo "yes" >&6; } fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stow should be used" >&5 -$as_echo_n "checking whether stow should be used... " >&6; } # Check whether --with-stow was given. if test "${with_stow+set}" = set; then : withval=$with_stow; case $with_stow in - yes) { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - $as_echo "#define USE_STOW 1" >>confdefs.h - + *) { $as_echo "$as_me:${as_lineno-$LINENO}: --with-stow option deprecated, now is defalt behavior" >&5 +$as_echo "$as_me: --with-stow option deprecated, now is defalt behavior" >&6;} ;; - no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - *) as_fn_error $? "\"--with-stow does not take an argument.\"" "$LINENO" 5 - ;; esac -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi @@ -5163,19 +5262,29 @@ if test "${with_askpass+set}" = set; then : yes) as_fn_error $? "\"--with-askpass takes a path as an argument.\"" "$LINENO" 5 ;; no) ;; - *) cat >>confdefs.h <&5 + + with_askpass=no + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } + fi +if test X"$with_askpass" != X"no"; then + cat >>confdefs.h <>confdefs.h <&5 $as_echo_n "checking whether to do user authentication by default... " >&6; } # Check whether --enable-authentication was given. @@ -5506,6 +5643,20 @@ $as_echo "$as_me: WARNING: Ignoring unknown argument t fi +# Check whether --enable-hardening was given. +if test "${enable_hardening+set}" = set; then : + enableval=$enable_hardening; +else + enable_hardening=yes +fi + + +# Check whether --enable-pie was given. +if test "${enable_pie+set}" = set; then : + enableval=$enable_pie; +fi + + # Check whether --enable-admin-flag was given. if test "${enable_admin_flag+set}" = set; then : enableval=$enable_admin_flag; case "$enableval" in @@ -5529,7 +5680,15 @@ else fi +# Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; +else + enable_rpath=yes +fi + + # Check whether --with-selinux was given. if test "${with_selinux+set}" = set; then : withval=$with_selinux; case $with_selinux in @@ -5586,6 +5745,8 @@ fi *) as_fn_error $? "\"--with-selinux does not take an argument.\"" "$LINENO" 5 ;; esac +else + with_selinux=no fi @@ -13505,12 +13666,28 @@ CC="$lt_save_CC" + +# Check whether --with-libtool was given. +if test "${with_libtool+set}" = set; then : + withval=$with_libtool; case $with_libtool in + yes|builtin) ;; + no) as_fn_error $? "\"--without-libtool not supported.\"" "$LINENO" 5 + ;; + system) LIBTOOL=libtool + ;; + *) LIBTOOL="$with_libtool" + ;; +esac +fi + + if test "$enable_shared" = "no"; then with_noexec=no enable_dlopen=no lt_cv_dlopen=none lt_cv_dlopen_libs= ac_cv_func_dlopen=no + LT_LDFLAGS=-static else eval _shrext="$shrext_cmds" # Darwin uses .dylib for libraries but .so for modules @@ -13526,38 +13703,40 @@ $as_echo_n "checking path to sudo_noexec.so... " >&6; # Check whether --with-noexec was given. if test "${with_noexec+set}" = set; then : withval=$with_noexec; case $with_noexec in - yes) with_noexec="$libexecdir/sudo_noexec$_shrext" + yes) with_noexec="$libexecdir/sudo/sudo_noexec.so" ;; no) ;; *) ;; esac else - with_noexec="$libexecdir/sudo_noexec$_shrext" + with_noexec="$libexecdir/sudo/sudo_noexec.so" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $with_noexec" >&5 $as_echo "$with_noexec" >&6; } -NOEXECFILE="sudo_noexec$_shrext" -NOEXECDIR="`echo $with_noexec|sed 's:^\(.*\)/[^/]*:\1:'`" +NOEXECFILE="sudo_noexec.so" +NOEXECDIR="`echo $with_noexec|sed -e 's:^${\([^}]*\)}:$(\1):' -e 's:^\(.*\)/[^/]*:\1:'`" # Extract the first word of "uname", so it can be a program name with args. set dummy uname; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_UNAMEPROG+:} false; then : +if ${ac_cv_path_UNAMEPROG+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$UNAMEPROG"; then - ac_cv_prog_UNAMEPROG="$UNAMEPROG" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $UNAMEPROG in + [\\/]* | ?:[\\/]*) + ac_cv_path_UNAMEPROG="$UNAMEPROG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_UNAMEPROG="uname" + ac_cv_path_UNAMEPROG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -13565,9 +13744,11 @@ done done IFS=$as_save_IFS + test -z "$ac_cv_path_UNAMEPROG" && ac_cv_path_UNAMEPROG="uname" + ;; +esac fi -fi -UNAMEPROG=$ac_cv_prog_UNAMEPROG +UNAMEPROG=$ac_cv_path_UNAMEPROG if test -n "$UNAMEPROG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $UNAMEPROG" >&5 $as_echo "$UNAMEPROG" >&6; } @@ -13581,20 +13762,22 @@ fi set dummy tr; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_TRPROG+:} false; then : +if ${ac_cv_path_TRPROG+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$TRPROG"; then - ac_cv_prog_TRPROG="$TRPROG" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $TRPROG in + [\\/]* | ?:[\\/]*) + ac_cv_path_TRPROG="$TRPROG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_TRPROG="tr" + ac_cv_path_TRPROG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -13602,9 +13785,11 @@ done done IFS=$as_save_IFS + test -z "$ac_cv_path_TRPROG" && ac_cv_path_TRPROG="tr" + ;; +esac fi -fi -TRPROG=$ac_cv_prog_TRPROG +TRPROG=$ac_cv_path_TRPROG if test -n "$TRPROG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRPROG" >&5 $as_echo "$TRPROG" >&6; } @@ -13614,26 +13799,26 @@ $as_echo "no" >&6; } fi -for ac_prog in nroff mandoc -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 +# Extract the first word of "mandoc", so it can be a program name with args. +set dummy mandoc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NROFFPROG+:} false; then : +if ${ac_cv_path_MANDOCPROG+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$NROFFPROG"; then - ac_cv_prog_NROFFPROG="$NROFFPROG" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $MANDOCPROG in + [\\/]* | ?:[\\/]*) + ac_cv_path_MANDOCPROG="$MANDOCPROG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_NROFFPROG="$ac_prog" + ac_cv_path_MANDOCPROG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -13641,9 +13826,54 @@ done done IFS=$as_save_IFS + test -z "$ac_cv_path_MANDOCPROG" && ac_cv_path_MANDOCPROG="mandoc" + ;; +esac fi +MANDOCPROG=$ac_cv_path_MANDOCPROG +if test -n "$MANDOCPROG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANDOCPROG" >&5 +$as_echo "$MANDOCPROG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi -NROFFPROG=$ac_cv_prog_NROFFPROG + + +if test "$MANDOCPROG" != "mandoc"; then + : ${MANTYPE='mdoc'} +else + # Extract the first word of "nroff", so it can be a program name with args. +set dummy nroff; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_NROFFPROG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $NROFFPROG in + [\\/]* | ?:[\\/]*) + ac_cv_path_NROFFPROG="$NROFFPROG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_NROFFPROG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +NROFFPROG=$ac_cv_path_NROFFPROG if test -n "$NROFFPROG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NROFFPROG" >&5 $as_echo "$NROFFPROG" >&6; } @@ -13653,48 +13883,36 @@ $as_echo "no" >&6; } fi - test -n "$NROFFPROG" && break -done - -if test -n "$NROFFPROG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $NROFFPROG supports the -c option" >&5 -$as_echo_n "checking whether $NROFFPROG supports the -c option... " >&6; } -if ${sudo_cv_var_nroff_opt_c+:} false; then : + if test -n "$NROFFPROG"; then + test -n "$MANTYPE" && sudo_cv_var_mantype="$MANTYPE" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking which macro set to use for manual pages" >&5 +$as_echo_n "checking which macro set to use for manual pages... " >&6; } +if ${sudo_cv_var_mantype+:} false; then : $as_echo_n "(cached) " >&6 else - if $NROFFPROG -c /dev/null 2>&1; then - sudo_cv_var_nroff_opt_c=yes - else - sudo_cv_var_nroff_opt_c=no - fi + sudo_cv_var_mantype="man" + echo ".Sh NAME" > conftest + echo ".Nm sudo" >> conftest + echo ".Nd sudo" >> conftest + echo ".Sh DESCRIPTION" >> conftest + echo "sudo" >> conftest + if $NROFFPROG -mdoc conftest >/dev/null 2>&1; then + sudo_cv_var_mantype="mdoc" + fi + rm -f conftest + + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_nroff_opt_c" >&5 -$as_echo "$sudo_cv_var_nroff_opt_c" >&6; } - if test "$sudo_cv_var_nroff_opt_c" = "yes"; then - NROFFPROG="$NROFFPROG -c" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_mantype" >&5 +$as_echo "$sudo_cv_var_mantype" >&6; } + MANTYPE="$sudo_cv_var_mantype" + else + MANTYPE=cat + MANDIRTYPE=cat + mansrcdir='$(srcdir)' fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $NROFFPROG supports the -Tascii option" >&5 -$as_echo_n "checking whether $NROFFPROG supports the -Tascii option... " >&6; } -if ${sudo_cv_var_nroff_opt_Tascii+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $NROFFPROG -Tascii /dev/null 2>&1; then - sudo_cv_var_nroff_opt_Tascii=yes - else - sudo_cv_var_nroff_opt_Tascii=no - fi - if test "$sudo_cv_var_nroff_opt_Tascii" = "yes"; then - NROFFPROG="$NROFFPROG -Tascii" - fi - fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_nroff_opt_Tascii" >&5 -$as_echo "$sudo_cv_var_nroff_opt_Tascii" >&6; } -else - MANTYPE="cat" - mansrcdir='$(srcdir)' -fi if test -n "$sudo_cv_prev_host"; then if test "$sudo_cv_prev_host" != "$host"; then @@ -13750,6 +13968,10 @@ case "$host" in # LD_PRELOAD is space-delimited RTLD_PRELOAD_DELIM=" " + # Solaris-specific initialization + OS_INIT=os_init_solaris + SUDO_OBJS="${SUDO_OBJS} solaris.o" + # To get the crypt(3) prototype (so we pass -Wall) OSDEFS="${OSDEFS} -D__EXTENSIONS__" # AFS support needs -lucb @@ -13758,7 +13980,6 @@ case "$host" in fi : ${mansectsu='1m'} : ${mansectform='4'} - : ${with_rpath='yes'} test -z "$with_pam" && AUTH_EXCL_DEF="PAM" for ac_func in priv_set do : @@ -13767,7 +13988,7 @@ if test "x$ac_cv_func_priv_set" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_PRIV_SET 1 _ACEOF - + PSMAN=1 fi done @@ -13776,43 +13997,7 @@ done # To get all prototypes (so we pass -Wall) OSDEFS="${OSDEFS} -D_ALL_SOURCE -D_LINUX_SOURCE_COMPAT" SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -Wl,-bI:\$(srcdir)/aixcrypt.exp" - if test X"$with_blibpath" != X"no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if linker accepts -Wl,-blibpath" >&5 -$as_echo_n "checking if linker accepts -Wl,-blibpath... " >&6; } - O_LDFLAGS="$LDFLAGS" - LDFLAGS="$O_LDFLAGS -Wl,-blibpath:/usr/lib:/lib" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - if test -n "$with_blibpath" -a "$with_blibpath" != "yes"; then - blibpath="$with_blibpath" - elif test -n "$GCC"; then - blibpath="/usr/lib:/lib:/usr/local/lib" - else - blibpath="/usr/lib:/lib" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - LDFLAGS="$O_LDFLAGS" - # On AIX 6 and higher default to PAM, else default to LAM if test $OSMAJOR -ge 6; then if test X"$with_pam" = X""; then @@ -13850,19 +14035,6 @@ fi with_netsvc="/etc/netsvc.conf" fi - # For implementing getgrouplist() - for ac_func in getgrset -do : - ac_fn_c_check_func "$LINENO" "getgrset" "ac_cv_func_getgrset" -if test "x$ac_cv_func_getgrset" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETGRSET 1 -_ACEOF - -fi -done - - # LDR_PRELOAD is only supported in AIX 5.3 and later if test $OSMAJOR -lt 5; then with_noexec=no @@ -13871,7 +14043,7 @@ done fi # AIX-specific functions - for ac_func in getuserattr setauthdb + for ac_func in getuserattr setauthdb setrlimit64 do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -13888,6 +14060,9 @@ done *-*-hiuxmpp*) : ${mansectsu='1m'} : ${mansectform='4'} + + # HP-UX shared libs must be executable + SHLIB_MODE=0755 ;; *-*-hpux*) # AFS support needs -lBSD @@ -13897,6 +14072,9 @@ done : ${mansectsu='1m'} : ${mansectform='4'} + # HP-UX shared libs must be executable + SHLIB_MODE=0755 + # The HP bundled compiler cannot generate shared libs if test -z "$GCC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for HP bundled C compiler" >&5 @@ -13963,12 +14141,12 @@ $as_echo "$sudo_cv_var_daportable" >&6; } ;; esac - case "$host" in - *-*-hpux[1-8].*) + case "$host_os" in + hpux[1-8].*) $as_echo "#define BROKEN_SYSLOG 1" >>confdefs.h ;; - *-*-hpux9.*) + hpux9.*) $as_echo "#define BROKEN_SYSLOG 1" >>confdefs.h @@ -13979,10 +14157,35 @@ $as_echo "$sudo_cv_var_daportable" >&6; } # order of libs in 9.X is important. -lc_r must be last SUDOERS_LIBS="${SUDOERS_LIBS} -ldce -lM -lc_r" LIBS="${LIBS} -ldce -lM -lc_r" - CPPFLAGS="${CPPFLAGS} -D_REENTRANT -I/usr/include/reentrant" + + case "${CPPFLAGS}" in + *"-D_REENTRANT"|*"-D_REENTRANT ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-D_REENTRANT" + else + CPPFLAGS="${CPPFLAGS} -D_REENTRANT" + fi + ;; + esac + + + case "${CPPFLAGS}" in + *"-I/usr/include/reentrant"|*"-I/usr/include/reentrant ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I/usr/include/reentrant" + else + CPPFLAGS="${CPPFLAGS} -I/usr/include/reentrant" + fi + ;; + esac + fi ;; - *-*-hpux10.*) + hpux10.*) shadow_funcs="getprpwnam iscomsec" shadow_libs="-lsec" # HP-UX 10.20 libc has an incompatible getline @@ -13994,9 +14197,21 @@ $as_echo "$sudo_cv_var_daportable" >&6; } test -z "$with_pam" && AUTH_EXCL_DEF="PAM" ;; esac + for ac_func in pstat_getproc +do : + ac_fn_c_check_func "$LINENO" "pstat_getproc" "ac_cv_func_pstat_getproc" +if test "x$ac_cv_func_pstat_getproc" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_PSTAT_GETPROC 1 +_ACEOF + +fi +done + ;; *-dec-osf*) # ignore envariables wrt dynamic lib path + # XXX - sudo LDFLAGS instead? SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -Wl,-no_library_replacement" : ${CHECKSIA='true'} @@ -14078,7 +14293,6 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ *-*-irix*) OSDEFS="${OSDEFS} -D_BSD_TYPES" if test -z "$NROFFPROG"; then - MAN_POSTINSTALL=' /bin/rm -f $(mandirsu)/sudo.$(mansectsu).z $(mandirsu)/visudo.$(mansectsu).z $(mandirform)/sudoers.$(mansectform).z ; /usr/bin/pack $(mandirsu)/sudo.$(mansectsu) $(mandirsu)/visudo.$(mansectsu) $(mandirform)/sudoers.$(mansectform)' if test "$prefix" = "/usr/local" -a "$mandir" = '${datarootdir}/man'; then if test -d /usr/share/catman/local; then mandir="/usr/share/catman/local" @@ -14086,6 +14300,9 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ mandir="/usr/catman/local" fi fi + # Compress cat pages with pack + MANCOMPRESS='pack' + MANCOMPRESSEXT='.z' else if test "$prefix" = "/usr/local" -a "$mandir" = '${datarootdir}/man'; then if test -d "/usr/share/man/local"; then @@ -14168,7 +14385,32 @@ fi ;; *-*-riscos*) LIBS="${LIBS} -lsun -lbsd" - CPPFLAGS="${CPPFLAGS} -I/usr/include -I/usr/include/bsd" + + case "${CPPFLAGS}" in + *"-I/usr/include"|*"-I/usr/include ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I/usr/include" + else + CPPFLAGS="${CPPFLAGS} -I/usr/include" + fi + ;; + esac + + + case "${CPPFLAGS}" in + *"-I/usr/include/bsd"|*"-I/usr/include/bsd ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I/usr/include/bsd" + else + CPPFLAGS="${CPPFLAGS} -I/usr/include/bsd" + fi + ;; + esac + OSDEFS="${OSDEFS} -D_MIPS" : ${mansectsu='1m'} : ${mansectform='4'} @@ -14201,7 +14443,6 @@ fi shadow_libs="-lsec" : ${mansectsu='1m'} : ${mansectform='4'} - : ${with_rpath='yes'} ;; *-ncr-sysv4*|*-ncr-sysvr4*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for strcasecmp in -lc89" >&5 @@ -14246,13 +14487,11 @@ fi : ${mansectsu='1m'} : ${mansectform='4'} - : ${with_rpath='yes'} ;; *-ccur-sysv4*|*-ccur-sysvr4*) LIBS="${LIBS} -lgen" : ${mansectsu='1m'} : ${mansectform='4'} - : ${with_rpath='yes'} ;; *-*-bsdi*) SKIP_SETREUID=yes @@ -14288,6 +14527,10 @@ done : ${with_logincap='maybe'} ;; *-*-*openbsd*) + # OpenBSD-specific initialization + OS_INIT=os_init_openbsd + SUDO_OBJS="${SUDO_OBJS} openbsd.o" + # OpenBSD has a real setreuid(2) starting with 3.3 but # we will use setresuid(2) instead. SKIP_SETREUID=yes @@ -14345,7 +14588,6 @@ done *-*-*sysv4*) : ${mansectsu='1m'} : ${mansectform='4'} - : ${with_rpath='yes'} ;; *-*-sysv*) : ${mansectsu='1m'} @@ -14400,19 +14642,16 @@ fi if test -n "$with_libpath"; then for i in ${with_libpath}; do - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) LDFLAGS="${LDFLAGS} -L$i -Wl,+b,$i" - ;; - *) LDFLAGS="${LDFLAGS} -L$i -Wl,-R$i" - ;; - esac - else - LDFLAGS="${LDFLAGS} -L$i" - fi - if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:$i" - fi + case "${LDFLAGS}" in + *"-L$i"|*"-L$i ") + ;; + *) + LDFLAGS="${LDFLAGS} -L$i" + if test X"$enable_rpath" = X"yes"; then + LDFLAGS_R="${LDFLAGS_R} -R$i" + fi + ;; + esac done fi @@ -14609,43 +14848,7 @@ else as_fn_error $? "Your C compiler doesn't support variadic macros, try building with gcc instead" "$LINENO" 5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -if test X"$with_gnu_ld" != "yes" -a -n "$GCC"; then - _CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -static-libgcc" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -static-libgcc" >&5 -$as_echo_n "checking whether $CC understands -static-libgcc... " >&6; } -if ${sudo_cv_var_gcc_static_libgcc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - sudo_cv_var_gcc_static_libgcc=yes -else - sudo_cv_var_gcc_static_libgcc=no - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_gcc_static_libgcc" >&5 -$as_echo "$sudo_cv_var_gcc_static_libgcc" >&6; } - CFLAGS="$_CFLAGS" - if test "$sudo_cv_var_gcc_static_libgcc" = "yes"; then - LTLDFLAGS="$LTLDFLAGS -Wc,-static-libgcc" - fi -fi for ac_prog in 'bison -y' byacc do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -15298,6 +15501,19 @@ fi done +for ac_header in endian.h sys/endian.h machine/endian.h +do : + 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" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + break +fi + +done + for ac_header in procfs.h sys/procfs.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` @@ -15537,8 +15753,8 @@ rm -rf conftest* fi fi -case "$host" in - *-*-hpux11.*) +case "$host_os" in + hpux11.*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h needs _XOPEN_SOURCE_EXTENDED" >&5 $as_echo_n "checking whether sys/types.h needs _XOPEN_SOURCE_EXTENDED... " >&6; } if ${sudo_cv_xopen_source_extended+:} false; then : @@ -15959,6 +16175,9 @@ $as_echo "#define HAVE_LONG_LONG_INT 1" >>confdefs.h fi +if test X"$ac_cv_type_long_long_int" != X"yes"; then + as_fn_error $? "\"C compiler does not appear have required long long support\"" "$LINENO" 5 +fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. @@ -16036,6 +16255,39 @@ _ACEOF fi +ac_fn_c_check_type "$LINENO" "uint8_t" "ac_cv_type_uint8_t" "$ac_includes_default" +if test "x$ac_cv_type_uint8_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define uint8_t unsigned char +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "uint32_t" "ac_cv_type_uint32_t" "$ac_includes_default" +if test "x$ac_cv_type_uint32_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define uint32_t unsigned int +_ACEOF + +fi + +ac_fn_c_check_type "$LINENO" "uint64_t" "ac_cv_type_uint64_t" "$ac_includes_default" +if test "x$ac_cv_type_uint64_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define uint64_t unsigned long long +_ACEOF + +fi + ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " $ac_includes_default #include @@ -16479,9 +16731,8 @@ $as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h fi LIBS=$ac_save_LIBS -for ac_func in glob strrchr sysconf tzset strftime setenv \ - regcomp setlocale nl_langinfo mbr_check_membership \ - setrlimit64 +for ac_func in glob nl_langinfo regcomp setenv strftime strrchr strtoll \ + sysconf tzset do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -16493,20 +16744,114 @@ _ACEOF fi done -ac_fn_c_check_func "$LINENO" "getgrouplist" "ac_cv_func_getgrouplist" +for ac_func in getgrouplist +do : + ac_fn_c_check_func "$LINENO" "getgrouplist" "ac_cv_func_getgrouplist" if test "x$ac_cv_func_getgrouplist" = xyes; then : - $as_echo "#define HAVE_GETGROUPLIST 1" >>confdefs.h + cat >>confdefs.h <<_ACEOF +#define HAVE_GETGROUPLIST 1 +_ACEOF else - case " $LIBOBJS " in + + case "$host_os" in + aix*) + for ac_func in getgrset +do : + ac_fn_c_check_func "$LINENO" "getgrset" "ac_cv_func_getgrset" +if test "x$ac_cv_func_getgrset" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETGRSET 1 +_ACEOF + +fi +done + + ;; + *) + ac_fn_c_check_func "$LINENO" "nss_search" "ac_cv_func_nss_search" +if test "x$ac_cv_func_nss_search" = xyes; then : + + ac_fn_c_check_func "$LINENO" "_nss_XbyY_buf_alloc" "ac_cv_func__nss_XbyY_buf_alloc" +if test "x$ac_cv_func__nss_XbyY_buf_alloc" = xyes; then : + + # Solaris + ac_fn_c_check_func "$LINENO" "_nss_initf_group" "ac_cv_func__nss_initf_group" +if test "x$ac_cv_func__nss_initf_group" = xyes; then : + + for ac_header in nss_dbdefs.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "nss_dbdefs.h" "ac_cv_header_nss_dbdefs_h" "$ac_includes_default" +if test "x$ac_cv_header_nss_dbdefs_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NSS_DBDEFS_H 1 +_ACEOF + +fi + +done + + $as_echo "#define HAVE_NSS_SEARCH 1" >>confdefs.h + + $as_echo "#define HAVE__NSS_XBYY_BUF_ALLOC 1" >>confdefs.h + + $as_echo "#define HAVE__NSS_INITF_GROUP 1" >>confdefs.h + + +fi + + +else + + # HP-UX + ac_fn_c_check_func "$LINENO" "__nss_XbyY_buf_alloc" "ac_cv_func___nss_XbyY_buf_alloc" +if test "x$ac_cv_func___nss_XbyY_buf_alloc" = xyes; then : + + ac_fn_c_check_func "$LINENO" "__nss_initf_group" "ac_cv_func___nss_initf_group" +if test "x$ac_cv_func___nss_initf_group" = xyes; then : + + for ac_header in nss_dbdefs.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "nss_dbdefs.h" "ac_cv_header_nss_dbdefs_h" "$ac_includes_default" +if test "x$ac_cv_header_nss_dbdefs_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NSS_DBDEFS_H 1 +_ACEOF + +fi + +done + + $as_echo "#define HAVE_NSS_SEARCH 1" >>confdefs.h + + $as_echo "#define HAVE___NSS_XBYY_BUF_ALLOC 1" >>confdefs.h + + $as_echo "#define HAVE___NSS_INITF_GROUP 1" >>confdefs.h + + +fi + + +fi + + +fi + + +fi + + ;; + esac + case " $LIBOBJS " in *" getgrouplist.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS getgrouplist.$ac_objext" ;; esac + fi +done - for ac_func in getline do : ac_fn_c_check_func "$LINENO" "getline" "ac_cv_func_getline" @@ -16538,12 +16883,13 @@ done fi done -O_CPPFLAGS="$CPPFLAGS" -CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2" -ac_fn_c_check_func "$LINENO" "__sprintf_chk" "ac_cv_func___sprintf_chk" +if test "$enable_hardening" != "no"; then + O_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="$CPPFLAGS -D_FORTIFY_SOURCE=2" + ac_fn_c_check_func "$LINENO" "__sprintf_chk" "ac_cv_func___sprintf_chk" if test "x$ac_cv_func___sprintf_chk" = xyes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -16562,7 +16908,8 @@ rm -f core conftest.err conftest.$ac_objext \ fi -CPPFLAGS="$O_CPPFLAGS" + CPPFLAGS="$O_CPPFLAGS" +fi utmp_style=LEGACY for ac_func in getutxid getutid @@ -16590,8 +16937,19 @@ _ACEOF fi done + for ac_func in fseeko +do : + ac_fn_c_check_func "$LINENO" "fseeko" "ac_cv_func_fseeko" +if test "x$ac_cv_func_fseeko" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_FSEEKO 1 +_ACEOF + fi +done +fi + for ac_func in sysctl do : ac_fn_c_check_func "$LINENO" "sysctl" "ac_cv_func_sysctl" @@ -16932,13 +17290,12 @@ if test "x$ac_cv_func_setreuid" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SETREUID 1 _ACEOF - SKIP_SETEUID=yes + fi done fi -if test -z "$SKIP_SETEUID"; then - for ac_func in seteuid +for ac_func in seteuid do : ac_fn_c_check_func "$LINENO" "seteuid" "ac_cv_func_seteuid" if test "x$ac_cv_func_seteuid" = xyes; then : @@ -16949,7 +17306,6 @@ _ACEOF fi done -fi if test X"$with_interfaces" != X"no"; then for ac_func in getifaddrs do : @@ -17863,22 +18219,31 @@ fi # make sure we use the gettext() that matches the include file. if test "$enable_nls" != "no"; then if test "$enable_nls" != "yes"; then - CPPFLAGS="${CPPFLAGS} -I${enable_nls}/include" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) LDFLAGS="${LDFLAGS} -L$enable_nls/lib -Wl,+b,$enable_nls/lib" - ;; - *) LDFLAGS="${LDFLAGS} -L$enable_nls/lib -Wl,-R$enable_nls/lib" - ;; - esac - else - LDFLAGS="${LDFLAGS} -L$enable_nls/lib" - fi - if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:$enable_nls/lib" - fi + case "${CPPFLAGS}" in + *"-I${enable_nls}/include"|*"-I${enable_nls}/include ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${enable_nls}/include" + else + CPPFLAGS="${CPPFLAGS} -I${enable_nls}/include" + fi + ;; + esac + + case "${LDFLAGS}" in + *"-L$enable_nls/lib"|*"-L$enable_nls/lib ") + ;; + *) + LDFLAGS="${LDFLAGS} -L$enable_nls/lib" + if test X"$enable_rpath" = X"yes"; then + LDFLAGS_R="${LDFLAGS_R} -R$enable_nls/lib" + fi + ;; + esac + fi OLIBS="$LIBS" for l in "libc" "-lintl" "-lintl -liconv"; do @@ -17927,7 +18292,20 @@ fi eval gettext_result="\$$gettext_name" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gettext_result" >&5 $as_echo "$gettext_result" >&6; } - test "$gettext_result" = "yes" && break + if test "$gettext_result" = "yes"; then + for ac_func in ngettext +do : + ac_fn_c_check_func "$LINENO" "ngettext" "ac_cv_func_ngettext" +if test "x$ac_cv_func_ngettext" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NGETTEXT 1 +_ACEOF + +fi +done + + break + fi done LIBS="$OLIBS" @@ -17935,6 +18313,10 @@ $as_echo "$gettext_result" >&6; } $as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h SUDO_NLS=enabled + # For Solaris we need links from lang to lang.UTF-8 in localedir + case "$host_os" in + solaris2*) LOCALEDIR_SUFFIX=".UTF-8";; + esac elif test "$sudo_cv_gettext_lintl" = "yes"; then $as_echo "#define HAVE_LIBINTL_H 1" >>confdefs.h @@ -18019,22 +18401,31 @@ fi *) $as_echo "#define HAVE_ZLIB_H 1" >>confdefs.h - CPPFLAGS="-I${enable_zlib}/include ${CPPFLAGS}" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) ZLIB="${ZLIB} -L$enable_zlib/lib -Wl,+b,$enable_zlib/lib" - ;; - *) ZLIB="${ZLIB} -L$enable_zlib/lib -Wl,-R$enable_zlib/lib" - ;; - esac - else - ZLIB="${ZLIB} -L$enable_zlib/lib" - fi - if test X"$blibpath" != X"" -a "ZLIB" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:$enable_zlib/lib" - fi + case "${CPPFLAGS}" in + *"-I${enable_zlib}/include"|*"-I${enable_zlib}/include ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${enable_zlib}/include" + else + CPPFLAGS="${CPPFLAGS} -I${enable_zlib}/include" + fi + ;; + esac + + case "${ZLIB}" in + *"-L$enable_zlib/lib"|*"-L$enable_zlib/lib ") + ;; + *) + ZLIB="${ZLIB} -L$enable_zlib/lib" + if test X"$enable_rpath" = X"yes"; then + ZLIB_R="${ZLIB_R} -R$enable_zlib/lib" + fi + ;; + esac + ZLIB="${ZLIB} -lz" ;; esac @@ -18173,6 +18564,151 @@ fi done +for ac_func in sig2str +do : + ac_fn_c_check_func "$LINENO" "sig2str" "ac_cv_func_sig2str" +if test "x$ac_cv_func_sig2str" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SIG2STR 1 +_ACEOF + +else + + case " $LIBOBJS " in + *" sig2str.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS sig2str.$ac_objext" + ;; +esac + + HAVE_SIGNAME="false" + ac_fn_c_check_decl "$LINENO" "sys_signame" "ac_cv_have_decl_sys_signame" " +$ac_includes_default +#include + +" +if test "x$ac_cv_have_decl_sys_signame" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SYS_SIGNAME $ac_have_decl +_ACEOF +if test $ac_have_decl = 1; then : + + HAVE_SIGNAME="true" + break + +fi +ac_fn_c_check_decl "$LINENO" "_sys_signame" "ac_cv_have_decl__sys_signame" " +$ac_includes_default +#include + +" +if test "x$ac_cv_have_decl__sys_signame" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL__SYS_SIGNAME $ac_have_decl +_ACEOF +if test $ac_have_decl = 1; then : + + HAVE_SIGNAME="true" + break + +fi +ac_fn_c_check_decl "$LINENO" "__sys_signame" "ac_cv_have_decl___sys_signame" " +$ac_includes_default +#include + +" +if test "x$ac_cv_have_decl___sys_signame" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL___SYS_SIGNAME $ac_have_decl +_ACEOF +if test $ac_have_decl = 1; then : + + HAVE_SIGNAME="true" + break + +fi +ac_fn_c_check_decl "$LINENO" "sys_sigabbrev" "ac_cv_have_decl_sys_sigabbrev" " +$ac_includes_default +#include + +" +if test "x$ac_cv_have_decl_sys_sigabbrev" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_SYS_SIGABBREV $ac_have_decl +_ACEOF +if test $ac_have_decl = 1; then : + + HAVE_SIGNAME="true" + break + +fi + + if test "$HAVE_SIGNAME" != "true"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for undeclared sys_sigabbrev" >&5 +$as_echo_n "checking for undeclared sys_sigabbrev... " >&6; } +if ${sudo_cv_var_sys_sigabbrev+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +extern char **sys_sigabbrev; +int +main () +{ +return sys_sigabbrev[1]; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + sudo_cv_var_sys_sigabbrev=yes +else + sudo_cv_var_sys_sigabbrev=no + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_sys_sigabbrev" >&5 +$as_echo "$sudo_cv_var_sys_sigabbrev" >&6; } + if test "$sudo_cv_var_sys_sigabbrev" = yes; then + $as_echo "#define HAVE_SYS_SIGABBREV 1" >>confdefs.h + + else + case " $LIBOBJS " in + *" signame.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS signame.$ac_objext" + ;; +esac + + fi + fi + +fi +done + + if test ${with_netsvc-"no"} != "no"; then cat >>confdefs.h <&5 $as_echo "yes" >&6; } ;; - no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - $as_echo "#define NO_PAM_SESSION 1" >>confdefs.h + $as_echo "#define NO_PAM_SESSION 1" >>confdefs.h - ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + pam_session=off + ;; + *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring unknown argument to --enable-pam-session: $enableval" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring unknown argument to --enable-pam-session: $enableval" >&5 $as_echo "$as_me: WARNING: Ignoring unknown argument to --enable-pam-session: $enableval" >&2;} - ;; + ;; esac else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 @@ -18402,21 +18939,30 @@ fi if test ${with_fwtk-'no'} != "no"; then if test "$with_fwtk" != "yes"; then - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_fwtk} -Wl,+b,${with_fwtk}" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_fwtk} -Wl,-R${with_fwtk}" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_fwtk}" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_fwtk}" - fi + case "${SUDOERS_LDFLAGS}" in + *"-L${with_fwtk}"|*"-L${with_fwtk} ") + ;; + *) + SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_fwtk}" + if test X"$enable_rpath" = X"yes"; then + SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_fwtk}" + fi + ;; + esac - CPPFLAGS="${CPPFLAGS} -I${with_fwtk}" + + case "${CPPFLAGS}" in + *"-I${with_fwtk}"|*"-I${with_fwtk} ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${with_fwtk}" + else + CPPFLAGS="${CPPFLAGS} -I${with_fwtk}" + fi + ;; + esac + with_fwtk=yes fi SUDOERS_LIBS="${SUDOERS_LIBS} -lauth -lfwall" @@ -18431,22 +18977,31 @@ if test ${with_SecurID-'no'} != "no"; then else with_SecurID=/usr/ace fi - CPPFLAGS="${CPPFLAGS} -I${with_SecurID}" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) LDFLAGS="${LDFLAGS} -L${with_SecurID} -Wl,+b,${with_SecurID}" - ;; - *) LDFLAGS="${LDFLAGS} -L${with_SecurID} -Wl,-R${with_SecurID}" - ;; - esac - else - LDFLAGS="${LDFLAGS} -L${with_SecurID}" - fi - if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_SecurID}" - fi + case "${CPPFLAGS}" in + *"-I${with_SecurID}"|*"-I${with_SecurID} ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${with_SecurID}" + else + CPPFLAGS="${CPPFLAGS} -I${with_SecurID}" + fi + ;; + esac + + case "${SUDOERS_LDFLAGS}" in + *"-L${with_SecurID}"|*"-L${with_SecurID} ") + ;; + *) + SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_SecurID}" + if test X"$enable_rpath" = X"yes"; then + SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_SecurID}" + fi + ;; + esac + SUDOERS_LIBS="${SUDOERS_LIBS} -laceclnt -lpthread" AUTH_OBJS="$AUTH_OBJS securid5.lo"; fi @@ -18564,21 +19119,30 @@ $as_echo "$as_me: WARNING: Unable to locate Kerberos V fi else - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb5}/lib -Wl,+b,${with_kerb5}/lib" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb5}/lib -Wl,-R${with_kerb5}/lib" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb5}/lib" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_kerb5}/lib" - fi + case "${SUDOERS_LDFLAGS}" in + *"-L${with_kerb5}/lib"|*"-L${with_kerb5}/lib ") + ;; + *) + SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb5}/lib" + if test X"$enable_rpath" = X"yes"; then + SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_kerb5}/lib" + fi + ;; + esac - CPPFLAGS="$CPPFLAGS -I${with_kerb5}/include" + + case "${CPPFLAGS}" in + *"-I${with_kerb5}/include"|*"-I${with_kerb5}/include ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${with_kerb5}/include" + else + CPPFLAGS="${CPPFLAGS} -I${with_kerb5}/include" + fi + ;; + esac + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using Heimdal" >&5 @@ -18774,19 +19338,16 @@ if test ${with_AFS-'no'} = "yes"; then for i in $AFSLIBDIRS; do if test -d ${i}; then - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L$i -Wl,+b,$i" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L$i -Wl,-R$i" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L$i" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:$i" - fi + case "${SUDOERS_LDFLAGS}" in + *"-L$i"|*"-L$i ") + ;; + *) + SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L$i" + if test X"$enable_rpath" = X"yes"; then + SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R$i" + fi + ;; + esac FOUND_AFSLIBDIR=true fi @@ -18814,7 +19375,19 @@ $as_echo "$as_me: WARNING: Unable to locate AFS librar # AFS includes may live in /usr/include on some machines... for i in /usr/afsws/include; do if test -d ${i}; then - CPPFLAGS="${CPPFLAGS} -I${i}" + + case "${CPPFLAGS}" in + *"-I${i}"|*"-I${i} ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${i}" + else + CPPFLAGS="${CPPFLAGS} -I${i}" + fi + ;; + esac + FOUND_AFSINCDIR=true fi done @@ -18836,36 +19409,31 @@ fi if test "${with_skey-'no'}" = "yes"; then O_LDFLAGS="$LDFLAGS" if test "$with_skey" != "yes"; then - CPPFLAGS="${CPPFLAGS} -I${with_skey}/include" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) LDFLAGS="${LDFLAGS} -L${with_skey}/lib -Wl,+b,${with_skey}/lib" - ;; - *) LDFLAGS="${LDFLAGS} -L${with_skey}/lib -Wl,-R${with_skey}/lib" - ;; - esac - else - LDFLAGS="${LDFLAGS} -L${with_skey}/lib" - fi - if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_skey}/lib" - fi + case "${CPPFLAGS}" in + *"-I${with_skey}/include"|*"-I${with_skey}/include ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${with_skey}/include" + else + CPPFLAGS="${CPPFLAGS} -I${with_skey}/include" + fi + ;; + esac + LDFLAGS="$LDFLAGS -L${with_skey}/lib" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_skey}/lib -Wl,+b,${with_skey}/lib" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_skey}/lib -Wl,-R${with_skey}/lib" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_skey}/lib" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_skey}/lib" - fi + case "${SUDOERS_LDFLAGS}" in + *"-L${with_skey}/lib"|*"-L${with_skey}/lib ") + ;; + *) + SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_skey}/lib" + if test X"$enable_rpath" = X"yes"; then + SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_skey}/lib" + fi + ;; + esac ac_fn_c_check_header_compile "$LINENO" "skey.h" "ac_cv_header_skey_h" "#include " @@ -18892,36 +19460,19 @@ fi if test "$found" = "no" -o -z "$dir"; then CPPFLAGS="$O_CPPFLAGS" else + LDFLAGS="$LDFLAGS -L${dir}/lib" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) LDFLAGS="${LDFLAGS} -L${dir}/lib -Wl,+b,${dir}/lib" - ;; - *) LDFLAGS="${LDFLAGS} -L${dir}/lib -Wl,-R${dir}/lib" - ;; - esac - else - LDFLAGS="${LDFLAGS} -L${dir}/lib" - fi - if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${dir}/lib" - fi + case "${SUDOERS_LDFLAGS}" in + *"-L${dir}/lib"|*"-L${dir}/lib ") + ;; + *) + SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib" + if test X"$enable_rpath" = X"yes"; then + SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${dir}/lib" + fi + ;; + esac - - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib -Wl,+b,${dir}/lib" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib -Wl,-R${dir}/lib" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${dir}/lib" - fi - fi if test "$found" = "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to locate skey.h, you will have to edit the Makefile and add -I/path/to/skey/includes to CPPFLAGS" >&5 @@ -19046,36 +19597,31 @@ fi if test "${with_opie-'no'}" = "yes"; then O_LDFLAGS="$LDFLAGS" if test "$with_opie" != "yes"; then - CPPFLAGS="${CPPFLAGS} -I${with_opie}/include" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) LDFLAGS="${LDFLAGS} -L${with_opie}/lib -Wl,+b,${with_opie}/lib" - ;; - *) LDFLAGS="${LDFLAGS} -L${with_opie}/lib -Wl,-R${with_opie}/lib" - ;; - esac - else - LDFLAGS="${LDFLAGS} -L${with_opie}/lib" - fi - if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_opie}/lib" - fi + case "${CPPFLAGS}" in + *"-I${with_opie}/include"|*"-I${with_opie}/include ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${with_opie}/include" + else + CPPFLAGS="${CPPFLAGS} -I${with_opie}/include" + fi + ;; + esac + LDFLAGS="$LDFLAGS -L${with_opie}/lib" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_opie}/lib -Wl,+b,${with_opie}/lib" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_opie}/lib -Wl,-R${with_opie}/lib" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_opie}/lib" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_opie}/lib" - fi + case "${SUDOERS_LDFLAGS}" in + *"-L${with_opie}/lib"|*"-L${with_opie}/lib ") + ;; + *) + SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_opie}/lib" + if test X"$enable_rpath" = X"yes"; then + SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_opie}/lib" + fi + ;; + esac cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -19118,36 +19664,19 @@ rm -f conftest.err conftest.i conftest.$ac_ext if test "$found" = "no" -o -z "$dir"; then CPPFLAGS="$O_CPPFLAGS" else + LDFLAGS="$LDFLAGS -L${dir}/lib" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) LDFLAGS="${LDFLAGS} -L${dir}/lib -Wl,+b,${dir}/lib" - ;; - *) LDFLAGS="${LDFLAGS} -L${dir}/lib -Wl,-R${dir}/lib" - ;; - esac - else - LDFLAGS="${LDFLAGS} -L${dir}/lib" - fi - if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${dir}/lib" - fi + case "${SUDOERS_LDFLAGS}" in + *"-L${dir}/lib"|*"-L${dir}/lib ") + ;; + *) + SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib" + if test X"$enable_rpath" = X"yes"; then + SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${dir}/lib" + fi + ;; + esac - - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib -Wl,+b,${dir}/lib" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib -Wl,-R${dir}/lib" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${dir}/lib" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${dir}/lib" - fi - fi if test "$found" = "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to locate opie.h, you will have to edit the Makefile and add -I/path/to/opie/includes to CPPFLAGS" >&5 @@ -19440,106 +19969,144 @@ done fi if test ${with_ldap-'no'} != "no"; then - _LDFLAGS="$LDFLAGS" + O_LDFLAGS="$LDFLAGS" if test "$with_ldap" != "yes"; then - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_ldap}/lib -Wl,+b,${with_ldap}/lib" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_ldap}/lib -Wl,-R${with_ldap}/lib" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_ldap}/lib" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_ldap}/lib" - fi + case "${SUDOERS_LDFLAGS}" in + *"-L${with_ldap}/lib"|*"-L${with_ldap}/lib ") + ;; + *) + SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_ldap}/lib" + if test X"$enable_rpath" = X"yes"; then + SUDOERS_LDFLAGS_R="${SUDOERS_LDFLAGS_R} -R${with_ldap}/lib" + fi + ;; + esac + LDFLAGS="$LDFLAGS -L${with_ldap}/lib" - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) LDFLAGS="${LDFLAGS} -L${with_ldap}/lib -Wl,+b,${with_ldap}/lib" - ;; - *) LDFLAGS="${LDFLAGS} -L${with_ldap}/lib -Wl,-R${with_ldap}/lib" - ;; - esac - else - LDFLAGS="${LDFLAGS} -L${with_ldap}/lib" - fi - if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_ldap}/lib" - fi + case "${CPPFLAGS}" in + *"-I${with_ldap}/include"|*"-I${with_ldap}/include ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-I${with_ldap}/include" + else + CPPFLAGS="${CPPFLAGS} -I${with_ldap}/include" + fi + ;; + esac - CPPFLAGS="${CPPFLAGS} -I${with_ldap}/include" with_ldap=yes fi SUDOERS_OBJS="${SUDOERS_OBJS} ldap.lo" LDAP="" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LDAP libraries" >&5 -$as_echo_n "checking for LDAP libraries... " >&6; } - LDAP_LIBS="" _LIBS="$LIBS" + LDAP_LIBS="" + IBMLDAP_EXTRA="" found=no - for l in -lldap -llber '-lssl -lcrypto'; do - LIBS="${LIBS} $l" - LDAP_LIBS="${LDAP_LIBS} $l" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + # On HP-UX, libibmldap has a hidden dependency on libCsup + case "$host_os" in + hpux*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lCsup" >&5 +$as_echo_n "checking for main in -lCsup... " >&6; } +if ${ac_cv_lib_Csup_main+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lCsup $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include + + int main () { -(void)ldap_init(0, 0) +return main (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - found=yes; break + ac_cv_lib_Csup_main=yes +else + ac_cv_lib_Csup_main=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext - done - if test "$found" = "no"; then - LDAP_LIBS="" - LIBS="$_LIBS" - for l in -libmldap -lidsldif; do - LIBS="${LIBS} $l" - LDAP_LIBS="${LDAP_LIBS} $l" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Csup_main" >&5 +$as_echo "$ac_cv_lib_Csup_main" >&6; } +if test "x$ac_cv_lib_Csup_main" = xyes; then : + IBMLDAP_EXTRA=" -lCsup" +fi +;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ldap_init" >&5 +$as_echo_n "checking for library containing ldap_init... " >&6; } +if ${ac_cv_search_ldap_init+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include - #include - #include + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ldap_init (); int main () { -(void)ldap_init(0, 0) +return ldap_init (); ; return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - found=yes; break +for ac_lib in '' "ldap" "ldap -llber" "ldap -llber -lssl -lcrypto" "ibmldap${IBMLDAP_EXTRA}" "ibmldap -lidsldif${IBMLDAP_EXTRA}"; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_ldap_init=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - done - fi - if test "$found" = "no"; then - LIBS="${_LIBS} -lldap" + conftest$ac_exeext + if ${ac_cv_search_ldap_init+:} false; then : + break +fi +done +if ${ac_cv_search_ldap_init+:} false; then : + +else + ac_cv_search_ldap_init=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_ldap_init" >&5 +$as_echo "$ac_cv_search_ldap_init" >&6; } +ac_res=$ac_cv_search_ldap_init +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + + test "$ac_res" != "none required" && LDAP_LIBS="$ac_res" + found=yes + +fi + + # If nothing linked, try -lldap and hope for the best + if test "$found" = "no"; then LDAP_LIBS="-lldap" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found, using -lldap" >&5 -$as_echo "not found, using -lldap" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LDAP_LIBS" >&5 -$as_echo "$LDAP_LIBS" >&6; } fi + LIBS="${_LIBS} ${LDAP_LIBS}" OLIBS="$LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing ber_set_option" >&5 $as_echo_n "checking for library containing ber_set_option... " >&6; } @@ -19637,7 +20204,8 @@ if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF - for ac_func in ldap_sasl_interactive_bind_s + + for ac_func in ldap_sasl_interactive_bind_s do : ac_fn_c_check_func "$LINENO" "ldap_sasl_interactive_bind_s" "ac_cv_func_ldap_sasl_interactive_bind_s" if test "x$ac_cv_func_ldap_sasl_interactive_bind_s" = xyes; then : @@ -19648,8 +20216,8 @@ _ACEOF fi done -else - break + break + fi done @@ -19668,7 +20236,7 @@ fi done - for ac_func in ldap_initialize ldap_start_tls_s ldapssl_init ldapssl_set_strength ldap_unbind_ext_s ldap_str2dn ldap_create ldap_sasl_bind_s ldap_ssl_client_init ldap_start_tls_s_np + for ac_func in ldap_initialize ldap_start_tls_s ldapssl_init ldapssl_set_strength ldap_unbind_ext_s ldap_str2dn ldap_create ldap_sasl_bind_s ldap_ssl_init ldap_ssl_client_init ldap_start_tls_s_np do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -19855,7 +20423,7 @@ $as_echo "$as_me: WARNING: Unable to locate gssapi.h, SUDOERS_LIBS="${SUDOERS_LIBS} ${LDAP_LIBS}" LIBS="$_LIBS" - LDFLAGS="$_LDFLAGS" + LDFLAGS="$O_LDFLAGS" fi # @@ -19866,13 +20434,13 @@ case "$lt_cv_dlopen" in dlopen) $as_echo "#define HAVE_DLOPEN 1" >>confdefs.h - SUDOERS_OBJS="$SUDOERS_OBJS plugin_error.lo" + SUDO_OBJS="$SUDO_OBJS locale_stub.o" LT_STATIC="--tag=disable-static" ;; shl_load) $as_echo "#define HAVE_SHL_LOAD 1" >>confdefs.h - SUDOERS_OBJS="$SUDOERS_OBJS plugin_error.lo" + SUDO_OBJS="$SUDO_OBJS locale_stub.o" LT_STATIC="--tag=disable-static" case " $LIBOBJS " in *" dlopen.$ac_objext "* ) ;; @@ -19907,13 +20475,13 @@ if test X"$LIBDL" != X""; then SUDOERS_LIBS="${SUDOERS_LIBS} $LIBDL" fi -# On HP-UX, you cannot dlopen() a shared object that uses pthreads -# unless the main program is linked against -lpthread. Since we -# have no knowledge what libraries a plugin may depend on, we always -# link against -lpthread on HP-UX if it is available. +# On HP-UX, you cannot dlopen() a shared object that uses pthreads unless +# the main program is linked against -lpthread. We have no knowledge of +# what libraries a plugin may depend on (e.g. HP-UX LDAP which uses pthreads) +# so always link against -lpthread on HP-UX if it is available. # This check should go after all other libraries tests. -case "$host" in - *-*-hpux*) +case "$host_os" in + hpux*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lpthread" >&5 $as_echo_n "checking for main in -lpthread... " >&6; } if ${ac_cv_lib_pthread_main+:} false; then : @@ -19948,17 +20516,10 @@ if test "x$ac_cv_lib_pthread_main" = xyes; then : SUDO_LIBS="${SUDO_LIBS} -lpthread" fi + OSDEFS="${OSDEFS} -D_REENTRANT" ;; esac -if test -n "$blibpath"; then - if test -n "$blibpath_add"; then - SUDOERS_LDFLAGS="$SUDOERS_LDFLAGS -Wl,-blibpath:${blibpath}${blibpath_add}" - elif test -n "$with_blibpath" -a "$with_blibpath" != "yes"; then - SUDOERS_LDFLAGS="$SUDOERS_LDFLAGS -Wl,-blibpath:${blibpath}" - fi -fi - if test "$utmp_style" = "LEGACY"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for utmp file path" >&5 $as_echo_n "checking for utmp file path... " >&6; } @@ -20056,6 +20617,769 @@ EOF $as_echo "$iolog_dir" >&6; } + +ac_c_werror_flag=yes + +if test -n "$GCC" -a "$lt_cv_prog_gnu_ld" != "yes" -a -n "$GCC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -static-libgcc" >&5 +$as_echo_n "checking whether C compiler accepts -static-libgcc... " >&6; } +if ${ax_cv_check_cflags___static_libgcc+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -static-libgcc" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___static_libgcc=yes +else + ax_cv_check_cflags___static_libgcc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___static_libgcc" >&5 +$as_echo "$ax_cv_check_cflags___static_libgcc" >&6; } +if test x"$ax_cv_check_cflags___static_libgcc" = xyes; then : + LT_LDFLAGS="$LT_LDFLAGS -Wc,-static-libgcc" +else + : +fi + +fi + +if test -n "$GCC"; then + as_CACHEVAR=`$as_echo "ax_cv_check_cflags__-fvisibility=hidden" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fvisibility=hidden" >&5 +$as_echo_n "checking whether C compiler accepts -fvisibility=hidden... " >&6; } +if eval \${$as_CACHEVAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fvisibility=hidden" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_CACHEVAR=yes" +else + eval "$as_CACHEVAR=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +eval ac_res=\$$as_CACHEVAR + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then : + + $as_echo "#define HAVE_DSO_VISIBILITY 1" >>confdefs.h + + CFLAGS="${CFLAGS} -fvisibility=hidden" + LT_LDEXPORTS= + LT_LDDEP= + NO_VIZ= + +else + : +fi + +else + case "$host_os" in + hpux*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Bhidden_def" >&5 +$as_echo_n "checking whether C compiler accepts -Bhidden_def... " >&6; } +if ${ax_cv_check_cflags___Bhidden_def+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Bhidden_def" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___Bhidden_def=yes +else + ax_cv_check_cflags___Bhidden_def=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Bhidden_def" >&5 +$as_echo "$ax_cv_check_cflags___Bhidden_def" >&6; } +if test x"$ax_cv_check_cflags___Bhidden_def" = xyes; then : + + $as_echo "#define HAVE_DSO_VISIBILITY 1" >>confdefs.h + + CFLAGS="${CFLAGS} -Bhidden_def" + LT_LDEXPORTS= + LT_LDDEP= + +else + : +fi + + ;; + solaris2*) + as_CACHEVAR=`$as_echo "ax_cv_check_cflags__-xldscope=hidden" | $as_tr_sh` +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -xldscope=hidden" >&5 +$as_echo_n "checking whether C compiler accepts -xldscope=hidden... " >&6; } +if eval \${$as_CACHEVAR+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -xldscope=hidden" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$as_CACHEVAR=yes" +else + eval "$as_CACHEVAR=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +eval ac_res=\$$as_CACHEVAR + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if test x"`eval 'as_val=${'$as_CACHEVAR'};$as_echo "$as_val"'`" = xyes; then : + + $as_echo "#define HAVE_DSO_VISIBILITY 1" >>confdefs.h + + CFLAGS="${CFLAGS} -xldscope=hidden" + LT_LDEXPORTS= + LT_LDDEP= + +else + : +fi + + ;; + esac +fi + +if test -n "$LT_LDEXPORTS"; then + if test "$lt_cv_prog_gnu_ld" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ld supports anonymous map files" >&5 +$as_echo_n "checking whether ld supports anonymous map files... " >&6; } +if ${sudo_cv_var_gnu_ld_anon_map+:} false; then : + $as_echo_n "(cached) " >&6 +else + + sudo_cv_var_gnu_ld_anon_map=no + cat > conftest.map <<-EOF + { + global: foo; + local: *; + }; +EOF + _CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $lt_prog_compiler_pic" + _LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -fpic -shared -Wl,--version-script,./conftest.map" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + sudo_cv_var_gnu_ld_anon_map=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$_CFLAGS" + LDFLAGS="$_LDFLAGS" + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_gnu_ld_anon_map" >&5 +$as_echo "$sudo_cv_var_gnu_ld_anon_map" >&6; } + if test "$sudo_cv_var_gnu_ld_anon_map" = "yes"; then + LT_LDEXPORTS=; LT_LDDEP="\$(shlib_map)"; LT_LDMAP="-Wl,--version-script,\$(shlib_map)" + fi + else + case "$host_os" in + solaris2*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ld supports anonymous map files" >&5 +$as_echo_n "checking whether ld supports anonymous map files... " >&6; } +if ${sudo_cv_var_solaris_ld_anon_map+:} false; then : + $as_echo_n "(cached) " >&6 +else + + sudo_cv_var_solaris_ld_anon_map=no + cat > conftest.map <<-EOF + { + global: foo; + local: *; + }; +EOF + _CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $lt_prog_compiler_pic" + _LDFLAGS="$LDFLAGS" + LDFLAGS="$LDFLAGS -shared -Wl,-M,./conftest.map" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + sudo_cv_var_solaris_ld_anon_map=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$_CFLAGS" + LDFLAGS="$_LDFLAGS" + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_solaris_ld_anon_map" >&5 +$as_echo "$sudo_cv_var_solaris_ld_anon_map" >&6; } + if test "$sudo_cv_var_solaris_ld_anon_map" = "yes"; then + LT_LDEXPORTS=; LT_LDDEP="\$(shlib_map)"; LT_LDMAP="-Wl,-M,\$(shlib_map)" + fi + ;; + hpux*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ld supports controlling exported symbols" >&5 +$as_echo_n "checking whether ld supports controlling exported symbols... " >&6; } +if ${sudo_cv_var_hpux_ld_symbol_export+:} false; then : + $as_echo_n "(cached) " >&6 +else + + sudo_cv_var_hpux_ld_symbol_export=no + echo "+e foo" > conftest.opt + _CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $lt_prog_compiler_pic" + _LDFLAGS="$LDFLAGS" + if test -n "$GCC"; then + LDFLAGS="$LDFLAGS -shared -Wl,-c,./conftest.opt" + else + LDFLAGS="$LDFLAGS -Wl,-b -Wl,-c,./conftest.opt" + fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int foo; +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + sudo_cv_var_hpux_ld_symbol_export=yes +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CFLAGS="$_CFLAGS" + LDFLAGS="$_LDFLAGS" + rm -f conftest.opt + + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_var_hpux_ld_symbol_export" >&5 +$as_echo "$sudo_cv_var_hpux_ld_symbol_export" >&6; } + if test "$sudo_cv_var_hpux_ld_symbol_export" = "yes"; then + LT_LDEXPORTS=; LT_LDDEP="\$(shlib_opt)"; LT_LDOPT="-Wl,-c,\$(shlib_opt)" + fi + ;; + esac + fi +fi + +if test -n "$GCC"; then + if test -z "$enable_pie"; then + case "$host_os" in + linux*) + # Attempt to build with PIE support + enable_pie="maybe" + ;; + esac + fi + if test -n "$enable_pie"; then + if test "$enable_pie" = "no"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fno-pie" >&5 +$as_echo_n "checking whether C compiler accepts -fno-pie... " >&6; } +if ${ax_cv_check_cflags___fno_pie+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fno-pie" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___fno_pie=yes +else + ax_cv_check_cflags___fno_pie=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fno_pie" >&5 +$as_echo "$ax_cv_check_cflags___fno_pie" >&6; } +if test x"$ax_cv_check_cflags___fno_pie" = xyes; then : + + _CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fno-pie" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -nopie" >&5 +$as_echo_n "checking whether the linker accepts -nopie... " >&6; } +if ${ax_cv_check_ldflags___nopie+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -nopie" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___nopie=yes +else + ax_cv_check_ldflags___nopie=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___nopie" >&5 +$as_echo "$ax_cv_check_ldflags___nopie" >&6; } +if test x"$ax_cv_check_ldflags___nopie" = xyes; then : + + PIE_CFLAGS="-fno-pie" + PIE_LDFLAGS="-nopie" + +else + : +fi + + CFLAGS="$_CFLAGS" + +else + : +fi + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fPIE" >&5 +$as_echo_n "checking whether C compiler accepts -fPIE... " >&6; } +if ${ax_cv_check_cflags___fPIE+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fPIE" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___fPIE=yes +else + ax_cv_check_cflags___fPIE=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fPIE" >&5 +$as_echo "$ax_cv_check_cflags___fPIE" >&6; } +if test x"$ax_cv_check_cflags___fPIE" = xyes; then : + + _CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -fPIE" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -pie" >&5 +$as_echo_n "checking whether the linker accepts -pie... " >&6; } +if ${ax_cv_check_ldflags___pie+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -pie" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___pie=yes +else + ax_cv_check_ldflags___pie=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___pie" >&5 +$as_echo "$ax_cv_check_ldflags___pie" >&6; } +if test x"$ax_cv_check_ldflags___pie" = xyes; then : + + if test "$enable_pie" = "maybe"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working PIE support" >&5 +$as_echo_n "checking for working PIE support... " >&6; } +if ${sudo_cv_working_pie+:} false; then : + $as_echo_n "(cached) " >&6 +else + rm -f conftestdata; > conftestdata +if test "$cross_compiling" = yes; then : + sudo_cv_working_pie=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +main() { char *p = malloc(1024); if (p == NULL) return 1; memset(p, 0, 1024); return 0; } +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + sudo_cv_working_pie=yes +else + sudo_cv_working_pie=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +rm -f core core.* *.core +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_working_pie" >&5 +$as_echo "$sudo_cv_working_pie" >&6; } +if test $sudo_cv_working_pie = yes; then : + enable_pie=yes +fi + fi + if test "$enable_pie" = "yes"; then + PIE_CFLAGS="-fPIE" + PIE_LDFLAGS="-Wc,-fPIE -pie" + fi + +else + : +fi + + CFLAGS="$_CFLAGS" + +else + : +fi + + fi + fi +fi +if test "$enable_pie" != "yes"; then + # Solaris 11.1 and higher supports tagging binaries to use ASLR + case "$host_os" in + solaris2.1[1-9]|solaris2.[2-9][0-9]) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,aslr" >&5 +$as_echo_n "checking whether the linker accepts -Wl,-z,aslr... " >&6; } +if ${ax_cv_check_ldflags___Wl__z_aslr+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,aslr" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___Wl__z_aslr=yes +else + ax_cv_check_ldflags___Wl__z_aslr=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_aslr" >&5 +$as_echo "$ax_cv_check_ldflags___Wl__z_aslr" >&6; } +if test x"$ax_cv_check_ldflags___Wl__z_aslr" = xyes; then : + PIE_LDFLAGS="${PIE_LDFLAGS}${PIE_LDFLAGS+ }-Wl,-z,aslr" +else + : +fi + + ;; + esac +fi + +if test "$enable_hardening" != "no"; then + if test -n "$GCC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstack-protector-all" >&5 +$as_echo_n "checking whether C compiler accepts -fstack-protector-all... " >&6; } +if ${ax_cv_check_cflags___fstack_protector_all+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fstack-protector-all" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___fstack_protector_all=yes +else + ax_cv_check_cflags___fstack_protector_all=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstack_protector_all" >&5 +$as_echo "$ax_cv_check_cflags___fstack_protector_all" >&6; } +if test x"$ax_cv_check_cflags___fstack_protector_all" = xyes; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -fstack-protector-all" >&5 +$as_echo_n "checking whether the linker accepts -fstack-protector-all... " >&6; } +if ${ax_cv_check_ldflags___fstack_protector_all+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -fstack-protector-all" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___fstack_protector_all=yes +else + ax_cv_check_ldflags___fstack_protector_all=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___fstack_protector_all" >&5 +$as_echo "$ax_cv_check_ldflags___fstack_protector_all" >&6; } +if test x"$ax_cv_check_ldflags___fstack_protector_all" = xyes; then : + + SSP_CFLAGS="-fstack-protector-all" + SSP_LDFLAGS="-Wc,-fstack-protector-all" + +else + : +fi + + +else + : +fi + + if test -z "$SSP_CFLAGS"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fstack-protector" >&5 +$as_echo_n "checking whether C compiler accepts -fstack-protector... " >&6; } +if ${ax_cv_check_cflags___fstack_protector+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fstack-protector" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ax_cv_check_cflags___fstack_protector=yes +else + ax_cv_check_cflags___fstack_protector=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fstack_protector" >&5 +$as_echo "$ax_cv_check_cflags___fstack_protector" >&6; } +if test x"$ax_cv_check_cflags___fstack_protector" = xyes; then : + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -fstack-protector" >&5 +$as_echo_n "checking whether the linker accepts -fstack-protector... " >&6; } +if ${ax_cv_check_ldflags___fstack_protector+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -fstack-protector" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___fstack_protector=yes +else + ax_cv_check_ldflags___fstack_protector=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___fstack_protector" >&5 +$as_echo "$ax_cv_check_ldflags___fstack_protector" >&6; } +if test x"$ax_cv_check_ldflags___fstack_protector" = xyes; then : + + SSP_CFLAGS="-fstack-protector" + SSP_LDFLAGS="-Wc,-fstack-protector" + +else + : +fi + + +else + : +fi + + fi + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the linker accepts -Wl,-z,relro" >&5 +$as_echo_n "checking whether the linker accepts -Wl,-z,relro... " >&6; } +if ${ax_cv_check_ldflags___Wl__z_relro+:} false; then : + $as_echo_n "(cached) " >&6 +else + + ax_check_save_flags=$LDFLAGS + LDFLAGS="$LDFLAGS -Wl,-z,relro" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ax_cv_check_ldflags___Wl__z_relro=yes +else + ax_cv_check_ldflags___Wl__z_relro=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS=$ax_check_save_flags +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_ldflags___Wl__z_relro" >&5 +$as_echo "$ax_cv_check_ldflags___Wl__z_relro" >&6; } +if test x"$ax_cv_check_ldflags___Wl__z_relro" = xyes; then : + LDFLAGS="${LDFLAGS} -Wl,-z,relro" +else + : +fi + +fi + case "$with_passwd" in yes|maybe) AUTH_OBJS="$AUTH_OBJS getspwuid.lo passwd.lo" @@ -20085,6 +21409,12 @@ if test -n "$LIBS"; then done fi + +cat >>confdefs.h <<_ACEOF +#define os_init $OS_INIT +_ACEOF + + if test -n "$GCC"; then if test X"$enable_warnings" = X"yes" -o X"$with_devel" = X"yes"; then CFLAGS="${CFLAGS} -Wall" @@ -20094,9 +21424,11 @@ if test -n "$GCC"; then fi fi +CROSS_COMPILING="$cross_compiling" + test "$exec_prefix" = "NONE" && exec_prefix='$(prefix)' -if test X"$with_noexec" != X"no" -o X"$with_selinux" != X"no"; then +if test X"$with_noexec" != X"no" -o X"$with_selinux" != X"no" -o "$enabled_shared" != X"no"; then oexec_prefix="$exec_prefix" if test "$exec_prefix" = '$(prefix)'; then if test "$prefix" = "NONE"; then @@ -20121,7 +21453,7 @@ EOF fi if test X"$with_selinux" != X"no"; then - sesh_file="$libexecdir/sesh" + sesh_file="$libexecdir/sudo/sesh" _sesh_file= while test X"$sesh_file" != X"$_sesh_file"; do _sesh_file="$sesh_file" @@ -20132,23 +21464,41 @@ EOF EOF fi - PLUGINDIR="$with_plugindir" - _PLUGINDIR= - while test X"$PLUGINDIR" != X"$_PLUGINDIR"; do - _PLUGINDIR="$PLUGINDIR" - eval PLUGINDIR="$_PLUGINDIR" - done - cat >>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -20682,7 +22034,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by sudo $as_me 1.8.5p1, which was +This file was extended by sudo $as_me 1.8.7, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20748,7 +22100,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -sudo config.status 1.8.5p1 +sudo config.status 1.8.7 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" @@ -21164,7 +22516,7 @@ do "src/sudo_usage.h") CONFIG_FILES="$CONFIG_FILES src/sudo_usage.h" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "plugins/sample/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/sample/Makefile" ;; - "plugins/sample_group/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/sample_group/Makefile" ;; + "plugins/group_file/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/group_file/Makefile" ;; "plugins/system_group/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/system_group/Makefile" ;; "plugins/sudoers/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/sudoers/Makefile" ;; "plugins/sudoers/sudoers") CONFIG_FILES="$CONFIG_FILES plugins/sudoers/sudoers" ;; @@ -22388,8 +23740,8 @@ fi if test "$with_pam" = "yes"; then - case $host in - *-*-hpux*) + case $host_os in + hpux*) if test -f /usr/lib/security/libpam_hpsec.so.1; then { $as_echo "$as_me:${as_lineno-$LINENO}: You may wish to add the following line to /etc/pam.conf" >&5 $as_echo "$as_me: You may wish to add the following line to /etc/pam.conf" >&6;} @@ -22397,12 +23749,20 @@ $as_echo "$as_me: You may wish to add the following li $as_echo "$as_me: sudo session required libpam_hpsec.so.1 bypass_umask bypass_last_login" >&6;} fi ;; - *-*-linux*) + linux*) { $as_echo "$as_me:${as_lineno-$LINENO}: You will need to customize sample.pam and install it as /etc/pam.d/sudo" >&5 $as_echo "$as_me: You will need to customize sample.pam and install it as /etc/pam.d/sudo" >&6;} ;; esac fi + + + + + + + +