]> andersk Git - openssh.git/blobdiff - configure.in
- (djm) Added WARNING.RNG file and modified configure to ask users of the
[openssh.git] / configure.in
index 774529d308c8cb433049a6ef5f7a68b0c3b4cb96..90e75bef4482e06a80e60f620b81b8020d129d6f 100644 (file)
@@ -13,6 +13,7 @@ AC_PATH_PROG(PERL, perl)
 AC_SUBST(PERL)
 AC_PATH_PROG(ENT, ent)
 AC_SUBST(ENT)
+AC_PATH_PROGS(FILEPRIV, filepriv, true, /sbin:/usr/sbin)
 
 # Use LOGIN_PROGRAM from environment if possible
 if test ! -z "$LOGIN_PROGRAM" ; then
@@ -36,6 +37,8 @@ if test "$GCC" = "yes"; then
        CFLAGS="$CFLAGS -Wall"
 fi
 
+CFLAGS="$CFLAGS -I. -I${srcdir-.}"
+
 # Check for some target-specific stuff
 case "$host" in
 *-*-aix*)
@@ -55,7 +58,7 @@ case "$host" in
        mansubdir=cat
        ;;
 *-*-cygwin*)
-       LIBS="$LIBS /usr/lib/textmode.o"
+       LIBS="$LIBS -lregex /usr/lib/textmode.o"
        AC_DEFINE(HAVE_CYGWIN)
        AC_DEFINE(DISABLE_PAM)
        AC_DEFINE(DISABLE_SHADOW)
@@ -75,6 +78,7 @@ case "$host" in
        AC_DEFINE(USE_PIPES)
        AC_DEFINE(DISABLE_SHADOW)
        AC_DEFINE(DISABLE_UTMP)
+       AC_DEFINE(SPT_TYPE,SPT_PSTAT)
        LIBS="$LIBS -lsec"
        MANTYPE='$(CATMAN)'
        mansubdir=cat
@@ -85,6 +89,7 @@ case "$host" in
        AC_DEFINE(USE_PIPES)
        AC_DEFINE(DISABLE_SHADOW)
        AC_DEFINE(DISABLE_UTMP)
+       AC_DEFINE(SPT_TYPE,SPT_PSTAT)
        LIBS="$LIBS -lsec"
        MANTYPE='$(CATMAN)'
        mansubdir=cat
@@ -92,6 +97,7 @@ case "$host" in
 *-*-irix5*)
        CFLAGS="$CFLAGS -I/usr/local/include"
        LDFLAGS="$LDFLAGS"
+       PATH="$PATH:/usr/etc"
        MANTYPE='$(CATMAN)'
        no_libsocket=1
        no_libnsl=1
@@ -100,6 +106,7 @@ case "$host" in
 *-*-irix6*)
        CFLAGS="$CFLAGS -I/usr/local/include"
        LDFLAGS="$LDFLAGS"
+       PATH="$PATH:/usr/etc"
        MANTYPE='$(CATMAN)'
        AC_DEFINE(WITH_IRIX_ARRAY)
        AC_DEFINE(WITH_IRIX_PROJECT)
@@ -114,6 +121,13 @@ case "$host" in
        AC_DEFINE(PAM_TTY_KLUDGE)
        inet6_default_4in6=yes
        ;;
+mips-sony-bsd|mips-sony-newsos4)
+       AC_DEFINE(HAVE_NEWS4)
+       SONY=1
+       AC_CHECK_LIB(iberty, xatexit, AC_DEFINE(HAVE_XATEXIT),
+               AC_MSG_ERROR([*** libiberty missing - please install first ***])
+        )
+       ;;
 *-*-netbsd*)
        need_dash_r=1
        ;;
@@ -123,6 +137,7 @@ case "$host" in
        conf_wtmp_location=/usr/adm/wtmp
        MAIL=/usr/spool/mail
        AC_DEFINE(HAVE_NEXT)
+       AC_DEFINE(BROKEN_REALPATH)
        CFLAGS="$CFLAGS -I/usr/local/include"
        ;;
 *-*-solaris*)
@@ -159,6 +174,22 @@ case "$host" in
        mansubdir=cat
        LIBS="$LIBS -lgen -lnsl -lucb"
        ;;
+*-*-sysv4.2*)
+       CFLAGS="$CFLAGS -I/usr/local/include"
+       LDFLAGS="$LDFLAGS -L/usr/local/lib"
+       MANTYPE='$(CATMAN)'
+       mansubdir=cat
+       LIBS="$LIBS -lgen -lsocket -lnsl -lresolv"
+       enable_suid_ssh=no
+       ;;
+*-*-sysv5*)
+       CFLAGS="$CFLAGS -I/usr/local/include"
+       LDFLAGS="$LDFLAGS -L/usr/local/lib"
+       MANTYPE='$(CATMAN)'
+       mansubdir=cat
+       LIBS="$LIBS -lgen -lsocket"
+       enable_suid_ssh=no
+       ;;
 *-*-sysv*)
        CFLAGS="$CFLAGS -I/usr/local/include"
        LDFLAGS="$LDFLAGS -L/usr/local/lib"
@@ -166,14 +197,28 @@ case "$host" in
        mansubdir=cat
        LIBS="$LIBS -lgen -lsocket"
        ;;
-*-*-sco3*)
+*-*-sco3.2v4*)
        AC_DEFINE(USE_PIPES)
+       CFLAGS="$CFLAGS -Dftruncate=chsize -I/usr/local/include"
+       LDFLAGS="$LDFLAGS -L/usr/local/lib"
+       MANTYPE='$(CATMAN)'
+       mansubdir=cat
+       LIBS="$LIBS -lgen -lsocket -los -lprot -lx"
+       no_dev_ptmx=1
+       RANLIB=true
+       AC_DEFINE(BROKEN_SYS_TERMIO_H)
+       rsh_path="/usr/bin/rcmd"
+       AC_DEFINE(HAVE_SCO_PROTECTED_PW)
+       ;;
+*-*-sco3.2v5*)
        CFLAGS="$CFLAGS -I/usr/local/include"
        LDFLAGS="$LDFLAGS -L/usr/local/lib"
        MANTYPE='$(CATMAN)'
        mansubdir=cat
-       LIBS="$LIBS -lgen -lsocket"
+       LIBS="$LIBS -lgen -lsocket -lprot -lx"
        no_dev_ptmx=1
+       rsh_path="/usr/bin/rcmd"
+       AC_DEFINE(HAVE_SCO_PROTECTED_PW)
        ;;
 *-dec-osf*)
 # This is untested
@@ -222,6 +267,14 @@ AC_ARG_WITH(libs,
 AC_CHECK_LIB(z, deflate, ,AC_MSG_ERROR([*** zlib missing - please install first ***]))
 AC_CHECK_LIB(util, login, AC_DEFINE(HAVE_LIBUTIL_LOGIN) LIBS="$LIBS -lutil")
 
+AC_CHECK_FUNC(regcomp, 
+       [],
+       [
+               AC_CHECK_LIB(pcre, pcre_info, 
+                       AC_DEFINE(HAVE_LIBPCRE) LIBS="$LIBS -lpcreposix -lpcre")
+       ]
+)
+
 if test -z "$no_libsocket" ; then
        AC_CHECK_LIB(nsl, yp_match, , )
 fi
@@ -230,10 +283,10 @@ if test -z "$no_libnsl" ; then
 fi
 
 # Checks for header files.
-AC_CHECK_HEADERS(bstring.h endian.h floatingpoint.h lastlog.h limits.h login.h login_cap.h maillock.h netdb.h netgroup.h netinet/in_systm.h paths.h poll.h pty.h shadow.h security/pam_appl.h sys/bitypes.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/select.h sys/stat.h sys/stropts.h sys/sysmacros.h sys/time.h sys/ttcompat.h stddef.h time.h ttyent.h usersec.h util.h utmp.h utmpx.h)
+AC_CHECK_HEADERS(bstring.h endian.h floatingpoint.h getopt.h lastlog.h limits.h login.h login_cap.h maillock.h netdb.h netgroup.h netinet/in_systm.h paths.h poll.h pty.h shadow.h security/pam_appl.h sys/bitypes.h sys/bsdtty.h sys/cdefs.h sys/poll.h sys/select.h sys/stat.h sys/stropts.h sys/sysmacros.h sys/time.h sys/ttcompat.h sys/un.h stddef.h time.h ttyent.h usersec.h util.h utmp.h utmpx.h vis.h)
 
 dnl    Checks for library functions.
-AC_CHECK_FUNCS(arc4random atexit b64_ntop bcopy bindresvport_af clock freeaddrinfo futimes gai_strerror getaddrinfo getnameinfo getrusage getttyent inet_aton inet_ntoa innetgr login_getcapbool md5_crypt memmove mkdtemp on_exit openpty rresvport_af setenv seteuid setlogin setproctitle setreuid sigaction sigvec snprintf strerror strlcat strlcpy strsep vsnprintf vhangup _getpty __b64_ntop)
+AC_CHECK_FUNCS(arc4random atexit b64_ntop bcopy bindresvport_af clock fchmod freeaddrinfo futimes gai_strerror getcwd getaddrinfo getnameinfo getrusage getttyent inet_aton inet_ntoa innetgr login_getcapbool md5_crypt memmove mkdtemp on_exit openpty realpath rresvport_af setenv seteuid setlogin setproctitle setreuid setrlimit sigaction sigvec snprintf strerror strlcat strlcpy strsep strtok_r vsnprintf vhangup vis _getpty __b64_ntop)
 dnl    Checks for time functions
 AC_CHECK_FUNCS(gettimeofday time)
 dnl    Checks for libutil functions
@@ -453,6 +506,11 @@ else
        fi
 fi
 
+# Cheap hack to ensure NEWS-OS libraries are arranged right.
+if test ! -z "$SONY" ; then
+  LIBS="$LIBS -liberty";
+fi
+
 # Checks for data types
 AC_CHECK_SIZEOF(char, 1)
 AC_CHECK_SIZEOF(short int, 2)
@@ -487,6 +545,19 @@ if test "x$ac_cv_have_intxx_t" = "xyes" ; then
        have_intxx_t=1
 fi
        
+AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [
+       AC_TRY_COMPILE(
+               [ #include <sys/types.h> ], 
+               [ int64_t a; a = 1;], 
+               [ ac_cv_have_int64_t="yes" ],
+               [ ac_cv_have_int64_t="no" ]
+       )
+])
+if test "x$ac_cv_have_int64_t" = "xyes" ; then
+       AC_DEFINE(HAVE_INT64_T)
+       have_int64_t=1
+fi
+       
 AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [
        AC_TRY_COMPILE(
                [ #include <sys/types.h> ], 
@@ -500,6 +571,19 @@ if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
        have_u_intxx_t=1
 fi
 
+AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t, [
+       AC_TRY_COMPILE(
+               [ #include <sys/types.h> ], 
+               [ u_int64_t a; a = 1;], 
+               [ ac_cv_have_u_int64_t="yes" ],
+               [ ac_cv_have_u_int64_t="no" ]
+       )
+])
+if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
+       AC_DEFINE(HAVE_U_INT64_T)
+       have_u_int64_t=1
+fi
+
 if (test -z "$have_u_intxx_t" || test -z "$have_intxx_t" && \
            test "x$ac_cv_header_sys_bitypes_h" = "xyes")
 then
@@ -589,7 +673,17 @@ AC_CACHE_CHECK([for sa_family_t], ac_cv_have_sa_family_t, [
                ],
                [ sa_family_t foo; foo = 1235; ],
                [ ac_cv_have_sa_family_t="yes" ],
+               [ AC_TRY_COMPILE(
+                 [
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+               ],
+               [ sa_family_t foo; foo = 1235; ],
+               [ ac_cv_have_sa_family_t="yes" ],
+
                [ ac_cv_have_sa_family_t="no" ]
+       )]
        )
 ])
 if test "x$ac_cv_have_sa_family_t" = "xyes" ; then
@@ -686,9 +780,7 @@ if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then
        AC_DEFINE(HAVE_STRUCT_ADDRINFO)
 fi
 
-
-# Checks for structure members
-
+dnl Checks for structure members
 OSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmp.h, HAVE_HOST_IN_UTMP)
 OSSH_CHECK_HEADER_FOR_FIELD(ut_host, utmpx.h, HAVE_HOST_IN_UTMPX)
 OSSH_CHECK_HEADER_FOR_FIELD(syslen, utmpx.h, HAVE_SYSLEN_IN_UTMPX)
@@ -706,6 +798,7 @@ OSSH_CHECK_HEADER_FOR_FIELD(ut_exit, utmp.h, HAVE_EXIT_IN_UTMP)
 OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmp.h, HAVE_TIME_IN_UTMP)
 OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmpx.h, HAVE_TIME_IN_UTMPX)
 OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmpx.h, HAVE_TV_IN_UTMPX)
+AC_STRUCT_ST_BLKSIZE
 
 AC_CACHE_CHECK([for sun_len field in struct sockaddr_un],
                ac_cv_have_sun_len_in_struct_sockaddr_un, [
@@ -759,10 +852,9 @@ AC_CACHE_CHECK([for pw_class field in struct passwd],
                ac_cv_have_pw_class_in_struct_passwd, [
        AC_TRY_COMPILE(
                [
-#include <sys/types.h>
 #include <pwd.h>
                ],
-               [ struct passwd p s; p.pw_class = NULL; ],
+               [ struct passwd p; p.pw_class = 0; ],
                [ ac_cv_have_pw_class_in_struct_passwd="yes" ],
                [ ac_cv_have_pw_class_in_struct_passwd="no" ]
        )
@@ -829,7 +921,7 @@ AC_ARG_WITH(xauth,
                fi
        ],
        [
-               AC_PATH_PROG(xauth_path, xauth)
+               AC_PATH_PROG(xauth_path, xauth,,$PATH:/usr/X/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/openwin/bin)
                if (test ! -z "$xauth_path" && test -x "/usr/openwin/bin/xauth") ; then
                        xauth_path="/usr/openwin/bin/xauth"
                fi
@@ -1157,6 +1249,25 @@ AC_ARG_WITH(4in6,
        ]
 )
 
+AC_MSG_CHECKING(whether to install ssh as suid root)
+AC_ARG_ENABLE(suid-ssh,
+[  --enable-suid-ssh       Install ssh as suid root (default)
+  --disable-suid-ssh      Install ssh without suid bit],
+[ case "$enableval" in
+  no)
+       AC_MSG_RESULT(no)
+       SSHMODE=0711
+       ;;
+  *)   AC_MSG_RESULT(yes)
+       SSHMODE=04711
+       ;;
+  esac ],
+  AC_MSG_RESULT(yes)
+  SSHMODE=04711
+)
+AC_SUBST(SSHMODE)
+
+
 # Where to place sshd.pid
 piddir=/var/run
 AC_ARG_WITH(pid-dir,
@@ -1168,6 +1279,14 @@ AC_ARG_WITH(pid-dir,
        ]
 )
 
+# make sure the directory exists
+if test ! -d $piddir ; then    
+       piddir=`eval echo ${sysconfdir}`
+       case $piddir in
+               NONE/*) piddir=`echo $piddir | sed "s~NONE~$ac_default_prefix~"` ;;
+       esac
+fi
+
 AC_DEFINE_UNQUOTED(PIDDIR, "$piddir")
 AC_SUBST(piddir)
 
@@ -1418,6 +1537,7 @@ else
                RAND_MSG="EGD ($EGD_SOCKET)"
        else
                RAND_MSG="Builtin (timeout $entropy_timeout)"
+               BUILTIN_RNG=1
        fi
 fi
 
@@ -1426,13 +1546,14 @@ A=`eval echo ${prefix}` ; A=`eval echo ${A}`
 B=`eval echo ${bindir}` ; B=`eval echo ${B}`
 C=`eval echo ${sbindir}` ; C=`eval echo ${C}`
 D=`eval echo ${sysconfdir}` ; D=`eval echo ${D}`
-E=`eval echo ${libexecdir}/ssh/ssh-askpass` ; E=`eval echo ${E}`
+E=`eval echo ${libexecdir}/ssh-askpass` ; E=`eval echo ${E}`
 F=`eval echo ${mandir}/${mansubdir}X` ; F=`eval echo ${F}`
 G=`eval echo ${piddir}` ; G=`eval echo ${G}`
 
 echo ""
 echo "OpenSSH configured has been configured with the following options."
 echo "                 User binaries: $B"
+echo "                 User binaries: $B"
 echo "               System binaries: $C"
 echo "           Configuration files: $D"
 echo "               Askpass program: $E"
@@ -1452,9 +1573,17 @@ echo "       Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
 
 echo ""
 
-echo "Compiler flags: ${CFLAGS}"
-echo "Linker flags: ${LDFLAGS}"
-echo "Libraries: ${LIBS}"
+echo "             Host: ${host}"
+echo "         Compiler: ${CC}"
+echo "   Compiler flags: ${CFLAGS}"
+echo "     Linker flags: ${LDFLAGS}"
+echo "        Libraries: ${LIBS}"
 
 echo ""
 
+if test ! -z "$BUILTIN_RNG" ; then
+       echo "WARNING: you are using the builtin random number collection service."
+       echo "Please read WARNING.RNG and request that your OS vendor includes"
+       echo "/dev/random in future versions of their OS."
+       echo ""
+fi
This page took 1.398444 seconds and 4 git commands to generate.