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
CFLAGS="$CFLAGS -Wall"
fi
+CFLAGS="$CFLAGS -I. -I${srcdir-.}"
+
# Check for some target-specific stuff
case "$host" in
*-*-aix*)
MANTYPE='$(CATMAN)'
mansubdir=cat
;;
+*-*-cygwin*)
+ LIBS="$LIBS /usr/lib/textmode.o"
+ AC_DEFINE(HAVE_CYGWIN)
+ AC_DEFINE(DISABLE_PAM)
+ AC_DEFINE(DISABLE_SHADOW)
+ AC_DEFINE(IPV4_DEFAULT)
+ AC_DEFINE(IP_TOS_IS_BROKEN)
+ AC_DEFINE(BROKEN_VHANGUP)
+ no_pam=1
+ no_libsocket=1
+ no_libnsl=1
+ ;;
*-*-hpux10*)
if test -z "$GCC"; then
CFLAGS="$CFLAGS -Ae"
fi
CFLAGS="$CFLAGS -D_HPUX_SOURCE"
- AC_DEFINE(IPADDR_IN_DISPLAY)
+ IPADDR_IN_DISPLAY=yes
AC_DEFINE(USE_PIPES)
- AC_MSG_CHECKING(for HPUX trusted system password database)
- if test -f /tcb/files/auth/system/default; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_HPUX_TRUSTED_SYSTEM_PW)
- LIBS="$LIBS -lsec"
- AC_MSG_WARN([This configuration is untested])
- else
- AC_MSG_RESULT(no)
- AC_DEFINE(DISABLE_SHADOW)
- fi
+ AC_DEFINE(DISABLE_SHADOW)
+ AC_DEFINE(DISABLE_UTMP)
+ LIBS="$LIBS -lsec"
MANTYPE='$(CATMAN)'
mansubdir=cat
;;
*-*-hpux11*)
- if test -z "$GCC"; then
- CFLAGS="$CFLAGS -Ae"
- fi
CFLAGS="$CFLAGS -D_HPUX_SOURCE"
- AC_DEFINE(IPADDR_IN_DISPLAY)
- AC_MSG_CHECKING(for HPUX trusted system password database)
- if test -f /tcb/files/auth/system/default; then
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_HPUX_TRUSTED_SYSTEM_PW)
- LIBS="$LIBS -lsec"
- AC_MSG_WARN([This configuration is untested])
- else
- AC_MSG_RESULT(no)
- AC_DEFINE(DISABLE_SHADOW)
- fi
+ IPADDR_IN_DISPLAY=yes
+ AC_DEFINE(USE_PIPES)
+ AC_DEFINE(DISABLE_SHADOW)
+ AC_DEFINE(DISABLE_UTMP)
+ LIBS="$LIBS -lsec"
MANTYPE='$(CATMAN)'
mansubdir=cat
;;
*-*-irix5*)
CFLAGS="$CFLAGS -I/usr/local/include"
LDFLAGS="$LDFLAGS"
+ PATH="$PATH:/usr/etc"
MANTYPE='$(CATMAN)'
no_libsocket=1
no_libnsl=1
*-*-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)
need_dash_r=1
;;
*-next-*)
- # hardwire lastlog location (can't detect it on some versions)
conf_lastlog_location="/usr/adm/lastlog"
- conf_utmp_location=/etc/utmp
+ conf_utmp_location=/etc/utmp
+ conf_wtmp_location=/usr/adm/wtmp
+ MAIL=/usr/spool/mail
AC_DEFINE(HAVE_NEXT)
CFLAGS="$CFLAGS -I/usr/local/include"
- MAIL=/usr/spool/mail
- AC_MSG_WARN([*** Tested: PA-RISC/m68k Untested: Sparc/Intel])
- AC_MSG_WARN([*** Expect 'scp' to fail!])
- AC_MSG_WARN([*** Please report any problems, thanks])
;;
*-*-solaris*)
CFLAGS="$CFLAGS -I/usr/local/include"
mansubdir=cat
LIBS="$LIBS -lgen -lnsl -lucb"
;;
-*-*-sysv*)
+*-*-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
;;
-*-*-sco3*)
+*-*-sysv*)
CFLAGS="$CFLAGS -I/usr/local/include"
LDFLAGS="$LDFLAGS -L/usr/local/lib"
MANTYPE='$(CATMAN)'
mansubdir=cat
LIBS="$LIBS -lgen -lsocket"
+ ;;
+*-*-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 -lprot -lx"
no_dev_ptmx=1
+ rsh_path="/usr/bin/rcmd"
+ AC_DEFINE(HAVE_SCO_PROTECTED_PW)
;;
*-dec-osf*)
# This is untested
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)
dnl Checks for library functions.
-AC_CHECK_FUNCS(arc4random atexit b64_ntop bcopy bindresvport_af clock freeaddrinfo 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 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 setrlimit sigaction sigvec snprintf strerror strlcat strlcpy strsep strtok_r vsnprintf vhangup _getpty __b64_ntop)
dnl Checks for time functions
AC_CHECK_FUNCS(gettimeofday time)
dnl Checks for libutil functions
)
fi
+AC_FUNC_GETPGRP
+
PAM_MSG="no"
AC_ARG_WITH(pam,
[ --without-pam Disable PAM support ],
fi
AC_CACHE_CHECK([for OpenSSL directory], ac_cv_openssldir, [
- for ssldir in "" $tryssldir /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do
+ for ssldir in $tryssldir "" /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg /opt /opt/openssl ; do
if test ! -z "$ssldir" ; then
LDFLAGS="$saved_LDFLAGS -L$ssldir/lib -L$ssldir"
CFLAGS="$saved_CFLAGS -I$ssldir/include"
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> ],
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
],
[ 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
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)
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, [
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" ]
)
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
fi
# Use ip address instead of hostname in $DISPLAY
-DISPLAY_HACK_MSG="no"
-AC_ARG_WITH(ipaddr-display,
- [ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY],
- [
- if test "x$withval" != "xno" ; then
- AC_DEFINE(IPADDR_IN_DISPLAY)
- DISPLAY_HACK_MSG="yes"
- fi
- ]
-)
+if test ! -z "$IPADDR_IN_DISPLAY" ; then
+ DISPLAY_HACK_MSG="yes"
+ AC_DEFINE(IPADDR_IN_DISPLAY)
+else
+ DISPLAY_HACK_MSG="no"
+ AC_ARG_WITH(ipaddr-display,
+ [ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY],
+ [
+ if test "x$withval" != "xno" ; then
+ AC_DEFINE(IPADDR_IN_DISPLAY)
+ DISPLAY_HACK_MSG="yes"
+ fi
+ ]
+ )
+fi
# Whether to mess with the default path
SERVER_PATH_MSG="(default)"
]
)
+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,
]
)
+# 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)
AC_MSG_WARN([Please check and edit -blibpath in LDFLAGS in Makefile])
fi
+AC_EXEEXT
+
AC_OUTPUT(Makefile ssh_prng_cmds)
# Print summary of options
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"
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 ""