fix from Peter Samuelson for use-after-free bug parsing wildcards in sudoers
[debian/sudo] / configure.in
index d33c9cd85730b5215baa9691cbaf0832a42de4e7..109fc9a721f750e3893fd5b7734d555bde58da18 100644 (file)
@@ -1,6 +1,6 @@
 dnl
 dnl Process this file with GNU autoconf to produce a configure script.
-dnl $Sudo: configure.in,v 1.413.2.47 2008/02/19 18:27:32 millert Exp $
+dnl $Sudo: configure.in,v 1.413.2.53 2008/06/22 20:23:56 millert Exp $
 dnl
 dnl Copyright (c) 1994-1996,1998-2007 Todd C. Miller <Todd.Miller@courtesan.com>
 dnl
@@ -40,6 +40,7 @@ AC_SUBST(SEMAN)
 AC_SUBST(mansectsu)
 AC_SUBST(mansectform)
 AC_SUBST(mansrcdir)
+AC_SUBST(NOEXECFILE)
 AC_SUBST(NOEXECDIR)
 AC_SUBST(noexec_file)
 AC_SUBST(INSTALL_NOEXEC)
@@ -1186,6 +1187,7 @@ AC_ARG_WITH(noexec, [  --with-noexec[=PATH]      fully qualified pathname of sud
     *)         ;;
 esac], [with_noexec="$libexecdir/sudo_noexec$_shrext"])
 AC_MSG_RESULT($with_noexec)
+NOEXECFILE="sudo_noexec$_shrext"
 NOEXECDIR="`echo $with_noexec|sed 's:^\(.*\)/[[^/]]*:\1:'`"
 
 dnl
@@ -1707,7 +1709,7 @@ dnl
 AC_FUNC_GETGROUPS
 AC_CHECK_FUNCS(strchr strrchr memchr memcpy memset sysconf tzset \
               strftime setrlimit initgroups getgroups fstat gettimeofday \
-              setlocale getaddrinfo)
+              setlocale getaddrinfo setsid)
 if test -z "$SKIP_SETRESUID"; then
     AC_CHECK_FUNCS(setresuid, [SKIP_SETREUID=yes])
 fi
@@ -1865,8 +1867,13 @@ if test ${with_pam-"no"} != "no"; then
            esac], AC_MSG_RESULT(yes))
        case $host in
            *-*-linux*|*-*-solaris*)
-                   AC_CHECK_FUNCS(dgettext, [],
-                       [AC_CHECK_LIB(intl, dgettext, [LIBS="${LIBS} -lintl"]
+                   # dgettext() may be defined to dgettext_libintl in the
+                   # header file, so first check that it links w/ additional
+                   # libs, then try with -lintl
+                   AC_LINK_IFELSE([AC_LANG_PROGRAM(
+                   [[#include <libintl.h>]], [(void)dgettext((char *)0, (char *)0);])],
+                   [AC_DEFINE(HAVE_DGETTEXT)],
+                   [AC_CHECK_LIB(intl, dgettext, [LIBS="${LIBS} -lintl"]
                        [AC_DEFINE(HAVE_DGETTEXT)])])
                    ;;
        esac
@@ -2321,7 +2328,7 @@ if test ${with_ldap-'no'} != "no"; then
     AC_CHECK_FUNCS(ldap_initialize ldap_start_tls_s ldapssl_init ldapssl_set_strength)
     AC_CHECK_HEADERS([ldap_ssl.h] [mps/ldap_ssl.h], [break], [], [#include <ldap.h>])
 
-    SUDO_LIBS="${SUDO_LIBS}${LDAP_LIBS}"
+    SUDO_LIBS="${SUDO_LIBS} ${LDAP_LIBS}"
     LIBS="$_LIBS"
     LDFLAGS="$_LDFLAGS"
     # XXX - OpenLDAP has deprecated ldap_get_values()