--- embedaddon/sudo/configure 2012/02/21 16:23:02 1.1.1.1 +++ embedaddon/sudo/configure 2013/10/14 07:56:33 1.1.1.5 @@ -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.3p2. +# Generated by GNU Autoconf 2.68 for sudo 1.8.8. # # Report bugs to . # @@ -570,8 +570,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='sudo' PACKAGE_TARNAME='sudo' -PACKAGE_VERSION='1.8.3p2' -PACKAGE_STRING='sudo 1.8.3p2' +PACKAGE_VERSION='1.8.8' +PACKAGE_STRING='sudo 1.8.8' 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,14 @@ OBJEXT EXEEXT ac_ct_CC CC +PLUGINDIR +pam_login_service +pam_session editor secure_path netsvc_conf nsswitch_conf +sssd_lib ldap_secret ldap_conf path_info @@ -691,6 +697,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 @@ -706,9 +720,9 @@ SELINUX_USAGE BSDAUTH_USAGE DONT_LEAK_PATH_INFO INSTALL_NOEXEC +sesh_file noexec_file SOEXT -PLUGINDIR NOEXECDIR NOEXECFILE mansrcdir @@ -716,13 +730,18 @@ mansectform mansectsu devdir SEMAN +PSMAN LCMAN BAMAN -DEV +DEVEL SUDOERS_GID SUDOERS_UID SUDOERS_MODE -MAN_POSTINSTALL +SHLIB_EXT +SHLIB_MODE +MANCOMPRESSEXT +MANCOMPRESS +MANDIRTYPE MANTYPE AUTH_OBJS OSDEFS @@ -735,7 +754,11 @@ SUDO_LIBS SUDO_OBJS SUDOERS_OBJS COMMON_OBJS -LTLDFLAGS +LT_LDEXPORTS +LT_LDDEP +LT_LDOPT +LT_LDMAP +LT_LDFLAGS SUDOERS_LDFLAGS LDFLAGS CPPFLAGS @@ -792,6 +815,8 @@ with_rpath with_blibpath with_bsm_audit with_linux_audit +with_sssd +with_sssd_lib with_incpath with_libpath with_libraries @@ -803,7 +828,6 @@ with_opie with_long_otp_prompt with_SecurID with_fwtk -with_kerb4 with_kerb5 with_aixauth with_pam @@ -860,6 +884,8 @@ with_interfaces with_stow with_askpass with_plugindir +with_man +with_mdoc enable_authentication enable_root_mailer enable_setreuid @@ -875,8 +901,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,12 +915,14 @@ enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock +with_libtool with_noexec with_netsvc enable_sia enable_largefile with_pam_login enable_pam_session +enable_kerb5_instance ' ac_precious_vars='build_alias host_alias @@ -1446,7 +1477,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.3p2 to adapt to many kinds of systems. +\`configure' configures sudo 1.8.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1511,7 +1542,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of sudo 1.8.3p2:";; + short | recursive ) echo "Configuration of sudo 1.8.8:";; esac cat <<\_ACEOF @@ -1536,8 +1567,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] @@ -1548,6 +1583,8 @@ Optional Features: --disable-sia Disable SIA on Digital UNIX --disable-largefile omit support for large files --disable-pam-session Disable PAM session support + --enable-kerb5-instance instance string to append to the username (separated + by a slash) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1556,10 +1593,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 @@ -1571,7 +1610,6 @@ Optional Packages: --with-long-otp-prompt use a two line OTP (skey/opie) prompt --with-SecurID[=DIR] enable SecurID support --with-fwtk[=DIR] enable FWTK AuthSRV support - --with-kerb4[=DIR] enable Kerberos IV support --with-kerb5[=DIR] enable Kerberos V support --with-aixauth enable AIX general authentication support --with-pam enable PAM support @@ -1633,15 +1671,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 try to use only PIC/non-PIC objects [default=use + --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 @@ -1728,7 +1769,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -sudo configure 1.8.3p2 +sudo configure 1.8.8 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2003,6 +2044,60 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_func +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type + # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using @@ -2094,59 +2189,62 @@ fi } # ac_fn_c_check_header_mongrel -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () +# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES +# ---------------------------------------------------- +# Tries to find if the field MEMBER exists in type AGGR, after including +# INCLUDES, setting cache variable VAR accordingly. +ac_fn_c_check_member () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +$as_echo_n "checking for $2.$3... " >&6; } +if eval \${$4+:} false; then : $as_echo_n "(cached) " >&6 else - eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$4 +$5 int main () { -if (sizeof ($2)) - return 0; +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : + eval "$4=yes" +else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$4 +$5 int main () { -if (sizeof (($2))) - return 0; +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - + eval "$4=yes" else - eval "$3=yes" + eval "$4=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -eval ac_res=\$$3 +eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno -} # ac_fn_c_check_type +} # ac_fn_c_check_member # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- @@ -2326,63 +2424,6 @@ rm -f conftest.val } # ac_fn_c_compute_int -# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES -# ---------------------------------------------------- -# Tries to find if the field MEMBER exists in type AGGR, after including -# INCLUDES, setting cache variable VAR accordingly. -ac_fn_c_check_member () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 -$as_echo_n "checking for $2.$3... " >&6; } -if eval \${$4+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (sizeof ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - eval "$4=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$4 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_member - # ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES # --------------------------------------------- # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR @@ -2432,7 +2473,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.3p2, which was +It was created by sudo $as_me 1.8.8, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -2871,6 +2912,27 @@ $as_echo "$as_me: Configuring Sudo version $PACKAGE_VE + + + + + + + + + + + + + + + + + + + + + # # Begin initial values for man page substitution # @@ -2907,24 +2969,30 @@ 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 +pam_login_service=sudo +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'} -DEV="#" +DEVEL= LDAP="#" BAMAN=0 LCMAN=0 +PSMAN=0 SEMAN=0 LIBINTL= ZLIB= @@ -2935,6 +3003,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= @@ -2943,10 +3016,28 @@ shadow_libs= shadow_libs_optional= CONFIGURE_ARGS="$@" +RTLD_PRELOAD_VAR="LD_PRELOAD" +RTLD_PRELOAD_ENABLE_VAR= +RTLD_PRELOAD_DELIM=":" +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 @@ -2978,7 +3069,7 @@ if test "${with_devel+set}" = set; then : yes) { $as_echo "$as_me:${as_lineno-$LINENO}: Setting up for development: -Wall, flex, yacc" >&5 $as_echo "$as_me: Setting up for development: -Wall, flex, yacc" >&6;} OSDEFS="${OSDEFS} -DSUDO_DEVEL" - DEV="" + DEVEL="true" devdir=. ;; no) ;; @@ -3002,23 +3093,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 @@ -3867,6 +3951,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 @@ -4062,21 +4186,6 @@ fi -# Check whether --with-kerb4 was given. -if test "${with_kerb4+set}" = set; then : - withval=$with_kerb4; case $with_kerb4 in - no) ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to try kerberos IV authentication" >&5 -$as_echo_n "checking whether to try kerberos IV authentication... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - AUTH_REG="$AUTH_REG kerb4" - ;; -esac -fi - - - # Check whether --with-kerb5 was given. if test "${with_kerb5+set}" = set; then : withval=$with_kerb5; case $with_kerb5 in @@ -5138,26 +5247,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 @@ -5170,19 +5267,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. @@ -5478,12 +5613,12 @@ fi if test "$env_reset" = "on"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - $as_echo "#define ENV_RESET TRUE" >>confdefs.h + $as_echo "#define ENV_RESET 1" >>confdefs.h else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - $as_echo "#define ENV_RESET FALSE" >>confdefs.h + $as_echo "#define ENV_RESET 0" >>confdefs.h fi @@ -5513,6 +5648,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 @@ -5536,7 +5685,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 @@ -5593,6 +5750,8 @@ fi *) as_fn_error $? "\"--with-selinux does not take an argument.\"" "$LINENO" 5 ;; esac +else + with_selinux=no fi @@ -6105,8 +6264,8 @@ esac -macro_version='2.4' -macro_revision='1.3293' +macro_version='2.4.2' +macro_revision='1.3337' @@ -6880,6 +7039,11 @@ else lt_cv_sys_max_cmd_len=196608 ;; + os2*) + # The test takes a long time on OS/2. + lt_cv_sys_max_cmd_len=8192 + ;; + osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not @@ -6919,7 +7083,7 @@ else # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \ + while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do @@ -7348,7 +7512,7 @@ irix5* | irix6* | nonstopux*) lt_cv_deplibs_check_method=pass_all ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; @@ -7988,13 +8152,13 @@ old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" + old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in @@ -8183,6 +8347,7 @@ for ac_symprfx in "" "_"; do # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ +" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ @@ -8571,7 +8736,7 @@ $as_echo "$lt_cv_cc_needs_belf" >&6; } CFLAGS="$SAVE_CFLAGS" fi ;; -sparc*-*solaris*) +*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 @@ -8582,7 +8747,20 @@ sparc*-*solaris*) case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in - yes*) LD="${LD-ld} -m elf64_sparc" ;; + yes*) + case $host in + i?86-*-solaris*) + LD="${LD-ld} -m elf_x86_64" + ;; + sparc*-*-solaris*) + LD="${LD-ld} -m elf64_sparc" + ;; + esac + # GNU ld 2.21 introduced _sol2 emulations. Use them if available. + if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then + LD="${LD-ld}_sol2" + fi + ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" @@ -9222,7 +9400,13 @@ else $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then + # If there is a non-empty error log, and "single_module" + # appears in it, assume the flag caused a linker warning + if test -s conftest.err && $GREP single_module conftest.err; then + cat conftest.err >&5 + # Otherwise, if the output was created with a 0 exit code from + # the compiler, it worked. + elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 @@ -9233,6 +9417,7 @@ else fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : @@ -9265,6 +9450,7 @@ rm -f core conftest.err conftest.$ac_objext \ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : @@ -9286,7 +9472,9 @@ _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? - if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then + if test -s conftest.err && $GREP force_load conftest.err; then + cat conftest.err >&5 + elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 @@ -9553,7 +9741,22 @@ fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : - withval=$with_pic; pic_mode="$withval" + withval=$with_pic; lt_p=${PACKAGE-default} + case $withval in + yes|no) pic_mode=$withval ;; + *) + pic_mode=default + # Look at the argument we got. We use all the common list separators. + lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," + for lt_pkg in $withval; do + IFS="$lt_save_ifs" + if test "X$lt_pkg" = "X$lt_p"; then + pic_mode=yes + fi + done + IFS="$lt_save_ifs" + ;; + esac else pic_mode=default fi @@ -9631,6 +9834,10 @@ LIBTOOL='$(SHELL) $(top_builddir)/libtool' + + + + test -z "$LN_S" && LN_S="ln -s" @@ -10090,7 +10297,9 @@ lt_prog_compiler_static= case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' - lt_prog_compiler_pic='-Xcompiler -fPIC' + if test -n "$lt_prog_compiler_pic"; then + lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" + fi ;; esac else @@ -10181,18 +10390,33 @@ lt_prog_compiler_static= ;; *) case `$CC -V 2>&1 | sed 5q` in - *Sun\ F* | *Sun*Fortran*) + *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; + *Sun\ F* | *Sun*Fortran*) + lt_prog_compiler_pic='-KPIC' + lt_prog_compiler_static='-Bstatic' + lt_prog_compiler_wl='-Qoption ld ' + ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; + *Intel*\ [CF]*Compiler*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; + *Portland\ Group*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fpic' + lt_prog_compiler_static='-Bstatic' + ;; esac ;; esac @@ -10554,7 +10778,6 @@ $as_echo_n "checking whether the $compiler linker ($LD hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported @@ -10804,8 +11027,7 @@ _LT_EOF xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec= - hardcode_libdir_flag_spec_ld='-rpath $libdir' + hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ @@ -11184,6 +11406,7 @@ fi # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes + exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' @@ -11229,6 +11452,7 @@ fi hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' + else whole_archive_flag_spec='' fi @@ -11257,10 +11481,6 @@ fi hardcode_shlibpath_var=no ;; - freebsd1*) - ld_shlibs=no - ;; - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little @@ -11273,7 +11493,7 @@ fi ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2*) + freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes @@ -11312,7 +11532,6 @@ fi fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes @@ -11936,11 +12155,6 @@ esac - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } @@ -12030,7 +12244,7 @@ need_version=unknown case $host_os in aix3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH @@ -12039,7 +12253,7 @@ aix3*) ;; aix[4-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes @@ -12104,7 +12318,7 @@ beos*) ;; bsdi[45]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -12243,7 +12457,7 @@ darwin* | rhapsody*) ;; dgux*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' @@ -12251,10 +12465,6 @@ dgux*) shlibpath_var=LD_LIBRARY_PATH ;; -freebsd1*) - dynamic_linker=no - ;; - freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. @@ -12262,7 +12472,7 @@ freebsd* | dragonfly*) objformat=`/usr/bin/objformat` else case $host_os in - freebsd[123]*) objformat=aout ;; + freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi @@ -12280,7 +12490,7 @@ freebsd* | dragonfly*) esac shlibpath_var=LD_LIBRARY_PATH case $host_os in - freebsd2*) + freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) @@ -12300,17 +12510,18 @@ freebsd* | dragonfly*) ;; gnu*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" @@ -12371,7 +12582,7 @@ hpux9* | hpux10* | hpux11*) ;; interix[3-9]*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' @@ -12387,7 +12598,7 @@ irix5* | irix6* | nonstopux*) nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; @@ -12424,9 +12635,9 @@ linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; -# This must be Linux ELF. +# This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -12508,7 +12719,7 @@ netbsd*) ;; newsos6) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes @@ -12577,7 +12788,7 @@ rdos*) ;; solaris*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -12602,7 +12813,7 @@ sunos4*) ;; sysv4 | sysv4.3*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -12626,7 +12837,7 @@ sysv4 | sysv4.3*) sysv4*MP*) if test -d /usr/nec ;then - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH @@ -12657,7 +12868,7 @@ sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -12667,7 +12878,7 @@ tpf*) ;; uts4*) - version_type=linux + version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH @@ -13449,6 +13660,8 @@ CC="$lt_save_CC" + + ac_config_commands="$ac_config_commands libtool" @@ -13458,18 +13671,37 @@ 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 if test X"$_shrext" = X".dylib"; then SOEXT=".so" + SHLIB_EXT=".dylib" else SOEXT="$_shrext" + SHLIB_EXT="$_shrext" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking path to sudo_noexec.so" >&5 @@ -13478,38 +13710,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 @@ -13517,9 +13751,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; } @@ -13533,20 +13769,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 @@ -13554,9 +13792,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; } @@ -13566,26 +13806,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 @@ -13593,9 +13833,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; } @@ -13605,48 +13890,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 @@ -13685,6 +13958,9 @@ fi case "$host" in *-*-sunos4*) + # LD_PRELOAD is space-delimited + RTLD_PRELOAD_DELIM=" " + # getcwd(3) opens a pipe to getpwd(1)!?! BROKEN_GETCWD=1 @@ -13696,6 +13972,13 @@ case "$host" in shadow_funcs="getpwanam issecure" ;; *-*-solaris2*) + # 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 @@ -13704,7 +13987,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 : @@ -13713,7 +13995,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 @@ -13722,43 +14004,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 @@ -13796,26 +14042,15 @@ 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 + else + RTLD_PRELOAD_VAR="LDR_PRELOAD" 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" @@ -13832,6 +14067,9 @@ done *-*-hiuxmpp*) : ${mansectsu='1m'} : ${mansectform='4'} + + # HP-UX shared libs must be executable + SHLIB_MODE=0755 ;; *-*-hpux*) # AFS support needs -lBSD @@ -13841,6 +14079,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 @@ -13907,12 +14148,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 @@ -13923,10 +14164,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 @@ -13938,9 +14204,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'} @@ -14013,13 +14291,15 @@ $as_echo "yes, fixing locally" >&6; } fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + # ":DEFAULT" must be appended to _RLD_LIST + RTLD_PRELOAD_VAR="_RLD_LIST" + RTLD_PRELOAD_DEFAULT="DEFAULT" : ${mansectsu='8'} : ${mansectform='4'} ;; *-*-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" @@ -14027,6 +14307,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 @@ -14079,6 +14362,9 @@ if test "x$ac_cv_lib_sun_getpwnam" = xyes; then : fi fi + # ":DEFAULT" must be appended to _RLD_LIST + RTLD_PRELOAD_VAR="_RLD_LIST" + RTLD_PRELOAD_DEFAULT="DEFAULT" : ${mansectsu='1m'} : ${mansectform='4'} ;; @@ -14106,7 +14392,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'} @@ -14139,7 +14450,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 @@ -14184,13 +14494,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 @@ -14226,6 +14534,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 @@ -14270,16 +14582,26 @@ done CHECKSHADOW="false" test -z "$with_pam" && AUTH_EXCL_DEF="PAM" : ${with_logincap='yes'} + # Darwin 8 and above can interpose library symbols cleanly + if test $OSMAJOR -ge 8; then + $as_echo "#define HAVE___INTERPOSE 1" >>confdefs.h + + dlyld_interpose=yes + else + RTLD_PRELOAD_ENABLE_VAR="DYLD_FORCE_FLAT_NAMESPACE" + fi + RTLD_PRELOAD_VAR="DYLD_INSERT_LIBRARIES" ;; *-*-nextstep*) # lockf() on is broken on the NeXT -- use flock instead ac_cv_func_lockf=no ac_cv_func_flock=yes + RTLD_PRELOAD_VAR="DYLD_INSERT_LIBRARIES" + RTLD_PRELOAD_ENABLE_VAR="DYLD_FORCE_FLAT_NAMESPACE" ;; *-*-*sysv4*) : ${mansectsu='1m'} : ${mansectform='4'} - : ${with_rpath='yes'} ;; *-*-sysv*) : ${mansectsu='1m'} @@ -14290,6 +14612,29 @@ done ;; esac +if test -n "$with_noexec"; then + cat >>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h fi -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 +# Check for variadic macro support in cpp +cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +$ac_includes_default +#if defined(__GNUC__) && __GNUC__ == 2 +# define sudo_fprintf(fp, fmt...) fprintf((fp), (fmt)) +#else +# define sudo_fprintf(fp, ...) fprintf((fp), __VA_ARGS__) +#endif + int main () { - +sudo_fprintf(stderr, "a %s", "test"); ; 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 +if ac_fn_c_try_compile "$LINENO"; then : +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_exeext conftest.$ac_ext +rm -f core conftest.err conftest.$ac_objext 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. @@ -15029,7 +15360,149 @@ $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi -for ac_header in malloc.h paths.h utime.h netgroup.h utmpx.h sys/sockio.h sys/bsdtypes.h sys/select.h sys/stropts.h sys/sysmacros.h +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 +$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } +if ${ac_cv_header_stdbool_h+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#ifndef bool + "error: bool is not defined" +#endif +#ifndef false + "error: false is not defined" +#endif +#if false + "error: false is not 0" +#endif +#ifndef true + "error: true is not defined" +#endif +#if true != 1 + "error: true is not 1" +#endif +#ifndef __bool_true_false_are_defined + "error: __bool_true_false_are_defined is not defined" +#endif + + struct s { _Bool s: 1; _Bool t; } s; + + char a[true == 1 ? 1 : -1]; + char b[false == 0 ? 1 : -1]; + char c[__bool_true_false_are_defined == 1 ? 1 : -1]; + char d[(bool) 0.5 == true ? 1 : -1]; + /* See body of main program for 'e'. */ + char f[(_Bool) 0.0 == false ? 1 : -1]; + char g[true]; + char h[sizeof (_Bool)]; + char i[sizeof s.t]; + enum { j = false, k = true, l = false * true, m = true * 256 }; + /* The following fails for + HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ + _Bool n[m]; + char o[sizeof n == m * sizeof n[0] ? 1 : -1]; + char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; + /* Catch a bug in an HP-UX C compiler. See + http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html + http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html + */ + _Bool q = true; + _Bool *pq = &q; + +int +main () +{ + + bool e = &s; + *pq |= q; + *pq |= ! q; + /* Refer to every declared value, to avoid compiler optimizations. */ + return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + + !m + !n + !o + !p + !q + !pq); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdbool_h=yes +else + ac_cv_header_stdbool_h=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 +$as_echo "$ac_cv_header_stdbool_h" >&6; } +ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" +if test "x$ac_cv_type__Bool" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE__BOOL 1 +_ACEOF + + +fi + +if test $ac_cv_header_stdbool_h = yes; then + +$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sys/types.h defines makedev" >&5 +$as_echo_n "checking whether sys/types.h defines makedev... " >&6; } +if ${ac_cv_header_sys_types_h_makedev+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +return makedev(0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_header_sys_types_h_makedev=yes +else + ac_cv_header_sys_types_h_makedev=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: $ac_cv_header_sys_types_h_makedev" >&5 +$as_echo "$ac_cv_header_sys_types_h_makedev" >&6; } + +if test $ac_cv_header_sys_types_h_makedev = no; then +ac_fn_c_check_header_mongrel "$LINENO" "sys/mkdev.h" "ac_cv_header_sys_mkdev_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_mkdev_h" = xyes; then : + +$as_echo "#define MAJOR_IN_MKDEV 1" >>confdefs.h + +fi + + + + if test $ac_cv_header_sys_mkdev_h = no; then + ac_fn_c_check_header_mongrel "$LINENO" "sys/sysmacros.h" "ac_cv_header_sys_sysmacros_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sysmacros_h" = xyes; then : + +$as_echo "#define MAJOR_IN_SYSMACROS 1" >>confdefs.h + +fi + + + fi +fi + +for ac_header in malloc.h netgroup.h paths.h spawn.h utime.h utmpx.h sys/sockio.h sys/bsdtypes.h sys/select.h sys/stropts.h sys/sysmacros.h do : 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" @@ -15042,6 +15515,60 @@ 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` +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 + ac_fn_c_check_member "$LINENO" "struct psinfo" "pr_ttydev" "ac_cv_member_struct_psinfo_pr_ttydev" "$ac_includes_default +#ifdef HAVE_PROCFS_H +#include +#endif +#ifdef HAVE_SYS_PROCFS_H +#include +#endif + +" +if test "x$ac_cv_member_struct_psinfo_pr_ttydev" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_PSINFO_PR_TTYDEV 1 +_ACEOF + +for ac_func in _ttyname_dev +do : + ac_fn_c_check_func "$LINENO" "_ttyname_dev" "ac_cv_func__ttyname_dev" +if test "x$ac_cv_func__ttyname_dev" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE__TTYNAME_DEV 1 +_ACEOF + +fi +done + +fi + +break +fi + +done + # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; @@ -15240,8 +15767,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 : @@ -15400,7 +15927,7 @@ if test "x$ac_cv_header_login_cap_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LOGIN_CAP_H 1 _ACEOF - LOGINCAP_USAGE='[-c class|-] '; LCMAN=1 + LOGINCAP_USAGE='[-c class] '; LCMAN=1 case "$OS" in freebsd|netbsd) SUDO_LIBS="${SUDO_LIBS} -lutil" @@ -15466,6 +15993,19 @@ fi fi + + case "${CPPFLAGS}" in + *"-D__STDC_WANT_LIB_EXT1__=1"|*"-D__STDC_WANT_LIB_EXT1__=1 ") + ;; + *) + if test X"${CPPFLAGS}" = X""; then + CPPFLAGS="-D__STDC_WANT_LIB_EXT1__=1" + else + CPPFLAGS="${CPPFLAGS} -D__STDC_WANT_LIB_EXT1__=1" + fi + ;; + esac + ac_fn_c_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" if test "x$ac_cv_type_mode_t" = xyes; then : @@ -15541,7 +16081,6 @@ cat >>confdefs.h <<_ACEOF #define HAVE_SIGACTION_T 1 _ACEOF -$as_echo "#define HAVE_SIGACTION_T 1" >>confdefs.h fi @@ -15552,8 +16091,12 @@ ac_fn_c_check_type "$LINENO" "struct timespec" "ac_cv_ #include " if test "x$ac_cv_type_struct_timespec" = xyes; then : - $as_echo "#define HAVE_TIMESPEC 1" >>confdefs.h +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_TIMESPEC 1 +_ACEOF + + fi ac_fn_c_check_type "$LINENO" "struct in6_addr" "ac_cv_type_struct_in6_addr" "#include @@ -15565,7 +16108,6 @@ cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_IN6_ADDR 1 _ACEOF -$as_echo "#define HAVE_IN6_ADDR 1" >>confdefs.h fi @@ -15660,6 +16202,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]];'. @@ -15693,136 +16238,125 @@ cat >>confdefs.h <<_ACEOF _ACEOF -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for size_t" >&5 -$as_echo_n "checking for size_t... " >&6; } -if ${sudo_cv_type_size_t+:} false; then : - $as_echo_n "(cached) " >&6 +ac_fn_c_check_type "$LINENO" "id_t" "ac_cv_type_id_t" "$ac_includes_default" +if test "x$ac_cv_type_id_t" = xyes; then : + else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if STDC_HEADERS -#include -#endif -#if HAVE_UNISTD_H -#include -#endif + +cat >>confdefs.h <<_ACEOF +#define id_t unsigned int _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "size_t" >/dev/null 2>&1; then : - sudo_cv_type_size_t=yes -else - sudo_cv_type_size_t=no -fi -rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_type_size_t" >&5 -$as_echo "$sudo_cv_type_size_t" >&6; } -if test $sudo_cv_type_size_t = no; then -$as_echo "#define size_t int" >>confdefs.h +ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" +if test "x$ac_cv_type_size_t" = xyes; then : +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 -$as_echo_n "checking for ssize_t... " >&6; } -if ${sudo_cv_type_ssize_t+:} false; then : - $as_echo_n "(cached) " >&6 +ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" +if test "x$ac_cv_type_ssize_t" = xyes; then : + else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if STDC_HEADERS -#include -#endif -#if HAVE_UNISTD_H -#include -#endif + +cat >>confdefs.h <<_ACEOF +#define ssize_t int _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "ssize_t" >/dev/null 2>&1; then : - sudo_cv_type_ssize_t=yes -else - sudo_cv_type_ssize_t=no -fi -rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_type_ssize_t" >&5 -$as_echo "$sudo_cv_type_ssize_t" >&6; } -if test $sudo_cv_type_ssize_t = no; then -$as_echo "#define ssize_t int" >>confdefs.h +ac_fn_c_check_type "$LINENO" "dev_t" "ac_cv_type_dev_t" "$ac_includes_default" +if test "x$ac_cv_type_dev_t" = xyes; then : +else + +cat >>confdefs.h <<_ACEOF +#define dev_t int +_ACEOF + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dev_t" >&5 -$as_echo_n "checking for dev_t... " >&6; } -if ${sudo_cv_type_dev_t+:} false; then : - $as_echo_n "(cached) " >&6 +ac_fn_c_check_type "$LINENO" "ino_t" "ac_cv_type_ino_t" "$ac_includes_default" +if test "x$ac_cv_type_ino_t" = xyes; then : + else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if STDC_HEADERS -#include -#endif -#if HAVE_UNISTD_H -#include -#endif + +cat >>confdefs.h <<_ACEOF +#define ino_t unsigned int _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "dev_t" >/dev/null 2>&1; then : - sudo_cv_type_dev_t=yes -else - sudo_cv_type_dev_t=no + fi -rm -f conftest* +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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_type_dev_t" >&5 -$as_echo "$sudo_cv_type_dev_t" >&6; } -if test $sudo_cv_type_dev_t = no; then -$as_echo "#define dev_t int" >>confdefs.h +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 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ino_t" >&5 -$as_echo_n "checking for ino_t... " >&6; } -if ${sudo_cv_type_ino_t+:} false; then : - $as_echo_n "(cached) " >&6 +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 >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if STDC_HEADERS -#include -#endif -#if HAVE_UNISTD_H -#include -#endif + +cat >>confdefs.h <<_ACEOF +#define uint64_t unsigned long long _ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "ino_t" >/dev/null 2>&1; then : - sudo_cv_type_ino_t=yes + +fi + +ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" " +$ac_includes_default +#include +" +if test "x$ac_cv_type_socklen_t" = xyes; then : + else - sudo_cv_type_ino_t=no + $as_echo "#define socklen_t unsigned int" >>confdefs.h + fi -rm -f conftest* +ac_fn_c_check_type "$LINENO" "rsize_t" "ac_cv_type_rsize_t" "$ac_includes_default" +if test "x$ac_cv_type_rsize_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define rsize_t size_t +_ACEOF + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_type_ino_t" >&5 -$as_echo "$sudo_cv_type_ino_t" >&6; } -if test $sudo_cv_type_ino_t = no; then -$as_echo "#define ino_t unsigned int" >>confdefs.h +ac_fn_c_check_type "$LINENO" "errno_t" "ac_cv_type_errno_t" "$ac_includes_default" +if test "x$ac_cv_type_errno_t" = xyes; then : +else + +cat >>confdefs.h <<_ACEOF +#define errno_t int +_ACEOF + fi @@ -15884,7 +16418,7 @@ _ACEOF " if test "x$ac_cv_member_struct_sockaddr_sa_len" = xyes; then : -$as_echo "#define HAVE_SA_LEN 1" >>confdefs.h +$as_echo "#define HAVE_STRUCT_SOCKADDR_SA_LEN 1" >>confdefs.h fi @@ -16257,9 +16791,8 @@ $as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h fi LIBS=$ac_save_LIBS -for ac_func in strrchr sysconf tzset strftime \ - regcomp setlocale nl_langinfo getaddrinfo mbr_check_membership \ - setrlimit64 sysctl +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" @@ -16271,20 +16804,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" @@ -16316,6 +16943,34 @@ done fi done +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 +/* end confdefs.h. */ + +int +main () +{ +char buf[4]; (void)sprintf(buf, "%s", "foo"); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + OSDEFS="${OSDEFS} -D_FORTIFY_SOURCE=2" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +fi + + CPPFLAGS="$O_CPPFLAGS" +fi + utmp_style=LEGACY for ac_func in getutxid getutid do : @@ -16342,8 +16997,97 @@ _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" +if test "x$ac_cv_func_sysctl" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYSCTL 1 +_ACEOF + ac_fn_c_check_member "$LINENO" "struct kinfo_proc" "ki_tdev" "ac_cv_member_struct_kinfo_proc_ki_tdev" " + #include + #include + #include + +" +if test "x$ac_cv_member_struct_kinfo_proc_ki_tdev" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_KINFO_PROC_KI_TDEV 1 +_ACEOF + + +else + + ac_fn_c_check_member "$LINENO" "struct kinfo_proc2" "p_tdev" "ac_cv_member_struct_kinfo_proc2_p_tdev" " + #include + #include + +" +if test "x$ac_cv_member_struct_kinfo_proc2_p_tdev" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_KINFO_PROC2_P_TDEV 1 +_ACEOF + + +else + + ac_fn_c_check_member "$LINENO" "struct kinfo_proc" "p_tdev" "ac_cv_member_struct_kinfo_proc_p_tdev" " + #include + #include + +" +if test "x$ac_cv_member_struct_kinfo_proc_p_tdev" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_KINFO_PROC_P_TDEV 1 +_ACEOF + + +else + + ac_fn_c_check_member "$LINENO" "struct kinfo_proc" "kp_eproc.e_tdev" "ac_cv_member_struct_kinfo_proc_kp_eproc_e_tdev" " + #include + #include + +" +if test "x$ac_cv_member_struct_kinfo_proc_kp_eproc_e_tdev" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_KINFO_PROC_KP_EPROC_E_TDEV 1 +_ACEOF + + +fi + + +fi + + +fi + + +fi + + +fi +done + + for ac_func in openpty do : ac_fn_c_check_func "$LINENO" "openpty" "ac_cv_func_openpty" @@ -16533,16 +17277,45 @@ $as_echo "#define UNSETENV_VOID 1" >>confdefs.h fi +fi +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether putenv takes a const argument" >&5 +$as_echo_n "checking whether putenv takes a const argument... " >&6; } +if ${sudo_cv_func_putenv_const+:} false; then : + $as_echo_n "(cached) " >&6 else - case " $LIBOBJS " in - *" unsetenv.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS unsetenv.$ac_objext" - ;; -esac + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int putenv(const char *string) {return 0;} +int +main () +{ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + sudo_cv_func_putenv_const=yes +else + sudo_cv_func_putenv_const=no fi -done +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_func_putenv_const" >&5 +$as_echo "$sudo_cv_func_putenv_const" >&6; } + if test $sudo_cv_func_putenv_const = yes; then + +$as_echo "#define PUTENV_CONST const" >>confdefs.h + + else + $as_echo "#define PUTENV_CONST /**/" >>confdefs.h + + fi + if test -z "$SKIP_SETRESUID"; then for ac_func in setresuid do : @@ -16577,13 +17350,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 : @@ -16594,7 +17366,6 @@ _ACEOF fi done -fi if test X"$with_interfaces" != X"no"; then for ac_func in getifaddrs do : @@ -16634,52 +17405,6 @@ fi fi -for ac_func in glob -do : - ac_fn_c_check_func "$LINENO" "glob" "ac_cv_func_glob" -if test "x$ac_cv_func_glob" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GLOB 1 -_ACEOF - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLOB_BRACE and GLOB_TILDE in glob.h" >&5 -$as_echo_n "checking for GLOB_BRACE and GLOB_TILDE in glob.h... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int i = GLOB_BRACE | GLOB_TILDE; (void)i; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - $as_echo "#define HAVE_EXTENDED_GLOB 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - case " $LIBOBJS " in - *" glob.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS glob.$ac_objext" - ;; -esac - - { $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_ext -else - case " $LIBOBJS " in - *" glob.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS glob.$ac_objext" - ;; -esac - -fi -done - for ac_func in lockf flock do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` @@ -16809,6 +17534,8 @@ else ;; esac + COMPAT_TEST_PROGS="${COMPAT_TEST_PROGS}${COMPAT_TEST_PROGS+ }fnm_test" + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for isblank" >&5 $as_echo_n "checking for isblank... " >&6; } @@ -16863,6 +17590,32 @@ esac fi +ac_fn_c_check_func "$LINENO" "memset_s" "ac_cv_func_memset_s" +if test "x$ac_cv_func_memset_s" = xyes; then : + $as_echo "#define HAVE_MEMSET_S 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" memset_s.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS memset_s.$ac_objext" + ;; +esac + +fi + +ac_fn_c_check_func "$LINENO" "pw_dup" "ac_cv_func_pw_dup" +if test "x$ac_cv_func_pw_dup" = xyes; then : + $as_echo "#define HAVE_PW_DUP 1" >>confdefs.h + +else + case " $LIBOBJS " in + *" pw_dup.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS pw_dup.$ac_objext" + ;; +esac + +fi + ac_fn_c_check_func "$LINENO" "strlcpy" "ac_cv_func_strlcpy" if test "x$ac_cv_func_strlcpy" = xyes; then : $as_echo "#define HAVE_STRLCPY 1" >>confdefs.h @@ -16889,20 +17642,7 @@ esac fi -ac_fn_c_check_func "$LINENO" "setenv" "ac_cv_func_setenv" -if test "x$ac_cv_func_setenv" = xyes; then : - $as_echo "#define HAVE_SETENV 1" >>confdefs.h -else - case " $LIBOBJS " in - *" setenv.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS setenv.$ac_objext" - ;; -esac - -fi - - for ac_func in nanosleep do : ac_fn_c_check_func "$LINENO" "nanosleep" "ac_cv_func_nanosleep" @@ -16965,6 +17705,57 @@ fi fi done +for ac_func in getopt_long +do : + ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long" +if test "x$ac_cv_func_getopt_long" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETOPT_LONG 1 +_ACEOF + +else + case " $LIBOBJS " in + *" getopt_long.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS getopt_long.$ac_objext" + ;; +esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for optreset" >&5 +$as_echo_n "checking for optreset... " >&6; } + if ${sudo_cv_optreset+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +extern int optreset; optreset = 1; return optreset; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + sudo_cv_optreset=yes +else + sudo_cv_optreset=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi + + if test "$sudo_cv_optreset" = "yes"; then + $as_echo "#define HAVE_OPTRESET 1" >>confdefs.h + + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $sudo_cv_optreset" >&5 +$as_echo "$sudo_cv_optreset" >&6; } + +fi +done + for ac_func in closefrom do : ac_fn_c_check_func "$LINENO" "closefrom" "ac_cv_func_closefrom" @@ -17060,6 +17851,243 @@ fi fi fi +if test X"$with_noexec" != X"no"; then + # Check for underscore versions of standard exec functions + # unless we are using dyld symbole interposition + if test X"$dlyld_interpose" != X"yes"; then + for ac_func in _execl __execl +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + for ac_func in _execle __execle +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + for ac_func in _execlp __execlp +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + for ac_func in _execv __execv +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + for ac_func in _execve __execve +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + for ac_func in _execvp __execvp +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + # Check for non-standard exec functions including underscore versions + for ac_func in exect +do : + ac_fn_c_check_func "$LINENO" "exect" "ac_cv_func_exect" +if test "x$ac_cv_func_exect" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_EXECT 1 +_ACEOF + + if test X"$dlyld_interpose" != X"yes"; then + for ac_func in _exect __exect +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + +fi +done + + for ac_func in execvP +do : + ac_fn_c_check_func "$LINENO" "execvP" "ac_cv_func_execvP" +if test "x$ac_cv_func_execvP" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_EXECVP 1 +_ACEOF + + if test X"$dlyld_interpose" != X"yes"; then + for ac_func in _execvP __execvP +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + +fi +done + + for ac_func in execvpe +do : + ac_fn_c_check_func "$LINENO" "execvpe" "ac_cv_func_execvpe" +if test "x$ac_cv_func_execvpe" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_EXECVPE 1 +_ACEOF + + if test X"$dlyld_interpose" != X"yes"; then + for ac_func in _execvpe __execvpe +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + +fi +done + + for ac_func in fexecve +do : + ac_fn_c_check_func "$LINENO" "fexecve" "ac_cv_func_fexecve" +if test "x$ac_cv_func_fexecve" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_FEXECVE 1 +_ACEOF + + if test X"$dlyld_interpose" != X"yes"; then + for ac_func in _fexecve __fexecve +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + +fi +done + + # Check for posix_spawn, posix_spawnp and any underscore versions + for ac_func in posix_spawn +do : + ac_fn_c_check_func "$LINENO" "posix_spawn" "ac_cv_func_posix_spawn" +if test "x$ac_cv_func_posix_spawn" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_POSIX_SPAWN 1 +_ACEOF + + if test X"$dlyld_interpose" != X"yes"; then + for ac_func in _posix_spawn __posix_spawn +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + +fi +done + + for ac_func in posix_spawnp +do : + ac_fn_c_check_func "$LINENO" "posix_spawnp" "ac_cv_func_posix_spawnp" +if test "x$ac_cv_func_posix_spawnp" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_POSIX_SPAWNP 1 +_ACEOF + + if test X"$dlyld_interpose" != X"yes"; then + for ac_func in _posix_spawnp __posix_spawnp +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" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + fi + +fi +done + +fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -17097,6 +18125,20 @@ rm -f core conftest.err conftest.$ac_objext \ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext +ac_fn_c_check_member "$LINENO" "struct dirent" "d_type" "ac_cv_member_struct_dirent_d_type" " +$ac_includes_default +#include <$ac_header_dirent> + +" +if test "x$ac_cv_member_struct_dirent_d_type" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_DIRENT_D_TYPE 1 +_ACEOF + + +fi + if test -n "$NEED_SNPRINTF"; then case " $LIBOBJS " in *" snprintf.$ac_objext "* ) ;; @@ -17109,94 +18151,30 @@ ac_fn_c_check_func "$LINENO" "socket" "ac_cv_func_sock if test "x$ac_cv_func_socket" = xyes; then : else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 -$as_echo_n "checking for socket in -lsocket... " >&6; } -if ${ac_cv_lib_socket_socket+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* 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 socket (); -int -main () -{ -return socket (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_socket_socket=yes -else - ac_cv_lib_socket_socket=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket" >&5 -$as_echo "$ac_cv_lib_socket_socket" >&6; } -if test "x$ac_cv_lib_socket_socket" = xyes; then : - NET_LIBS="${NET_LIBS} -lsocket"; LIBS="${LIBS} -lsocket" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -linet" >&5 -$as_echo_n "checking for socket in -linet... " >&6; } -if ${ac_cv_lib_inet_socket+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-linet $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + for libs in "-lsocket" "-linet" "-lsocket -lnsl"; do + _libs= + for lib in $libs; do + case "$NET_LIBS" in + *"$lib"*) ;; + *) _libs="$_libs $lib";; + esac + done + libs="${_libs# }" + test -z "$libs" && continue + lib="`echo \"$libs\"|sed -e 's/^-l//' -e 's/ .*$//'`" + extralibs="`echo \"$libs\"|sed 's/^-l[^ ]*//'`" -/* 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 socket (); -int -main () -{ -return socket (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_inet_socket=yes -else - ac_cv_lib_inet_socket=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet_socket" >&5 -$as_echo "$ac_cv_lib_inet_socket" >&6; } -if test "x$ac_cv_lib_inet_socket" = xyes; then : - NET_LIBS="${NET_LIBS} -linet"; LIBS="${LIBS} -linet" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to find socket() trying -lsocket -lnsl" >&5 -$as_echo "$as_me: WARNING: unable to find socket() trying -lsocket -lnsl" >&2;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -lsocket" >&5 -$as_echo_n "checking for socket in -lsocket... " >&6; } -if ${ac_cv_lib_socket_socket_lnsl+:} false; then : + _sudo_check_lib_extras=`echo "$extralibs"|sed -e 's/ *//g' -e 's/-l/_/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for socket in -l$lib${5+ }$extralibs" >&5 +$as_echo_n "checking for socket in -l$lib${5+ }$extralibs... " >&6; } + if { as_var=sudo_cv_lib_$lib''_socket$_sudo_check_lib_extras; eval \${$as_var+:} false; }; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket -lnsl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + SUDO_CHECK_LIB_OLIBS="$LIBS" + LIBS="$LIBS -l$lib${5+ }$extralibs" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -17215,122 +18193,64 @@ return socket (); } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_socket_socket_lnsl=yes + eval sudo_cv_lib_$lib''_socket$_sudo_check_lib_extras=yes else - ac_cv_lib_socket_socket_lnsl=no + eval sudo_cv_lib_$lib''_socket$_sudo_check_lib_extras=no + fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_socket_lnsl" >&5 -$as_echo "$ac_cv_lib_socket_socket_lnsl" >&6; } -if test "x$ac_cv_lib_socket_socket_lnsl" = xyes; then : - NET_LIBS="${NET_LIBS} -lsocket -lnsl"; LIBS="${LIBS} -lsocket -lnsl" -fi + LIBS="$SUDO_CHECK_LIB_OLIBS" fi -fi + if eval test \$sudo_cv_lib_$lib''_socket$_sudo_check_lib_extras = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + NET_LIBS="${NET_LIBS} $libs"; LIBS="${LIBS} $libs"; break + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + + done + fi ac_fn_c_check_func "$LINENO" "inet_addr" "ac_cv_func_inet_addr" if test "x$ac_cv_func_inet_addr" = xyes; then : else - ac_fn_c_check_func "$LINENO" "__inet_addr" "ac_cv_func___inet_addr" + + ac_fn_c_check_func "$LINENO" "__inet_addr" "ac_cv_func___inet_addr" if test "x$ac_cv_func___inet_addr" = xyes; then : else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_addr in -lnsl" >&5 -$as_echo_n "checking for inet_addr in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_inet_addr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* 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 inet_addr (); -int -main () -{ -return inet_addr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_nsl_inet_addr=yes -else - ac_cv_lib_nsl_inet_addr=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_inet_addr" >&5 -$as_echo "$ac_cv_lib_nsl_inet_addr" >&6; } -if test "x$ac_cv_lib_nsl_inet_addr" = xyes; then : - NET_LIBS="${NET_LIBS} -lnsl"; LIBS="${LIBS} -lnsl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_addr in -linet" >&5 -$as_echo_n "checking for inet_addr in -linet... " >&6; } -if ${ac_cv_lib_inet_inet_addr+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-linet $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + for libs in "-lsocket" "-linet" "-lsocket -lnsl"; do + _libs= + for lib in $libs; do + case "$NET_LIBS" in + *"$lib"*) ;; + *) _libs="$_libs $lib";; + esac + done + libs="${_libs# }" + test -z "$libs" && continue + lib="`echo \"$libs\"|sed -e 's/^-l//' -e 's/ .*$//'`" + extralibs="`echo \"$libs\"|sed 's/^-l[^ ]*//'`" -/* 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 inet_addr (); -int -main () -{ -return inet_addr (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_inet_inet_addr=yes -else - ac_cv_lib_inet_inet_addr=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet_inet_addr" >&5 -$as_echo "$ac_cv_lib_inet_inet_addr" >&6; } -if test "x$ac_cv_lib_inet_inet_addr" = xyes; then : - NET_LIBS="${NET_LIBS} -linet"; LIBS="${LIBS} -linet" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unable to find inet_addr() trying -lsocket -lnsl" >&5 -$as_echo "$as_me: WARNING: unable to find inet_addr() trying -lsocket -lnsl" >&2;} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_addr in -lsocket" >&5 -$as_echo_n "checking for inet_addr in -lsocket... " >&6; } -if ${ac_cv_lib_socket_inet_addr_lnsl+:} false; then : + _sudo_check_lib_extras=`echo "$extralibs"|sed -e 's/ *//g' -e 's/-l/_/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inet_addr in -l$lib${5+ }$extralibs" >&5 +$as_echo_n "checking for inet_addr in -l$lib${5+ }$extralibs... " >&6; } + if { as_var=sudo_cv_lib_$lib''_inet_addr$_sudo_check_lib_extras; eval \${$as_var+:} false; }; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket -lnsl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + SUDO_CHECK_LIB_OLIBS="$LIBS" + LIBS="$LIBS -l$lib${5+ }$extralibs" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -17349,40 +18269,62 @@ return inet_addr (); } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_socket_inet_addr_lnsl=yes + eval sudo_cv_lib_$lib''_inet_addr$_sudo_check_lib_extras=yes else - ac_cv_lib_socket_inet_addr_lnsl=no + eval sudo_cv_lib_$lib''_inet_addr$_sudo_check_lib_extras=no + fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_inet_addr_lnsl" >&5 -$as_echo "$ac_cv_lib_socket_inet_addr_lnsl" >&6; } -if test "x$ac_cv_lib_socket_inet_addr_lnsl" = xyes; then : - NET_LIBS="${NET_LIBS} -lsocket -lnsl"; LIBS="${LIBS} -lsocket -lnsl" -fi + LIBS="$SUDO_CHECK_LIB_OLIBS" fi -fi + if eval test \$sudo_cv_lib_$lib''_inet_addr$_sudo_check_lib_extras = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + NET_LIBS="${NET_LIBS} $libs"; LIBS="${LIBS} $libs"; break + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + + done + fi + fi ac_fn_c_check_func "$LINENO" "syslog" "ac_cv_func_syslog" if test "x$ac_cv_func_syslog" = xyes; then : else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslog in -lsocket" >&5 -$as_echo_n "checking for syslog in -lsocket... " >&6; } -if ${ac_cv_lib_socket_syslog+:} false; then : + + for libs in "-lsocket" "-linet" "-lsocket -lnsl"; do + _libs= + for lib in $libs; do + case "$NET_LIBS" in + *"$lib"*) ;; + *) _libs="$_libs $lib";; + esac + done + libs="${_libs# }" + test -z "$libs" && continue + lib="`echo \"$libs\"|sed -e 's/^-l//' -e 's/ .*$//'`" + extralibs="`echo \"$libs\"|sed 's/^-l[^ ]*//'`" + + _sudo_check_lib_extras=`echo "$extralibs"|sed -e 's/ *//g' -e 's/-l/_/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslog in -l$lib${5+ }$extralibs" >&5 +$as_echo_n "checking for syslog in -l$lib${5+ }$extralibs... " >&6; } + if { as_var=sudo_cv_lib_$lib''_syslog$_sudo_check_lib_extras; eval \${$as_var+:} false; }; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsocket $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + SUDO_CHECK_LIB_OLIBS="$LIBS" + LIBS="$LIBS -l$lib${5+ }$extralibs" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -17401,66 +18343,65 @@ return syslog (); } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_socket_syslog=yes + eval sudo_cv_lib_$lib''_syslog$_sudo_check_lib_extras=yes else - ac_cv_lib_socket_syslog=no + eval sudo_cv_lib_$lib''_syslog$_sudo_check_lib_extras=no + fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS + LIBS="$SUDO_CHECK_LIB_OLIBS" + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_syslog" >&5 -$as_echo "$ac_cv_lib_socket_syslog" >&6; } -if test "x$ac_cv_lib_socket_syslog" = xyes; then : - NET_LIBS="${NET_LIBS} -lsocket"; LIBS="${LIBS} -lsocket" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslog in -lnsl" >&5 -$as_echo_n "checking for syslog in -lnsl... " >&6; } -if ${ac_cv_lib_nsl_syslog+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lnsl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* 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 syslog (); -int -main () -{ -return syslog (); - ; - return 0; -} + if eval test \$sudo_cv_lib_$lib''_syslog$_sudo_check_lib_extras = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + NET_LIBS="${NET_LIBS} $libs"; LIBS="${LIBS} $libs"; break + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + fi + + done + +fi + +for ac_func in getaddrinfo +do : + ac_fn_c_check_func "$LINENO" "getaddrinfo" "ac_cv_func_getaddrinfo" +if test "x$ac_cv_func_getaddrinfo" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GETADDRINFO 1 _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_nsl_syslog=yes + else - ac_cv_lib_nsl_syslog=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_syslog" >&5 -$as_echo "$ac_cv_lib_nsl_syslog" >&6; } -if test "x$ac_cv_lib_nsl_syslog" = xyes; then : - NET_LIBS="${NET_LIBS} -lnsl"; LIBS="${LIBS} -lnsl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for syslog in -linet" >&5 -$as_echo_n "checking for syslog in -linet... " >&6; } -if ${ac_cv_lib_inet_syslog+:} false; then : + + found=no + for libs in "-lsocket" "-linet" "-lsocket -lnsl"; do + _libs= + for lib in $libs; do + case "$NET_LIBS" in + *"$lib"*) ;; + *) _libs="$_libs $lib";; + esac + done + libs="${_libs# }" + test -z "$libs" && continue + lib="`echo \"$libs\"|sed -e 's/^-l//' -e 's/ .*$//'`" + extralibs="`echo \"$libs\"|sed 's/^-l[^ ]*//'`" + + _sudo_check_lib_extras=`echo "$extralibs"|sed -e 's/ *//g' -e 's/-l/_/g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getaddrinfo in -l$lib${5+ }$extralibs" >&5 +$as_echo_n "checking for getaddrinfo in -l$lib${5+ }$extralibs... " >&6; } + if { as_var=sudo_cv_lib_$lib''_getaddrinfo$_sudo_check_lib_extras; eval \${$as_var+:} false; }; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-linet $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + SUDO_CHECK_LIB_OLIBS="$LIBS" + LIBS="$LIBS -l$lib${5+ }$extralibs" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. @@ -17469,35 +18410,45 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext #ifdef __cplusplus extern "C" #endif -char syslog (); +char getaddrinfo (); int main () { -return syslog (); +return getaddrinfo (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_inet_syslog=yes + eval sudo_cv_lib_$lib''_getaddrinfo$_sudo_check_lib_extras=yes else - ac_cv_lib_inet_syslog=no + eval sudo_cv_lib_$lib''_getaddrinfo$_sudo_check_lib_extras=no + fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_inet_syslog" >&5 -$as_echo "$ac_cv_lib_inet_syslog" >&6; } -if test "x$ac_cv_lib_inet_syslog" = xyes; then : - NET_LIBS="${NET_LIBS} -linet"; LIBS="${LIBS} -linet" -fi + LIBS="$SUDO_CHECK_LIB_OLIBS" fi -fi + if eval test \$sudo_cv_lib_$lib''_getaddrinfo$_sudo_check_lib_extras = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + NET_LIBS="${NET_LIBS} $libs"; LIBS="${LIBS} $libs"; found=yes; break + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi + + done + if test X"$found" != X"no"; then + $as_echo "#define HAVE_GETADDRINFO 1" >>confdefs.h + + fi + fi +done for ac_func in getprogname do : @@ -17552,7 +18503,75 @@ $as_echo "$sudo_cv___progname" >&6; } fi done +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __func__" >&5 +$as_echo_n "checking for __func__... " >&6; } +if ${sudo_cv___func__+:} false; then : + $as_echo_n "(cached) " >&6 +else +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +(void)puts(__func__); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + sudo_cv___func__=yes +else + sudo_cv___func__=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___func__" >&5 +$as_echo "$sudo_cv___func__" >&6; } +if test "$sudo_cv___func__" = "yes"; then + $as_echo "#define HAVE___FUNC__ 1" >>confdefs.h + +elif test -n "$GCC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __FUNCTION__" >&5 +$as_echo_n "checking for __FUNCTION__... " >&6; } + if ${sudo_cv___FUNCTION__+:} false; then : + $as_echo_n "(cached) " >&6 +else + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +(void)puts(__FUNCTION__); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + sudo_cv___FUNCTION__=yes +else + sudo_cv___FUNCTION__=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___FUNCTION__" >&5 +$as_echo "$sudo_cv___FUNCTION__" >&6; } + if test "$sudo_cv___FUNCTION__" = "yes"; then + $as_echo "#define HAVE___FUNC__ 1" >>confdefs.h + + +$as_echo "#define __func__ __FUNCTION__" >>confdefs.h + + fi +fi + # gettext() and friends may be located in libc (Linux and Solaris) # or in libintl. However, it is possible to have libintl installed # even when gettext() is present in libc. In the case of GNU libintl, @@ -17561,22 +18580,31 @@ done # 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 @@ -17625,7 +18653,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" @@ -17633,6 +18674,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 @@ -17717,29 +18762,38 @@ fi *) $as_echo "#define HAVE_ZLIB_H 1" >>confdefs.h - CPPFLAGS="${CPPFLAGS} -I${enable_zlib}/include" - 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 if test X"$enable_zlib" = X"builtin"; then $as_echo "#define HAVE_ZLIB_H 1" >>confdefs.h - CPPFLAGS="${CPPFLAGS}"' -I$(top_srcdir)/zlib' + CPPFLAGS='-I$(top_builddir)/zlib -I$(top_srcdir)/zlib '"${CPPFLAGS}" ZLIB="${ZLIB}"' $(top_builddir)/zlib/libz.la' ZLIB_SRC=zlib ac_config_headers="$ac_config_headers zlib/zconf.h" @@ -17764,6 +18818,22 @@ cat >>confdefs.h <<_ACEOF _ACEOF +ac_fn_c_check_decl "$LINENO" "h_errno" "ac_cv_have_decl_h_errno" " +$ac_includes_default +#include + +" +if test "x$ac_cv_have_decl_h_errno" = xyes; then : + ac_have_decl=1 +else + ac_have_decl=0 +fi + +cat >>confdefs.h <<_ACEOF +#define HAVE_DECL_H_ERRNO $ac_have_decl +_ACEOF + + for ac_func in strsignal do : ac_fn_c_check_func "$LINENO" "strsignal" "ac_cv_func_strsignal" @@ -17855,6 +18925,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_n "checking for pam_start in -lpam... " >&6; } +if eval \${$as_ac_Lib+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lpam $lt_cv_dlopen_libs $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ - for ac_header in security/pam_appl.h pam/pam_appl.h +/* 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 pam_start (); +int +main () +{ +return pam_start (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + eval "$as_ac_Lib=yes" +else + eval "$as_ac_Lib=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +eval ac_res=\$$as_ac_Lib + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : + found_pam_lib=yes +fi + + # + # Some PAM implementations (MacOS X for example) put the PAM headers + # in /usr/include/pam instead of /usr/include/security... + # + found_pam_hdrs=no + for ac_header in security/pam_appl.h pam/pam_appl.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" @@ -17893,12 +19156,49 @@ 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 - with_pam=yes; break + found_pam_hdrs=yes; break fi done + if test "$found_pam_lib" = "yes" -a "$found_pam_hdrs" = "yes"; then + # Found both PAM libs and headers + with_pam=yes + elif test "$with_pam" = "yes"; then + if test "$found_pam_lib" = "no"; then + as_fn_error $? "\"--with-pam specified but unable to locate PAM development library.\"" "$LINENO" 5 + fi + if test "$found_pam_hdrs" = "no"; then + as_fn_error $? "\"--with-pam specified but unable to locate PAM development headers.\"" "$LINENO" 5 + fi + elif test "$found_pam_lib" != "$found_pam_hdrs"; then + if test "$found_pam_lib" = "no"; then + as_fn_error $? "\"found PAM headers but no PAM development library; specify --without-pam to build without PAM\"" "$LINENO" 5 + fi + if test "$found_pam_hdrs" = "no"; then + as_fn_error $? "\"found PAM library but no PAM development headers; specify --without-pam to build without PAM\"" "$LINENO" 5 + fi + fi + if test "$with_pam" = "yes"; then + # Older PAM implementations lack pam_getenvlist + OLIBS="$LIBS" + LIBS="$LIBS -lpam $lt_cv_dlopen_libs" + for ac_func in pam_getenvlist +do : + ac_fn_c_check_func "$LINENO" "pam_getenvlist" "ac_cv_func_pam_getenvlist" +if test "x$ac_cv_func_pam_getenvlist" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_PAM_GETENVLIST 1 +_ACEOF + +fi +done + + LIBS="$OLIBS" + + # We already link with -ldl if needed (see LIBDL below) + SUDOERS_LIBS="${SUDOERS_LIBS} -lpam" $as_echo "#define HAVE_PAM 1" >>confdefs.h AUTH_OBJS="$AUTH_OBJS pam.lo"; @@ -17914,6 +19214,7 @@ if test "${with_pam_login+set}" = set; then : $as_echo_n "checking whether to use PAM login... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } + pam_login_service="sudo-i" ;; no) ;; *) as_fn_error $? "\"--with-pam-login does not take an argument.\"" "$LINENO" 5 @@ -17930,16 +19231,17 @@ if test "${enable_pam_session+set}" = set; then : yes) { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&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 @@ -17967,7 +19269,7 @@ if test "x$ac_cv_header_bsd_auth_h" = xyes; then : $as_echo "#define HAVE_BSD_AUTH_H 1" >>confdefs.h AUTH_OBJS="$AUTH_OBJS bsdauth.lo" - BSDAUTH_USAGE='[-a auth_type] ' + BSDAUTH_USAGE='[-a type] ' AUTH_EXCL=BSD_AUTH; BAMAN=1 else as_fn_error $? "BSD authentication was specified but bsd_auth.h could not be found" "$LINENO" 5 @@ -17999,21 +19301,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" @@ -18028,98 +19339,36 @@ if test ${with_SecurID-'no'} != "no"; then else with_SecurID=/usr/ace fi - CPPFLAGS="${CPPFLAGS} -I${with_SecurID}" - _LDFLAGS="${LDFLAGS}" - 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 - # - # Determine whether to use the new or old SecurID API - # - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SD_Init in -laceclnt" >&5 -$as_echo_n "checking for SD_Init in -laceclnt... " >&6; } -if ${ac_cv_lib_aceclnt_SD_Init_______lpthread_______+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-laceclnt - -lpthread - $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + 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 -/* 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 SD_Init (); -int -main () -{ -return SD_Init (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_aceclnt_SD_Init_______lpthread_______=yes -else - ac_cv_lib_aceclnt_SD_Init_______lpthread_______=no + SUDOERS_LIBS="${SUDOERS_LIBS} -laceclnt -lpthread" + AUTH_OBJS="$AUTH_OBJS securid5.lo"; fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_aceclnt_SD_Init_______lpthread_______" >&5 -$as_echo "$ac_cv_lib_aceclnt_SD_Init_______lpthread_______" >&6; } -if test "x$ac_cv_lib_aceclnt_SD_Init_______lpthread_______" = xyes; then : - AUTH_OBJS="$AUTH_OBJS securid5.lo"; - SUDOERS_LIBS="${SUDOERS_LIBS} -laceclnt -lpthread" - - - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_SecurID} -Wl,+b,${with_SecurID}" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_SecurID} -Wl,-R${with_SecurID}" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_SecurID}" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_SecurID}" - fi - - -else - - AUTH_OBJS="$AUTH_OBJS securid.lo"; - SUDOERS_LIBS="${SUDOERS_LIBS} ${with_SecurID}/sdiclient.a" - -fi - - LDFLAGS="${_LDFLAGS}" -fi - - if test -z "${AUTH_EXCL}" -a -n "$AUTH_DEF"; then for auth in $AUTH_DEF; do case $auth in @@ -18128,309 +19377,6 @@ if test -z "${AUTH_EXCL}" -a -n "$AUTH_DEF"; then done fi -if test ${with_kerb4-'no'} != "no"; then - $as_echo "#define HAVE_KERB4 1" >>confdefs.h - - O_LDFLAGS="$LDFLAGS" - if test "$with_kerb4" = "yes"; then - found=no - O_CPPFLAGS="$CPPFLAGS" - for dir in "" "kerberosIV/" "krb4/" "kerberos4/" "kerberosv4/"; do - CPPFLAGS="$O_CPPFLAGS -I/usr/include/${dir}" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - found=yes; break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - done - test X"$found" = X"no" && CPPFLAGS="$O_CPPFLAGS" - else - - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) LDFLAGS="${LDFLAGS} -L${with_kerb4}/lib -Wl,+b,${with_kerb4}/lib" - ;; - *) LDFLAGS="${LDFLAGS} -L${with_kerb4}/lib -Wl,-R${with_kerb4}/lib" - ;; - esac - else - LDFLAGS="${LDFLAGS} -L${with_kerb4}/lib" - fi - if test X"$blibpath" != X"" -a "LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_kerb4}/lib" - fi - - - if test X"$with_rpath" = X"yes"; then - case "$host" in - *-*-hpux*) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb4}/lib -Wl,+b,${with_kerb4}/lib" - ;; - *) SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb4}/lib -Wl,-R${with_kerb4}/lib" - ;; - esac - else - SUDOERS_LDFLAGS="${SUDOERS_LDFLAGS} -L${with_kerb4}/lib" - fi - if test X"$blibpath" != X"" -a "SUDOERS_LDFLAGS" = "SUDO_LDFLAGS"; then - blibpath_add="${blibpath_add}:${with_kerb4}/lib" - fi - - CPPFLAGS="$CPPFLAGS -I${with_kerb4}/include" - ac_fn_c_check_header_mongrel "$LINENO" "krb.h" "ac_cv_header_krb_h" "$ac_includes_default" -if test "x$ac_cv_header_krb_h" = xyes; then : - found=yes -else - found=no -fi - - - fi - if test X"$found" = X"no"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to locate Kerberos IV include files, you will have to edit the Makefile and add -I/path/to/krb/includes to CPPFLAGS" >&5 -$as_echo "$as_me: WARNING: Unable to locate Kerberos IV include files, you will have to edit the Makefile and add -I/path/to/krb/includes to CPPFLAGS" >&2;} - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5 -$as_echo_n "checking for des_cbc_encrypt in -ldes... " >&6; } -if ${ac_cv_lib_des_des_cbc_encrypt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldes $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* 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 des_cbc_encrypt (); -int -main () -{ -return des_cbc_encrypt (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_des_des_cbc_encrypt=yes -else - ac_cv_lib_des_des_cbc_encrypt=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_cbc_encrypt" >&5 -$as_echo "$ac_cv_lib_des_des_cbc_encrypt" >&6; } -if test "x$ac_cv_lib_des_des_cbc_encrypt" = xyes; then : - K4LIBS="-ldes" -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes425" >&5 -$as_echo_n "checking for des_cbc_encrypt in -ldes425... " >&6; } -if ${ac_cv_lib_des425_des_cbc_encrypt+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldes425 $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* 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 des_cbc_encrypt (); -int -main () -{ -return des_cbc_encrypt (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_des425_des_cbc_encrypt=yes -else - ac_cv_lib_des425_des_cbc_encrypt=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des425_des_cbc_encrypt" >&5 -$as_echo "$ac_cv_lib_des425_des_cbc_encrypt" >&6; } -if test "x$ac_cv_lib_des425_des_cbc_encrypt" = xyes; then : - K4LIBS="-ldes425" -else - K4LIBS="" -fi - - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using KTH Kerberos IV" >&5 -$as_echo_n "checking whether we are using KTH Kerberos IV... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -const char *tmp = krb4_version; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - K4LIBS="${K4LIBS} -lcom_err" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lroken" >&5 -$as_echo_n "checking for main in -lroken... " >&6; } -if ${ac_cv_lib_roken_main+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lroken $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_roken_main=yes -else - ac_cv_lib_roken_main=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_roken_main" >&5 -$as_echo "$ac_cv_lib_roken_main" >&6; } -if test "x$ac_cv_lib_roken_main" = xyes; then : - K4LIBS="${K4LIBS} -lroken" -fi - - -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_ext - as_ac_Lib=`$as_echo "ac_cv_lib_krb_main$K4LIBS" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkrb" >&5 -$as_echo_n "checking for main in -lkrb... " >&6; } -if eval \${$as_ac_Lib+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkrb $K4LIBS $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$as_ac_Lib=yes" -else - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : - K4LIBS="-lkrb $K4LIBS" -else - - as_ac_Lib=`$as_echo "ac_cv_lib_krb4_main$K4LIBS" | $as_tr_sh` -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for main in -lkrb4" >&5 -$as_echo_n "checking for main in -lkrb4... " >&6; } -if eval \${$as_ac_Lib+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lkrb4 $K4LIBS $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - -int -main () -{ -return main (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$as_ac_Lib=yes" -else - eval "$as_ac_Lib=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -eval ac_res=\$$as_ac_Lib - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : - K4LIBS="-lkrb4 $K4LIBS" -else - K4LIBS="-lkrb $K4LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to locate Kerberos IV libraries, you will have to edit the Makefile and add -L/path/to/krb/libs to SUDOERS_LDFLAGS and possibly add Kerberos libs to SUDOERS_LIBS" >&5 -$as_echo "$as_me: WARNING: Unable to locate Kerberos IV libraries, you will have to edit the Makefile and add -L/path/to/krb/libs to SUDOERS_LDFLAGS and possibly add Kerberos libs to SUDOERS_LIBS" >&2;} - -fi - - -fi - - LDFLAGS="$O_LDFLAGS" - SUDOERS_LIBS="${SUDOERS_LIBS} $K4LIBS" - AUTH_OBJS="$AUTH_OBJS kerb4.lo" -fi - if test ${with_kerb5-'no'} != "no"; then # Extract the first word of "krb5-config", so it can be a program name with args. set dummy krb5-config; ac_word=$2 @@ -18535,21 +19481,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 @@ -18713,8 +19668,31 @@ done fi LIBS="$_LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use an instance name for Kerberos V" >&5 +$as_echo_n "checking whether to use an instance name for Kerberos V... " >&6; } + # Check whether --enable-kerb5-instance was given. +if test "${enable_kerb5_instance+set}" = set; then : + enableval=$enable_kerb5_instance; case "$enableval" in + yes) as_fn_error $? "\"must give --enable-kerb5-instance an argument.\"" "$LINENO" 5 + ;; + no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + ;; + *) cat >>confdefs.h <&5 +$as_echo "$enableval" >&6; } + ;; + esac +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi +fi + if test ${with_AFS-'no'} = "yes"; then # looks like the "standard" place for AFS libs is /usr/afsws/lib @@ -18722,19 +19700,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 @@ -18762,7 +19737,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 @@ -18784,36 +19771,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 " @@ -18840,36 +19822,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 @@ -18994,36 +19959,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. */ @@ -19066,36 +20026,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 @@ -19388,106 +20331,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; } @@ -19585,7 +20566,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 : @@ -19596,8 +20578,8 @@ _ACEOF fi done -else - break + break + fi done @@ -19616,7 +20598,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" @@ -19803,7 +20785,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 # @@ -19814,13 +20796,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 "* ) ;; @@ -19855,13 +20837,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 : @@ -19896,17 +20878,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; } @@ -20004,6 +20979,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" @@ -20033,6 +21771,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" @@ -20042,9 +21786,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 @@ -20057,31 +21803,64 @@ if test X"$with_noexec" != X"no" -o X"$with_selinux" ! PROGS="${PROGS} libsudo_noexec.la" INSTALL_NOEXEC="install-noexec" - eval noexec_file="$with_noexec" + noexec_file="$with_noexec" + _noexec_file= + while test X"$noexec_file" != X"$_noexec_file"; do + _noexec_file="$noexec_file" + eval noexec_file="$_noexec_file" + done cat >>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <>confdefs.h <confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -20615,7 +22396,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.3p2, which was +This file was extended by sudo $as_me 1.8.8, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20681,7 +22462,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.3p2 +sudo config.status 1.8.8 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" @@ -20815,6 +22596,7 @@ pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quo enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' +PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' @@ -20897,7 +22679,6 @@ with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_sing allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' @@ -20953,6 +22734,7 @@ _LTECHO_EOF' # Quote evaled strings. for var in SHELL \ ECHO \ +PATH_SEPARATOR \ SED \ GREP \ EGREP \ @@ -21003,7 +22785,6 @@ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ -hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ @@ -21097,7 +22878,8 @@ 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" ;; @@ -21671,8 +23453,8 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010 Free Software Foundation, -# Inc. +# 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. @@ -21726,6 +23508,9 @@ SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO +# The PATH separator for the build system. +PATH_SEPARATOR=$lt_PATH_SEPARATOR + # The host system. host_alias=$host_alias host=$host @@ -22027,10 +23812,6 @@ no_undefined_flag=$lt_no_undefined_flag # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec -# If ld is used when linking, flag to hardcode \$libdir into a binary -# during linking. This must work even if \$libdir does not exist. -hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld - # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator @@ -22321,13 +24102,33 @@ fi if test "$with_pam" = "yes"; then - case $host in - *-*-linux*) + 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;} + { $as_echo "$as_me:${as_lineno-$LINENO}: sudo session required libpam_hpsec.so.1 bypass_umask bypass_last_login" >&5 +$as_echo "$as_me: sudo session required libpam_hpsec.so.1 bypass_umask bypass_last_login" >&6;} + fi + ;; + 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 + + + + + + + + + + + +