summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac847
1 files changed, 583 insertions, 264 deletions
diff --git a/configure.ac b/configure.ac
index 1e4df2e33..ff1972ed6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.292 2005/08/31 16:59:49 tim Exp $ 1# $Id: configure.ac,v 1.322.2.6 2006/02/08 11:11:06 dtucker Exp $
2# 2#
3# Copyright (c) 1999-2004 Damien Miller 3# Copyright (c) 1999-2004 Damien Miller
4# 4#
@@ -15,6 +15,7 @@
15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 16
17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org) 17AC_INIT(OpenSSH, Portable, openssh-unix-dev@mindrot.org)
18AC_REVISION($Revision: 1.322.2.6 $)
18AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
19 20
20AC_CONFIG_HEADER(config.h) 21AC_CONFIG_HEADER(config.h)
@@ -27,6 +28,7 @@ AC_PROG_AWK
27AC_PROG_CPP 28AC_PROG_CPP
28AC_PROG_RANLIB 29AC_PROG_RANLIB
29AC_PROG_INSTALL 30AC_PROG_INSTALL
31AC_PROG_EGREP
30AC_PATH_PROG(AR, ar) 32AC_PATH_PROG(AR, ar)
31AC_PATH_PROG(CAT, cat) 33AC_PATH_PROG(CAT, cat)
32AC_PATH_PROG(KILL, kill) 34AC_PATH_PROG(KILL, kill)
@@ -47,6 +49,11 @@ AC_PATH_PROG(PATH_GROUPADD_PROG, groupadd, groupadd,
47AC_PATH_PROG(PATH_USERADD_PROG, useradd, useradd, 49AC_PATH_PROG(PATH_USERADD_PROG, useradd, useradd,
48 [/usr/sbin${PATH_SEPARATOR}/etc]) 50 [/usr/sbin${PATH_SEPARATOR}/etc])
49AC_CHECK_PROG(MAKE_PACKAGE_SUPPORTED, pkgmk, yes, no) 51AC_CHECK_PROG(MAKE_PACKAGE_SUPPORTED, pkgmk, yes, no)
52if test -x /sbin/sh; then
53 AC_SUBST(STARTUP_SCRIPT_SHELL,/sbin/sh)
54else
55 AC_SUBST(STARTUP_SCRIPT_SHELL,/bin/sh)
56fi
50 57
51# System features 58# System features
52AC_SYS_LARGEFILE 59AC_SYS_LARGEFILE
@@ -57,7 +64,9 @@ fi
57 64
58# Use LOGIN_PROGRAM from environment if possible 65# Use LOGIN_PROGRAM from environment if possible
59if test ! -z "$LOGIN_PROGRAM" ; then 66if test ! -z "$LOGIN_PROGRAM" ; then
60 AC_DEFINE_UNQUOTED(LOGIN_PROGRAM_FALLBACK, "$LOGIN_PROGRAM") 67 AC_DEFINE_UNQUOTED(LOGIN_PROGRAM_FALLBACK, "$LOGIN_PROGRAM",
68 [If your header files don't define LOGIN_PROGRAM,
69 then use this (detected) from environment and PATH])
61else 70else
62 # Search for login 71 # Search for login
63 AC_PATH_PROG(LOGIN_PROGRAM_FALLBACK, login) 72 AC_PATH_PROG(LOGIN_PROGRAM_FALLBACK, login)
@@ -68,7 +77,8 @@ fi
68 77
69AC_PATH_PROG(PATH_PASSWD_PROG, passwd) 78AC_PATH_PROG(PATH_PASSWD_PROG, passwd)
70if test ! -z "$PATH_PASSWD_PROG" ; then 79if test ! -z "$PATH_PASSWD_PROG" ; then
71 AC_DEFINE_UNQUOTED(_PATH_PASSWD_PROG, "$PATH_PASSWD_PROG") 80 AC_DEFINE_UNQUOTED(_PATH_PASSWD_PROG, "$PATH_PASSWD_PROG",
81 [Full path of your "passwd" program])
72fi 82fi
73 83
74if test -z "$LD" ; then 84if test -z "$LD" ; then
@@ -82,12 +92,14 @@ AC_CHECK_DECL(LLONG_MAX, have_llong_max=1, , [#include <limits.h>])
82 92
83if test "$GCC" = "yes" || test "$GCC" = "egcs"; then 93if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
84 CFLAGS="$CFLAGS -Wall -Wpointer-arith -Wuninitialized" 94 CFLAGS="$CFLAGS -Wall -Wpointer-arith -Wuninitialized"
85 GCC_VER=`$CC --version` 95 GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'`
86 case $GCC_VER in 96 case $GCC_VER in
87 1.*) ;; 97 1.*) ;;
88 2.8* | 2.9*) CFLAGS="$CFLAGS -Wsign-compare" ;; 98 2.8* | 2.9*) CFLAGS="$CFLAGS -Wsign-compare" ;;
89 2.*) ;; 99 2.*) ;;
90 *) CFLAGS="$CFLAGS -Wsign-compare" ;; 100 3.*) CFLAGS="$CFLAGS -Wsign-compare" ;;
101 4.*) CFLAGS="$CFLAGS -Wsign-compare -Wno-pointer-sign" ;;
102 *) ;;
91 esac 103 esac
92 104
93 if test -z "$have_llong_max"; then 105 if test -z "$have_llong_max"; then
@@ -103,70 +115,6 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
103 fi 115 fi
104fi 116fi
105 117
106if test -z "$have_llong_max"; then
107 AC_MSG_CHECKING([for max value of long long])
108 AC_RUN_IFELSE(
109 [AC_LANG_SOURCE([[
110#include <stdio.h>
111/* Why is this so damn hard? */
112#ifdef __GNUC__
113# undef __GNUC__
114#endif
115#define __USE_ISOC99
116#include <limits.h>
117#define DATA "conftest.llminmax"
118int main(void) {
119 FILE *f;
120 long long i, llmin, llmax = 0;
121
122 if((f = fopen(DATA,"w")) == NULL)
123 exit(1);
124
125#if defined(LLONG_MIN) && defined(LLONG_MAX)
126 fprintf(stderr, "Using system header for LLONG_MIN and LLONG_MAX\n");
127 llmin = LLONG_MIN;
128 llmax = LLONG_MAX;
129#else
130 fprintf(stderr, "Calculating LLONG_MIN and LLONG_MAX\n");
131 /* This will work on one's complement and two's complement */
132 for (i = 1; i > llmax; i <<= 1, i++)
133 llmax = i;
134 llmin = llmax + 1LL; /* wrap */
135#endif
136
137 /* Sanity check */
138 if (llmin + 1 < llmin || llmin - 1 < llmin || llmax + 1 > llmax
139 || llmax - 1 > llmax) {
140 fprintf(f, "unknown unknown\n");
141 exit(2);
142 }
143
144 if (fprintf(f ,"%lld %lld", llmin, llmax) < 0)
145 exit(3);
146
147 exit(0);
148}
149 ]])],
150 [
151 llong_min=`$AWK '{print $1}' conftest.llminmax`
152 llong_max=`$AWK '{print $2}' conftest.llminmax`
153 AC_MSG_RESULT($llong_max)
154 AC_DEFINE_UNQUOTED(LLONG_MAX, [${llong_max}LL],
155 [max value of long long calculated by configure])
156 AC_MSG_CHECKING([for min value of long long])
157 AC_MSG_RESULT($llong_min)
158 AC_DEFINE_UNQUOTED(LLONG_MIN, [${llong_min}LL],
159 [min value of long long calculated by configure])
160 ],
161 [
162 AC_MSG_RESULT(not found)
163 ],
164 [
165 AC_MSG_WARN([cross compiling: not checking])
166 ]
167 )
168fi
169
170AC_ARG_WITH(rpath, 118AC_ARG_WITH(rpath,
171 [ --without-rpath Disable auto-added -R linker paths], 119 [ --without-rpath Disable auto-added -R linker paths],
172 [ 120 [
@@ -201,7 +149,8 @@ case "$host" in
201 fi 149 fi
202 LDFLAGS="$saved_LDFLAGS" 150 LDFLAGS="$saved_LDFLAGS"
203 dnl Check for authenticate. Might be in libs.a on older AIXes 151 dnl Check for authenticate. Might be in libs.a on older AIXes
204 AC_CHECK_FUNC(authenticate, [AC_DEFINE(WITH_AIXAUTHENTICATE)], 152 AC_CHECK_FUNC(authenticate, [AC_DEFINE(WITH_AIXAUTHENTICATE, 1,
153 [Define if you want to enable AIX4's authenticate function])],
205 [AC_CHECK_LIB(s,authenticate, 154 [AC_CHECK_LIB(s,authenticate,
206 [ AC_DEFINE(WITH_AIXAUTHENTICATE) 155 [ AC_DEFINE(WITH_AIXAUTHENTICATE)
207 LIBS="$LIBS -ls" 156 LIBS="$LIBS -ls"
@@ -217,7 +166,9 @@ case "$host" in
217 [#include <usersec.h>], 166 [#include <usersec.h>],
218 [(void)loginfailed("user","host","tty",0);], 167 [(void)loginfailed("user","host","tty",0);],
219 [AC_MSG_RESULT(yes) 168 [AC_MSG_RESULT(yes)
220 AC_DEFINE(AIX_LOGINFAILED_4ARG)], 169 AC_DEFINE(AIX_LOGINFAILED_4ARG, 1,
170 [Define if your AIX loginfailed() function
171 takes 4 arguments (AIX >= 5.2)])],
221 [AC_MSG_RESULT(no)] 172 [AC_MSG_RESULT(no)]
222 )], 173 )],
223 [], 174 [],
@@ -225,25 +176,38 @@ case "$host" in
225 ) 176 )
226 AC_CHECK_FUNCS(setauthdb) 177 AC_CHECK_FUNCS(setauthdb)
227 check_for_aix_broken_getaddrinfo=1 178 check_for_aix_broken_getaddrinfo=1
228 AC_DEFINE(BROKEN_REALPATH) 179 AC_DEFINE(BROKEN_REALPATH, 1, [Define if you have a broken realpath.])
229 AC_DEFINE(SETEUID_BREAKS_SETUID) 180 AC_DEFINE(SETEUID_BREAKS_SETUID, 1,
230 AC_DEFINE(BROKEN_SETREUID) 181 [Define if your platform breaks doing a seteuid before a setuid])
231 AC_DEFINE(BROKEN_SETREGID) 182 AC_DEFINE(BROKEN_SETREUID, 1, [Define if your setreuid() is broken])
183 AC_DEFINE(BROKEN_SETREGID, 1, [Define if your setregid() is broken])
232 dnl AIX handles lastlog as part of its login message 184 dnl AIX handles lastlog as part of its login message
233 AC_DEFINE(DISABLE_LASTLOG) 185 AC_DEFINE(DISABLE_LASTLOG, 1, [Define if you don't want to use lastlog])
234 AC_DEFINE(LOGIN_NEEDS_UTMPX) 186 AC_DEFINE(LOGIN_NEEDS_UTMPX, 1,
235 AC_DEFINE(SPT_TYPE,SPT_REUSEARGV) 187 [Some systems need a utmpx entry for /bin/login to work])
188 AC_DEFINE(SPT_TYPE,SPT_REUSEARGV,
189 [Define to a Set Process Title type if your system is
190 supported by bsd-setproctitle.c])
191 AC_DEFINE(SSHPAM_CHAUTHTOK_NEEDS_RUID, 1,
192 [AIX 5.2 and 5.3 (and presumably newer) require this])
236 ;; 193 ;;
237*-*-cygwin*) 194*-*-cygwin*)
238 check_for_libcrypt_later=1 195 check_for_libcrypt_later=1
239 LIBS="$LIBS /usr/lib/textmode.o" 196 LIBS="$LIBS /usr/lib/textmode.o"
240 AC_DEFINE(HAVE_CYGWIN) 197 AC_DEFINE(HAVE_CYGWIN, 1, [Define if you are on Cygwin])
241 AC_DEFINE(USE_PIPES) 198 AC_DEFINE(USE_PIPES, 1, [Use PIPES instead of a socketpair()])
242 AC_DEFINE(DISABLE_SHADOW) 199 AC_DEFINE(DISABLE_SHADOW, 1,
243 AC_DEFINE(IP_TOS_IS_BROKEN) 200 [Define if you want to disable shadow passwords])
244 AC_DEFINE(NO_X11_UNIX_SOCKETS) 201 AC_DEFINE(IP_TOS_IS_BROKEN, 1,
245 AC_DEFINE(NO_IPPORT_RESERVED_CONCEPT) 202 [Define if your system choked on IP TOS setting])
246 AC_DEFINE(DISABLE_FD_PASSING) 203 AC_DEFINE(NO_X11_UNIX_SOCKETS, 1,
204 [Define if X11 doesn't support AF_UNIX sockets on that system])
205 AC_DEFINE(NO_IPPORT_RESERVED_CONCEPT, 1,
206 [Define if the concept of ports only accessible to
207 superusers isn't known])
208 AC_DEFINE(DISABLE_FD_PASSING, 1,
209 [Define if your platform needs to skip post auth
210 file descriptor passing])
247 ;; 211 ;;
248*-*-dgux*) 212*-*-dgux*)
249 AC_DEFINE(IP_TOS_IS_BROKEN) 213 AC_DEFINE(IP_TOS_IS_BROKEN)
@@ -260,22 +224,26 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
260 exit(1); 224 exit(1);
261}], [AC_MSG_RESULT(working)], 225}], [AC_MSG_RESULT(working)],
262 [AC_MSG_RESULT(buggy) 226 [AC_MSG_RESULT(buggy)
263 AC_DEFINE(BROKEN_GETADDRINFO)], 227 AC_DEFINE(BROKEN_GETADDRINFO, 1, [getaddrinfo is broken (if present)])],
264 [AC_MSG_RESULT(assume it is working)]) 228 [AC_MSG_RESULT(assume it is working)])
265 AC_DEFINE(SETEUID_BREAKS_SETUID) 229 AC_DEFINE(SETEUID_BREAKS_SETUID)
266 AC_DEFINE(BROKEN_SETREUID) 230 AC_DEFINE(BROKEN_SETREUID)
267 AC_DEFINE(BROKEN_SETREGID) 231 AC_DEFINE(BROKEN_SETREGID)
268 AC_DEFINE_UNQUOTED(BIND_8_COMPAT, 1) 232 AC_DEFINE_UNQUOTED(BIND_8_COMPAT, 1,
233 [Define if your resolver libs need this for getrrsetbyname])
269 ;; 234 ;;
270*-*-hpux*) 235*-*-hpux*)
271 # first we define all of the options common to all HP-UX releases 236 # first we define all of the options common to all HP-UX releases
272 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1" 237 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
273 IPADDR_IN_DISPLAY=yes 238 IPADDR_IN_DISPLAY=yes
274 AC_DEFINE(USE_PIPES) 239 AC_DEFINE(USE_PIPES)
275 AC_DEFINE(LOGIN_NO_ENDOPT) 240 AC_DEFINE(LOGIN_NO_ENDOPT, 1,
241 [Define if your login program cannot handle end of options ("--")])
276 AC_DEFINE(LOGIN_NEEDS_UTMPX) 242 AC_DEFINE(LOGIN_NEEDS_UTMPX)
277 AC_DEFINE(LOCKED_PASSWD_STRING, "*") 243 AC_DEFINE(LOCKED_PASSWD_STRING, "*",
244 [String used in /etc/passwd to denote locked account])
278 AC_DEFINE(SPT_TYPE,SPT_PSTAT) 245 AC_DEFINE(SPT_TYPE,SPT_PSTAT)
246 MAIL="/var/mail/username"
279 LIBS="$LIBS -lsec" 247 LIBS="$LIBS -lsec"
280 AC_CHECK_LIB(xnet, t_error, , 248 AC_CHECK_LIB(xnet, t_error, ,
281 AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***])) 249 AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***]))
@@ -288,8 +256,12 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
288 fi 256 fi
289 ;; 257 ;;
290 *-*-hpux11*) 258 *-*-hpux11*)
291 AC_DEFINE(PAM_SUN_CODEBASE) 259 AC_DEFINE(PAM_SUN_CODEBASE, 1,
292 AC_DEFINE(DISABLE_UTMP) 260 [Define if you are using Solaris-derived PAM which
261 passes pam_messages to the conversation function
262 with an extra level of indirection])
263 AC_DEFINE(DISABLE_UTMP, 1,
264 [Define if you don't want to use utmp])
293 AC_DEFINE(USE_BTMP, 1, [Use btmp to log bad logins]) 265 AC_DEFINE(USE_BTMP, 1, [Use btmp to log bad logins])
294 check_for_hpux_broken_getaddrinfo=1 266 check_for_hpux_broken_getaddrinfo=1
295 check_for_conflicting_getspnam=1 267 check_for_conflicting_getspnam=1
@@ -299,7 +271,9 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
299 # lastly, we define options specific to minor releases 271 # lastly, we define options specific to minor releases
300 case "$host" in 272 case "$host" in
301 *-*-hpux10.26) 273 *-*-hpux10.26)
302 AC_DEFINE(HAVE_SECUREWARE) 274 AC_DEFINE(HAVE_SECUREWARE, 1,
275 [Define if you have SecureWare-based
276 protected password database])
303 disable_ptmx_check=yes 277 disable_ptmx_check=yes
304 LIBS="$LIBS -lsecpw" 278 LIBS="$LIBS -lsecpw"
305 ;; 279 ;;
@@ -307,24 +281,33 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
307 ;; 281 ;;
308*-*-irix5*) 282*-*-irix5*)
309 PATH="$PATH:/usr/etc" 283 PATH="$PATH:/usr/etc"
310 AC_DEFINE(BROKEN_INET_NTOA) 284 AC_DEFINE(BROKEN_INET_NTOA, 1,
285 [Define if you system's inet_ntoa is busted
286 (e.g. Irix gcc issue)])
311 AC_DEFINE(SETEUID_BREAKS_SETUID) 287 AC_DEFINE(SETEUID_BREAKS_SETUID)
312 AC_DEFINE(BROKEN_SETREUID) 288 AC_DEFINE(BROKEN_SETREUID)
313 AC_DEFINE(BROKEN_SETREGID) 289 AC_DEFINE(BROKEN_SETREGID)
314 AC_DEFINE(WITH_ABBREV_NO_TTY) 290 AC_DEFINE(WITH_ABBREV_NO_TTY, 1,
291 [Define if you shouldn't strip 'tty' from your
292 ttyname in [uw]tmp])
315 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") 293 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
316 ;; 294 ;;
317*-*-irix6*) 295*-*-irix6*)
318 PATH="$PATH:/usr/etc" 296 PATH="$PATH:/usr/etc"
319 AC_DEFINE(WITH_IRIX_ARRAY) 297 AC_DEFINE(WITH_IRIX_ARRAY, 1,
320 AC_DEFINE(WITH_IRIX_PROJECT) 298 [Define if you have/want arrays
321 AC_DEFINE(WITH_IRIX_AUDIT) 299 (cluster-wide session managment, not C arrays)])
322 AC_CHECK_FUNC(jlimit_startjob, [AC_DEFINE(WITH_IRIX_JOBS)]) 300 AC_DEFINE(WITH_IRIX_PROJECT, 1,
301 [Define if you want IRIX project management])
302 AC_DEFINE(WITH_IRIX_AUDIT, 1,
303 [Define if you want IRIX audit trails])
304 AC_CHECK_FUNC(jlimit_startjob, [AC_DEFINE(WITH_IRIX_JOBS, 1,
305 [Define if you want IRIX kernel jobs])])
323 AC_DEFINE(BROKEN_INET_NTOA) 306 AC_DEFINE(BROKEN_INET_NTOA)
324 AC_DEFINE(SETEUID_BREAKS_SETUID) 307 AC_DEFINE(SETEUID_BREAKS_SETUID)
325 AC_DEFINE(BROKEN_SETREUID) 308 AC_DEFINE(BROKEN_SETREUID)
326 AC_DEFINE(BROKEN_SETREGID) 309 AC_DEFINE(BROKEN_SETREGID)
327 AC_DEFINE(BROKEN_UPDWTMPX) 310 AC_DEFINE(BROKEN_UPDWTMPX, 1, [updwtmpx is broken (if present)])
328 AC_DEFINE(WITH_ABBREV_NO_TTY) 311 AC_DEFINE(WITH_ABBREV_NO_TTY)
329 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") 312 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
330 ;; 313 ;;
@@ -332,22 +315,37 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
332 no_dev_ptmx=1 315 no_dev_ptmx=1
333 check_for_libcrypt_later=1 316 check_for_libcrypt_later=1
334 check_for_openpty_ctty_bug=1 317 check_for_openpty_ctty_bug=1
335 AC_DEFINE(DONT_TRY_OTHER_AF) 318 AC_DEFINE(DONT_TRY_OTHER_AF, 1, [Workaround more Linux IPv6 quirks])
336 AC_DEFINE(PAM_TTY_KLUDGE) 319 AC_DEFINE(PAM_TTY_KLUDGE, 1,
337 AC_DEFINE(LOCKED_PASSWD_PREFIX, "!") 320 [Work around problematic Linux PAM modules handling of PAM_TTY])
321 AC_DEFINE(LOCKED_PASSWD_PREFIX, "!",
322 [String used in /etc/passwd to denote locked account])
338 AC_DEFINE(SPT_TYPE,SPT_REUSEARGV) 323 AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)
339 AC_DEFINE(LINK_OPNOTSUPP_ERRNO, EPERM) 324 AC_DEFINE(LINK_OPNOTSUPP_ERRNO, EPERM,
325 [Define to whatever link() returns for "not supported"
326 if it doesn't return EOPNOTSUPP.])
340 AC_DEFINE(_PATH_BTMP, "/var/log/btmp", [log for bad login attempts]) 327 AC_DEFINE(_PATH_BTMP, "/var/log/btmp", [log for bad login attempts])
341 AC_DEFINE(USE_BTMP, 1, [Use btmp to log bad logins]) 328 AC_DEFINE(USE_BTMP)
342 inet6_default_4in6=yes 329 inet6_default_4in6=yes
343 case `uname -r` in 330 case `uname -r` in
344 1.*|2.0.*) 331 1.*|2.0.*)
345 AC_DEFINE(BROKEN_CMSG_TYPE) 332 AC_DEFINE(BROKEN_CMSG_TYPE, 1,
333 [Define if cmsg_type is not passed correctly])
346 ;; 334 ;;
347 esac 335 esac
336 # tun(4) forwarding compat code
337 AC_CHECK_HEADERS(linux/if_tun.h)
338 if test "x$ac_cv_header_linux_if_tun_h" = "xyes" ; then
339 AC_DEFINE(SSH_TUN_LINUX, 1,
340 [Open tunnel devices the Linux tun/tap way])
341 AC_DEFINE(SSH_TUN_COMPAT_AF, 1,
342 [Use tunnel device compatibility to OpenBSD])
343 AC_DEFINE(SSH_TUN_PREPEND_AF, 1,
344 [Prepend the address family to IP tunnel traffic])
345 fi
348 ;; 346 ;;
349mips-sony-bsd|mips-sony-newsos4) 347mips-sony-bsd|mips-sony-newsos4)
350 AC_DEFINE(NEED_SETPRGP, [], [Need setpgrp to acquire controlling tty]) 348 AC_DEFINE(NEED_SETPGRP, 1, [Need setpgrp to acquire controlling tty])
351 SONY=1 349 SONY=1
352 ;; 350 ;;
353*-*-netbsd*) 351*-*-netbsd*)
@@ -355,9 +353,18 @@ mips-sony-bsd|mips-sony-newsos4)
355 if test "x$withval" != "xno" ; then 353 if test "x$withval" != "xno" ; then
356 need_dash_r=1 354 need_dash_r=1
357 fi 355 fi
356 AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way])
357 AC_CHECK_HEADER([net/if_tap.h], ,
358 AC_DEFINE(SSH_TUN_NO_L2, 1, [No layer 2 tunnel support]))
359 AC_DEFINE(SSH_TUN_PREPEND_AF, 1,
360 [Prepend the address family to IP tunnel traffic])
358 ;; 361 ;;
359*-*-freebsd*) 362*-*-freebsd*)
360 check_for_libcrypt_later=1 363 check_for_libcrypt_later=1
364 AC_DEFINE(LOCKED_PASSWD_PREFIX, "*LOCKED*", [Account locked with pw(1)])
365 AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way])
366 AC_CHECK_HEADER([net/if_tap.h], ,
367 AC_DEFINE(SSH_TUN_NO_L2, 1, [No layer 2 tunnel support]))
361 ;; 368 ;;
362*-*-bsdi*) 369*-*-bsdi*)
363 AC_DEFINE(SETEUID_BREAKS_SETUID) 370 AC_DEFINE(SETEUID_BREAKS_SETUID)
@@ -369,13 +376,15 @@ mips-sony-bsd|mips-sony-newsos4)
369 conf_utmp_location=/etc/utmp 376 conf_utmp_location=/etc/utmp
370 conf_wtmp_location=/usr/adm/wtmp 377 conf_wtmp_location=/usr/adm/wtmp
371 MAIL=/usr/spool/mail 378 MAIL=/usr/spool/mail
372 AC_DEFINE(HAVE_NEXT) 379 AC_DEFINE(HAVE_NEXT, 1, [Define if you are on NeXT])
373 AC_DEFINE(BROKEN_REALPATH) 380 AC_DEFINE(BROKEN_REALPATH)
374 AC_DEFINE(USE_PIPES) 381 AC_DEFINE(USE_PIPES)
375 AC_DEFINE(BROKEN_SAVED_UIDS) 382 AC_DEFINE(BROKEN_SAVED_UIDS, 1, [Needed for NeXT])
376 ;; 383 ;;
377*-*-openbsd*) 384*-*-openbsd*)
378 AC_DEFINE(HAVE_ATTRIBUTE__SENTINEL__, 1, [OpenBSD's gcc has sentinel]) 385 AC_DEFINE(HAVE_ATTRIBUTE__SENTINEL__, 1, [OpenBSD's gcc has sentinel])
386 AC_DEFINE(HAVE_ATTRIBUTE__BOUNDED__, 1, [OpenBSD's gcc has bounded])
387 AC_DEFINE(SSH_TUN_OPENBSD, 1, [Open tunnel devices the OpenBSD way])
379 ;; 388 ;;
380*-*-solaris*) 389*-*-solaris*)
381 if test "x$withval" != "xno" ; then 390 if test "x$withval" != "xno" ; then
@@ -383,12 +392,18 @@ mips-sony-bsd|mips-sony-newsos4)
383 fi 392 fi
384 AC_DEFINE(PAM_SUN_CODEBASE) 393 AC_DEFINE(PAM_SUN_CODEBASE)
385 AC_DEFINE(LOGIN_NEEDS_UTMPX) 394 AC_DEFINE(LOGIN_NEEDS_UTMPX)
386 AC_DEFINE(LOGIN_NEEDS_TERM) 395 AC_DEFINE(LOGIN_NEEDS_TERM, 1,
396 [Some versions of /bin/login need the TERM supplied
397 on the commandline])
387 AC_DEFINE(PAM_TTY_KLUDGE) 398 AC_DEFINE(PAM_TTY_KLUDGE)
388 AC_DEFINE(SSHPAM_CHAUTHTOK_NEEDS_RUID) 399 AC_DEFINE(SSHPAM_CHAUTHTOK_NEEDS_RUID, 1,
400 [Define if pam_chauthtok wants real uid set
401 to the unpriv'ed user])
389 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") 402 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
390 # Pushing STREAMS modules will cause sshd to acquire a controlling tty. 403 # Pushing STREAMS modules will cause sshd to acquire a controlling tty.
391 AC_DEFINE(SSHD_ACQUIRES_CTTY) 404 AC_DEFINE(SSHD_ACQUIRES_CTTY, 1,
405 [Define if sshd somehow reacquires a controlling TTY
406 after setsid()])
392 external_path_file=/etc/default/login 407 external_path_file=/etc/default/login
393 # hardwire lastlog location (can't detect it on some versions) 408 # hardwire lastlog location (can't detect it on some versions)
394 conf_lastlog_location="/var/adm/lastlog" 409 conf_lastlog_location="/var/adm/lastlog"
@@ -397,7 +412,8 @@ mips-sony-bsd|mips-sony-newsos4)
397 if test "$sol2ver" -ge 8; then 412 if test "$sol2ver" -ge 8; then
398 AC_MSG_RESULT(yes) 413 AC_MSG_RESULT(yes)
399 AC_DEFINE(DISABLE_UTMP) 414 AC_DEFINE(DISABLE_UTMP)
400 AC_DEFINE(DISABLE_WTMP) 415 AC_DEFINE(DISABLE_WTMP, 1,
416 [Define if you don't want to use wtmp])
401 else 417 else
402 AC_MSG_RESULT(no) 418 AC_MSG_RESULT(no)
403 fi 419 fi
@@ -422,8 +438,8 @@ mips-sony-bsd|mips-sony-newsos4)
422*-sni-sysv*) 438*-sni-sysv*)
423 # /usr/ucblib MUST NOT be searched on ReliantUNIX 439 # /usr/ucblib MUST NOT be searched on ReliantUNIX
424 AC_CHECK_LIB(dl, dlsym, ,) 440 AC_CHECK_LIB(dl, dlsym, ,)
425 # -lresolv needs to be at then end of LIBS or DNS lookups break 441 # -lresolv needs to be at the end of LIBS or DNS lookups break
426 AC_CHECK_LIB(res_query, resolv, [ LIBS="$LIBS -lresolv" ]) 442 AC_CHECK_LIB(resolv, res_query, [ LIBS="$LIBS -lresolv" ])
427 IPADDR_IN_DISPLAY=yes 443 IPADDR_IN_DISPLAY=yes
428 AC_DEFINE(USE_PIPES) 444 AC_DEFINE(USE_PIPES)
429 AC_DEFINE(IP_TOS_IS_BROKEN) 445 AC_DEFINE(IP_TOS_IS_BROKEN)
@@ -438,11 +454,13 @@ mips-sony-bsd|mips-sony-newsos4)
438 ;; 454 ;;
439# UnixWare 1.x, UnixWare 2.x, and others based on code from Univel. 455# UnixWare 1.x, UnixWare 2.x, and others based on code from Univel.
440*-*-sysv4.2*) 456*-*-sysv4.2*)
457 CFLAGS="$CFLAGS -Dva_list=_VA_LIST"
441 AC_DEFINE(USE_PIPES) 458 AC_DEFINE(USE_PIPES)
442 AC_DEFINE(SETEUID_BREAKS_SETUID) 459 AC_DEFINE(SETEUID_BREAKS_SETUID)
443 AC_DEFINE(BROKEN_SETREUID) 460 AC_DEFINE(BROKEN_SETREUID)
444 AC_DEFINE(BROKEN_SETREGID) 461 AC_DEFINE(BROKEN_SETREGID)
445 AC_DEFINE(PASSWD_NEEDS_USERNAME, 1, [must supply username to passwd]) 462 AC_DEFINE(PASSWD_NEEDS_USERNAME, 1, [must supply username to passwd])
463 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
446 ;; 464 ;;
447# UnixWare 7.x, OpenUNIX 8 465# UnixWare 7.x, OpenUNIX 8
448*-*-sysv5*) 466*-*-sysv5*)
@@ -452,11 +470,14 @@ mips-sony-bsd|mips-sony-newsos4)
452 AC_DEFINE(SETEUID_BREAKS_SETUID) 470 AC_DEFINE(SETEUID_BREAKS_SETUID)
453 AC_DEFINE(BROKEN_SETREUID) 471 AC_DEFINE(BROKEN_SETREUID)
454 AC_DEFINE(BROKEN_SETREGID) 472 AC_DEFINE(BROKEN_SETREGID)
455 AC_DEFINE(PASSWD_NEEDS_USERNAME, 1, [must supply username to passwd]) 473 AC_DEFINE(PASSWD_NEEDS_USERNAME)
456 case "$host" in 474 case "$host" in
457 *-*-sysv5SCO_SV*) # SCO OpenServer 6.x 475 *-*-sysv5SCO_SV*) # SCO OpenServer 6.x
458 TEST_SHELL=/u95/bin/sh 476 TEST_SHELL=/u95/bin/sh
459 AC_DEFINE(BROKEN_LIBIAF, 1, [ia_uinfo routines not supported by OS yet]) 477 AC_DEFINE(BROKEN_LIBIAF, 1,
478 [ia_uinfo routines not supported by OS yet])
479 ;;
480 *) AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
460 ;; 481 ;;
461 esac 482 esac
462 ;; 483 ;;
@@ -482,13 +503,14 @@ mips-sony-bsd|mips-sony-newsos4)
482 AC_DEFINE(BROKEN_SETREGID) 503 AC_DEFINE(BROKEN_SETREGID)
483 AC_DEFINE(WITH_ABBREV_NO_TTY) 504 AC_DEFINE(WITH_ABBREV_NO_TTY)
484 AC_DEFINE(BROKEN_UPDWTMPX) 505 AC_DEFINE(BROKEN_UPDWTMPX)
485 AC_DEFINE(PASSWD_NEEDS_USERNAME, 1, [must supply username to passwd]) 506 AC_DEFINE(PASSWD_NEEDS_USERNAME)
486 AC_CHECK_FUNCS(getluid setluid) 507 AC_CHECK_FUNCS(getluid setluid)
487 MANTYPE=man 508 MANTYPE=man
488 TEST_SHELL=ksh 509 TEST_SHELL=ksh
489 ;; 510 ;;
490*-*-unicosmk*) 511*-*-unicosmk*)
491 AC_DEFINE(NO_SSH_LASTLOG) 512 AC_DEFINE(NO_SSH_LASTLOG, 1,
513 [Define if you don't want to use lastlog in session.c])
492 AC_DEFINE(SETEUID_BREAKS_SETUID) 514 AC_DEFINE(SETEUID_BREAKS_SETUID)
493 AC_DEFINE(BROKEN_SETREUID) 515 AC_DEFINE(BROKEN_SETREUID)
494 AC_DEFINE(BROKEN_SETREGID) 516 AC_DEFINE(BROKEN_SETREGID)
@@ -535,13 +557,18 @@ mips-sony-bsd|mips-sony-newsos4)
535 if test -z "$no_osfsia" ; then 557 if test -z "$no_osfsia" ; then
536 if test -f /etc/sia/matrix.conf; then 558 if test -f /etc/sia/matrix.conf; then
537 AC_MSG_RESULT(yes) 559 AC_MSG_RESULT(yes)
538 AC_DEFINE(HAVE_OSF_SIA) 560 AC_DEFINE(HAVE_OSF_SIA, 1,
539 AC_DEFINE(DISABLE_LOGIN) 561 [Define if you have Digital Unix Security
562 Integration Architecture])
563 AC_DEFINE(DISABLE_LOGIN, 1,
564 [Define if you don't want to use your
565 system's login() call])
540 AC_DEFINE(DISABLE_FD_PASSING) 566 AC_DEFINE(DISABLE_FD_PASSING)
541 LIBS="$LIBS -lsecurity -ldb -lm -laud" 567 LIBS="$LIBS -lsecurity -ldb -lm -laud"
542 else 568 else
543 AC_MSG_RESULT(no) 569 AC_MSG_RESULT(no)
544 AC_DEFINE(LOCKED_PASSWD_SUBSTR, "Nologin") 570 AC_DEFINE(LOCKED_PASSWD_SUBSTR, "Nologin",
571 [String used in /etc/passwd to denote locked account])
545 fi 572 fi
546 fi 573 fi
547 AC_DEFINE(BROKEN_GETADDRINFO) 574 AC_DEFINE(BROKEN_GETADDRINFO)
@@ -550,24 +577,25 @@ mips-sony-bsd|mips-sony-newsos4)
550 AC_DEFINE(BROKEN_SETREGID) 577 AC_DEFINE(BROKEN_SETREGID)
551 ;; 578 ;;
552 579
553*-*-nto-qnx) 580*-*-nto-qnx*)
554 AC_DEFINE(USE_PIPES) 581 AC_DEFINE(USE_PIPES)
555 AC_DEFINE(NO_X11_UNIX_SOCKETS) 582 AC_DEFINE(NO_X11_UNIX_SOCKETS)
556 AC_DEFINE(MISSING_NFDBITS) 583 AC_DEFINE(MISSING_NFDBITS, 1, [Define on *nto-qnx systems])
557 AC_DEFINE(MISSING_HOWMANY) 584 AC_DEFINE(MISSING_HOWMANY, 1, [Define on *nto-qnx systems])
558 AC_DEFINE(MISSING_FD_MASK) 585 AC_DEFINE(MISSING_FD_MASK, 1, [Define on *nto-qnx systems])
586 AC_DEFINE(DISABLE_LASTLOG)
559 ;; 587 ;;
560 588
561*-*-ultrix*) 589*-*-ultrix*)
562 AC_DEFINE(BROKEN_GETGROUPS, [], [getgroups(0,NULL) will return -1]) 590 AC_DEFINE(BROKEN_GETGROUPS, 1, [getgroups(0,NULL) will return -1])
563 AC_DEFINE(BROKEN_MMAP, [], [Ultrix mmap can't map files]) 591 AC_DEFINE(BROKEN_MMAP, 1, [Ultrix mmap can't map files])
564 AC_DEFINE(NEED_SETPRGP, [], [Need setpgrp to acquire controlling tty]) 592 AC_DEFINE(NEED_SETPGRP)
565 AC_DEFINE(HAVE_SYS_SYSLOG_H, 1, [Force use of sys/syslog.h on Ultrix]) 593 AC_DEFINE(HAVE_SYS_SYSLOG_H, 1, [Force use of sys/syslog.h on Ultrix])
566 ;; 594 ;;
567 595
568*-*-lynxos) 596*-*-lynxos)
569 CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__" 597 CFLAGS="$CFLAGS -D__NO_INCLUDE_WARN__"
570 AC_DEFINE(MISSING_HOWMANY) 598 AC_DEFINE(MISSING_HOWMANY)
571 AC_DEFINE(BROKEN_SETVBUF, 1, [LynxOS has broken setvbuf() implementation]) 599 AC_DEFINE(BROKEN_SETVBUF, 1, [LynxOS has broken setvbuf() implementation])
572 ;; 600 ;;
573esac 601esac
@@ -614,7 +642,7 @@ AC_ARG_WITH(Werror,
614 [ 642 [
615 if test -n "$withval" && test "x$withval" != "xno"; then 643 if test -n "$withval" && test "x$withval" != "xno"; then
616 werror_flags="-Werror" 644 werror_flags="-Werror"
617 if "x${withval}" != "xyes"; then 645 if test "x${withval}" != "xyes"; then
618 werror_flags="$withval" 646 werror_flags="$withval"
619 fi 647 fi
620 fi 648 fi
@@ -647,7 +675,6 @@ AC_CHECK_HEADERS( \
647 glob.h \ 675 glob.h \
648 ia.h \ 676 ia.h \
649 iaf.h \ 677 iaf.h \
650 lastlog.h \
651 limits.h \ 678 limits.h \
652 login.h \ 679 login.h \
653 login_cap.h \ 680 login_cap.h \
@@ -655,7 +682,6 @@ AC_CHECK_HEADERS( \
655 ndir.h \ 682 ndir.h \
656 netdb.h \ 683 netdb.h \
657 netgroup.h \ 684 netgroup.h \
658 netinet/in_systm.h \
659 pam/pam_appl.h \ 685 pam/pam_appl.h \
660 paths.h \ 686 paths.h \
661 pty.h \ 687 pty.h \
@@ -697,6 +723,13 @@ AC_CHECK_HEADERS( \
697 vis.h \ 723 vis.h \
698) 724)
699 725
726# lastlog.h requires sys/time.h to be included first on Solaris
727AC_CHECK_HEADERS(lastlog.h, [], [], [
728#ifdef HAVE_SYS_TIME_H
729# include <sys/time.h>
730#endif
731])
732
700# sys/ptms.h requires sys/stream.h to be included first on Solaris 733# sys/ptms.h requires sys/stream.h to be included first on Solaris
701AC_CHECK_HEADERS(sys/ptms.h, [], [], [ 734AC_CHECK_HEADERS(sys/ptms.h, [], [], [
702#ifdef HAVE_SYS_STREAM_H 735#ifdef HAVE_SYS_STREAM_H
@@ -715,8 +748,8 @@ AC_CHECK_FUNCS(dirname, [AC_CHECK_HEADERS(libgen.h)] ,[
715 ac_cv_have_broken_dirname, [ 748 ac_cv_have_broken_dirname, [
716 save_LIBS="$LIBS" 749 save_LIBS="$LIBS"
717 LIBS="$LIBS -lgen" 750 LIBS="$LIBS -lgen"
718 AC_TRY_RUN( 751 AC_RUN_IFELSE(
719 [ 752 [AC_LANG_SOURCE([[
720#include <libgen.h> 753#include <libgen.h>
721#include <string.h> 754#include <string.h>
722 755
@@ -731,9 +764,10 @@ int main(int argc, char **argv) {
731 exit(0); 764 exit(0);
732 } 765 }
733} 766}
734 ], 767 ]])],
768 [ ac_cv_have_broken_dirname="no" ],
769 [ ac_cv_have_broken_dirname="yes" ],
735 [ ac_cv_have_broken_dirname="no" ], 770 [ ac_cv_have_broken_dirname="no" ],
736 [ ac_cv_have_broken_dirname="yes" ]
737 ) 771 )
738 LIBS="$save_LIBS" 772 LIBS="$save_LIBS"
739 ]) 773 ])
@@ -747,7 +781,8 @@ int main(int argc, char **argv) {
747 781
748AC_CHECK_FUNC(getspnam, , 782AC_CHECK_FUNC(getspnam, ,
749 AC_CHECK_LIB(gen, getspnam, LIBS="$LIBS -lgen")) 783 AC_CHECK_LIB(gen, getspnam, LIBS="$LIBS -lgen"))
750AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME)) 784AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME, 1,
785 [Define if you have the basename function.]))
751 786
752dnl zlib is required 787dnl zlib is required
753AC_ARG_WITH(zlib, 788AC_ARG_WITH(zlib,
@@ -851,14 +886,15 @@ dnl UnixWare 2.x
851AC_CHECK_FUNC(strcasecmp, 886AC_CHECK_FUNC(strcasecmp,
852 [], [ AC_CHECK_LIB(resolv, strcasecmp, LIBS="$LIBS -lresolv") ] 887 [], [ AC_CHECK_LIB(resolv, strcasecmp, LIBS="$LIBS -lresolv") ]
853) 888)
854AC_CHECK_FUNC(utimes, 889AC_CHECK_FUNCS(utimes,
855 [], [ AC_CHECK_LIB(c89, utimes, [AC_DEFINE(HAVE_UTIMES) 890 [], [ AC_CHECK_LIB(c89, utimes, [AC_DEFINE(HAVE_UTIMES)
856 LIBS="$LIBS -lc89"]) ] 891 LIBS="$LIBS -lc89"]) ]
857) 892)
858 893
859dnl Checks for libutil functions 894dnl Checks for libutil functions
860AC_CHECK_HEADERS(libutil.h) 895AC_CHECK_HEADERS(libutil.h)
861AC_SEARCH_LIBS(login, util bsd, [AC_DEFINE(HAVE_LOGIN)]) 896AC_SEARCH_LIBS(login, util bsd, [AC_DEFINE(HAVE_LOGIN, 1,
897 [Define if your libraries define login()])])
862AC_CHECK_FUNCS(logout updwtmp logwtmp) 898AC_CHECK_FUNCS(logout updwtmp logwtmp)
863 899
864AC_FUNC_STRFTIME 900AC_FUNC_STRFTIME
@@ -873,7 +909,9 @@ AC_EGREP_CPP(FOUNDIT,
873 #endif 909 #endif
874 ], 910 ],
875 [ 911 [
876 AC_DEFINE(GLOB_HAS_ALTDIRFUNC) 912 AC_DEFINE(GLOB_HAS_ALTDIRFUNC, 1,
913 [Define if your system glob() function has
914 the GLOB_ALTDIRFUNC extension])
877 AC_MSG_RESULT(yes) 915 AC_MSG_RESULT(yes)
878 ], 916 ],
879 [ 917 [
@@ -889,7 +927,9 @@ AC_EGREP_CPP(FOUNDIT,
889 int main(void){glob_t g; g.gl_matchc = 1;} 927 int main(void){glob_t g; g.gl_matchc = 1;}
890 ], 928 ],
891 [ 929 [
892 AC_DEFINE(GLOB_HAS_GL_MATCHC) 930 AC_DEFINE(GLOB_HAS_GL_MATCHC, 1,
931 [Define if your system glob() function has
932 gl_matchc options in glob_t])
893 AC_MSG_RESULT(yes) 933 AC_MSG_RESULT(yes)
894 ], 934 ],
895 [ 935 [
@@ -907,7 +947,9 @@ int main(void){struct dirent d;exit(sizeof(d.d_name)<=sizeof(char));}
907 [AC_MSG_RESULT(yes)], 947 [AC_MSG_RESULT(yes)],
908 [ 948 [
909 AC_MSG_RESULT(no) 949 AC_MSG_RESULT(no)
910 AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME) 950 AC_DEFINE(BROKEN_ONE_BYTE_DIRENT_D_NAME, 1,
951 [Define if your struct dirent expects you to
952 allocate extra space for d_name])
911 ], 953 ],
912 [ 954 [
913 AC_MSG_WARN([cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME]) 955 AC_MSG_WARN([cross compiling: assuming BROKEN_ONE_BYTE_DIRENT_D_NAME])
@@ -917,7 +959,7 @@ int main(void){struct dirent d;exit(sizeof(d.d_name)<=sizeof(char));}
917 959
918AC_MSG_CHECKING([for /proc/pid/fd directory]) 960AC_MSG_CHECKING([for /proc/pid/fd directory])
919if test -d "/proc/$$/fd" ; then 961if test -d "/proc/$$/fd" ; then
920 AC_DEFINE(HAVE_PROC_PID) 962 AC_DEFINE(HAVE_PROC_PID, 1, [Define if you have /proc/$pid/fd])
921 AC_MSG_RESULT(yes) 963 AC_MSG_RESULT(yes)
922else 964else
923 AC_MSG_RESULT(no) 965 AC_MSG_RESULT(no)
@@ -935,17 +977,17 @@ AC_ARG_WITH(skey,
935 LDFLAGS="$LDFLAGS -L${withval}/lib" 977 LDFLAGS="$LDFLAGS -L${withval}/lib"
936 fi 978 fi
937 979
938 AC_DEFINE(SKEY) 980 AC_DEFINE(SKEY, 1, [Define if you want S/Key support])
939 LIBS="-lskey $LIBS" 981 LIBS="-lskey $LIBS"
940 SKEY_MSG="yes" 982 SKEY_MSG="yes"
941 983
942 AC_MSG_CHECKING([for s/key support]) 984 AC_MSG_CHECKING([for s/key support])
943 AC_TRY_RUN( 985 AC_LINK_IFELSE(
944 [ 986 [AC_LANG_SOURCE([[
945#include <stdio.h> 987#include <stdio.h>
946#include <skey.h> 988#include <skey.h>
947int main() { char *ff = skey_keyinfo(""); ff=""; exit(0); } 989int main() { char *ff = skey_keyinfo(""); ff=""; exit(0); }
948 ], 990 ]])],
949 [AC_MSG_RESULT(yes)], 991 [AC_MSG_RESULT(yes)],
950 [ 992 [
951 AC_MSG_RESULT(no) 993 AC_MSG_RESULT(no)
@@ -957,7 +999,9 @@ int main() { char *ff = skey_keyinfo(""); ff=""; exit(0); }
957 #include <skey.h>], 999 #include <skey.h>],
958 [(void)skeychallenge(NULL,"name","",0);], 1000 [(void)skeychallenge(NULL,"name","",0);],
959 [AC_MSG_RESULT(yes) 1001 [AC_MSG_RESULT(yes)
960 AC_DEFINE(SKEYCHALLENGE_4ARG)], 1002 AC_DEFINE(SKEYCHALLENGE_4ARG, 1,
1003 [Define if your skeychallenge()
1004 function takes 4 arguments (NetBSD)])],
961 [AC_MSG_RESULT(no)] 1005 [AC_MSG_RESULT(no)]
962 ) 1006 )
963 fi 1007 fi
@@ -1008,7 +1052,9 @@ AC_ARG_WITH(tcp-wrappers,
1008 [hosts_access(0);], 1052 [hosts_access(0);],
1009 [ 1053 [
1010 AC_MSG_RESULT(yes) 1054 AC_MSG_RESULT(yes)
1011 AC_DEFINE(LIBWRAP) 1055 AC_DEFINE(LIBWRAP, 1,
1056 [Define if you want
1057 TCP Wrappers support])
1012 AC_SUBST(LIBWRAP) 1058 AC_SUBST(LIBWRAP)
1013 TCPW_MSG="yes" 1059 TCPW_MSG="yes"
1014 ], 1060 ],
@@ -1027,11 +1073,15 @@ AC_ARG_WITH(libedit,
1027 [ --with-libedit[[=PATH]] Enable libedit support for sftp], 1073 [ --with-libedit[[=PATH]] Enable libedit support for sftp],
1028 [ if test "x$withval" != "xno" ; then 1074 [ if test "x$withval" != "xno" ; then
1029 if test "x$withval" != "xyes"; then 1075 if test "x$withval" != "xyes"; then
1030 CPPFLAGS="$CPPFLAGS -I$withval/include" 1076 CPPFLAGS="$CPPFLAGS -I${withval}/include"
1031 LDFLAGS="$LDFLAGS -L$withval/lib" 1077 if test -n "${need_dash_r}"; then
1078 LDFLAGS="-L${withval}/lib -R${withval}/lib ${LDFLAGS}"
1079 else
1080 LDFLAGS="-L${withval}/lib ${LDFLAGS}"
1081 fi
1032 fi 1082 fi
1033 AC_CHECK_LIB(edit, el_init, 1083 AC_CHECK_LIB(edit, el_init,
1034 [ AC_DEFINE(USE_LIBEDIT, [], [Use libedit for sftp]) 1084 [ AC_DEFINE(USE_LIBEDIT, 1, [Use libedit for sftp])
1035 LIBEDIT="-ledit -lcurses" 1085 LIBEDIT="-ledit -lcurses"
1036 LIBEDIT_MSG="yes" 1086 LIBEDIT_MSG="yes"
1037 AC_SUBST(LIBEDIT) 1087 AC_SUBST(LIBEDIT)
@@ -1075,12 +1125,12 @@ AC_ARG_WITH(audit,
1075 [AC_MSG_ERROR(BSM enabled and required function not found)]) 1125 [AC_MSG_ERROR(BSM enabled and required function not found)])
1076 # These are optional 1126 # These are optional
1077 AC_CHECK_FUNCS(getaudit_addr) 1127 AC_CHECK_FUNCS(getaudit_addr)
1078 AC_DEFINE(USE_BSM_AUDIT, [], [Use BSM audit module]) 1128 AC_DEFINE(USE_BSM_AUDIT, 1, [Use BSM audit module])
1079 ;; 1129 ;;
1080 debug) 1130 debug)
1081 AUDIT_MODULE=debug 1131 AUDIT_MODULE=debug
1082 AC_MSG_RESULT(debug) 1132 AC_MSG_RESULT(debug)
1083 AC_DEFINE(SSH_AUDIT_EVENTS, [], Use audit debugging module) 1133 AC_DEFINE(SSH_AUDIT_EVENTS, 1, Use audit debugging module)
1084 ;; 1134 ;;
1085 no) 1135 no)
1086 AC_MSG_RESULT(no) 1136 AC_MSG_RESULT(no)
@@ -1094,6 +1144,7 @@ AC_ARG_WITH(audit,
1094dnl Checks for library functions. Please keep in alphabetical order 1144dnl Checks for library functions. Please keep in alphabetical order
1095AC_CHECK_FUNCS( \ 1145AC_CHECK_FUNCS( \
1096 arc4random \ 1146 arc4random \
1147 asprintf \
1097 b64_ntop \ 1148 b64_ntop \
1098 __b64_ntop \ 1149 __b64_ntop \
1099 b64_pton \ 1150 b64_pton \
@@ -1169,7 +1220,7 @@ AC_CHECK_FUNCS( \
1169 truncate \ 1220 truncate \
1170 unsetenv \ 1221 unsetenv \
1171 updwtmpx \ 1222 updwtmpx \
1172 utimes \ 1223 vasprintf \
1173 vhangup \ 1224 vhangup \
1174 vsnprintf \ 1225 vsnprintf \
1175 waitpid \ 1226 waitpid \
@@ -1190,7 +1241,8 @@ str = gai_strerror(0);],[
1190 AC_DEFINE(HAVE_CONST_GAI_STRERROR_PROTO, 1, 1241 AC_DEFINE(HAVE_CONST_GAI_STRERROR_PROTO, 1,
1191 [Define if gai_strerror() returns const char *])])]) 1242 [Define if gai_strerror() returns const char *])])])
1192 1243
1193AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP)) 1244AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP, 1,
1245 [Some systems put nanosleep outside of libc]))
1194 1246
1195dnl Make sure prototypes are defined for these before using them. 1247dnl Make sure prototypes are defined for these before using them.
1196AC_CHECK_DECL(getrusage, [AC_CHECK_FUNCS(getrusage)]) 1248AC_CHECK_DECL(getrusage, [AC_CHECK_FUNCS(getrusage)])
@@ -1222,7 +1274,8 @@ AC_CHECK_FUNCS(setresuid, [
1222int main(){errno=0; setresuid(0,0,0); if (errno==ENOSYS) exit(1); else exit(0);} 1274int main(){errno=0; setresuid(0,0,0); if (errno==ENOSYS) exit(1); else exit(0);}
1223 ]])], 1275 ]])],
1224 [AC_MSG_RESULT(yes)], 1276 [AC_MSG_RESULT(yes)],
1225 [AC_DEFINE(BROKEN_SETRESUID) 1277 [AC_DEFINE(BROKEN_SETRESUID, 1,
1278 [Define if your setresuid() is broken])
1226 AC_MSG_RESULT(not implemented)], 1279 AC_MSG_RESULT(not implemented)],
1227 [AC_MSG_WARN([cross compiling: not checking setresuid])] 1280 [AC_MSG_WARN([cross compiling: not checking setresuid])]
1228 ) 1281 )
@@ -1238,7 +1291,8 @@ AC_CHECK_FUNCS(setresgid, [
1238int main(){errno=0; setresgid(0,0,0); if (errno==ENOSYS) exit(1); else exit(0);} 1291int main(){errno=0; setresgid(0,0,0); if (errno==ENOSYS) exit(1); else exit(0);}
1239 ]])], 1292 ]])],
1240 [AC_MSG_RESULT(yes)], 1293 [AC_MSG_RESULT(yes)],
1241 [AC_DEFINE(BROKEN_SETRESGID) 1294 [AC_DEFINE(BROKEN_SETRESGID, 1,
1295 [Define if your setresgid() is broken])
1242 AC_MSG_RESULT(not implemented)], 1296 AC_MSG_RESULT(not implemented)],
1243 [AC_MSG_WARN([cross compiling: not checking setresuid])] 1297 [AC_MSG_WARN([cross compiling: not checking setresuid])]
1244 ) 1298 )
@@ -1254,13 +1308,16 @@ AC_CHECK_FUNCS(endutxent getutxent getutxid getutxline pututxline )
1254AC_CHECK_FUNCS(setutxent utmpxname) 1308AC_CHECK_FUNCS(setutxent utmpxname)
1255 1309
1256AC_CHECK_FUNC(daemon, 1310AC_CHECK_FUNC(daemon,
1257 [AC_DEFINE(HAVE_DAEMON)], 1311 [AC_DEFINE(HAVE_DAEMON, 1, [Define if your libraries define daemon()])],
1258 [AC_CHECK_LIB(bsd, daemon, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_DAEMON)])] 1312 [AC_CHECK_LIB(bsd, daemon,
1313 [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_DAEMON)])]
1259) 1314)
1260 1315
1261AC_CHECK_FUNC(getpagesize, 1316AC_CHECK_FUNC(getpagesize,
1262 [AC_DEFINE(HAVE_GETPAGESIZE)], 1317 [AC_DEFINE(HAVE_GETPAGESIZE, 1,
1263 [AC_CHECK_LIB(ucb, getpagesize, [LIBS="$LIBS -lucb"; AC_DEFINE(HAVE_GETPAGESIZE)])] 1318 [Define if your libraries define getpagesize()])],
1319 [AC_CHECK_LIB(ucb, getpagesize,
1320 [LIBS="$LIBS -lucb"; AC_DEFINE(HAVE_GETPAGESIZE)])]
1264) 1321)
1265 1322
1266# Check for broken snprintf 1323# Check for broken snprintf
@@ -1274,13 +1331,62 @@ int main(void){char b[5];snprintf(b,5,"123456789");exit(b[4]!='\0');}
1274 [AC_MSG_RESULT(yes)], 1331 [AC_MSG_RESULT(yes)],
1275 [ 1332 [
1276 AC_MSG_RESULT(no) 1333 AC_MSG_RESULT(no)
1277 AC_DEFINE(BROKEN_SNPRINTF) 1334 AC_DEFINE(BROKEN_SNPRINTF, 1,
1335 [Define if your snprintf is busted])
1278 AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor]) 1336 AC_MSG_WARN([****** Your snprintf() function is broken, complain to your vendor])
1279 ], 1337 ],
1280 [ AC_MSG_WARN([cross compiling: Assuming working snprintf()]) ] 1338 [ AC_MSG_WARN([cross compiling: Assuming working snprintf()]) ]
1281 ) 1339 )
1282fi 1340fi
1283 1341
1342# If we don't have a working asprintf, then we strongly depend on vsnprintf
1343# returning the right thing on overflow: the number of characters it tried to
1344# create (as per SUSv3)
1345if test "x$ac_cv_func_asprintf" != "xyes" && \
1346 test "x$ac_cv_func_vsnprintf" = "xyes" ; then
1347 AC_MSG_CHECKING([whether vsnprintf returns correct values on overflow])
1348 AC_RUN_IFELSE(
1349 [AC_LANG_SOURCE([[
1350#include <sys/types.h>
1351#include <stdio.h>
1352#include <stdarg.h>
1353
1354int x_snprintf(char *str,size_t count,const char *fmt,...)
1355{
1356 size_t ret; va_list ap;
1357 va_start(ap, fmt); ret = vsnprintf(str, count, fmt, ap); va_end(ap);
1358 return ret;
1359}
1360int main(void)
1361{
1362 char x[1];
1363 exit(x_snprintf(x, 1, "%s %d", "hello", 12345) == 11 ? 0 : 1);
1364} ]])],
1365 [AC_MSG_RESULT(yes)],
1366 [
1367 AC_MSG_RESULT(no)
1368 AC_DEFINE(BROKEN_SNPRINTF, 1,
1369 [Define if your snprintf is busted])
1370 AC_MSG_WARN([****** Your vsnprintf() function is broken, complain to your vendor])
1371 ],
1372 [ AC_MSG_WARN([cross compiling: Assuming working vsnprintf()]) ]
1373 )
1374fi
1375
1376# On systems where [v]snprintf is broken, but is declared in stdio,
1377# check that the fmt argument is const char * or just char *.
1378# This is only useful for when BROKEN_SNPRINTF
1379AC_MSG_CHECKING([whether snprintf can declare const char *fmt])
1380AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
1381 int snprintf(char *a, size_t b, const char *c, ...) { return 0; }
1382 int main(void) { snprintf(0, 0, 0); }
1383 ]])],
1384 [AC_MSG_RESULT(yes)
1385 AC_DEFINE(SNPRINTF_CONST, [const],
1386 [Define as const if snprintf() can declare const char *fmt])],
1387 [AC_MSG_RESULT(no)
1388 AC_DEFINE(SNPRINTF_CONST, [/* not const */])])
1389
1284# Check for missing getpeereid (or equiv) support 1390# Check for missing getpeereid (or equiv) support
1285NO_PEERCHECK="" 1391NO_PEERCHECK=""
1286if test "x$ac_cv_func_getpeereid" != "xyes" ; then 1392if test "x$ac_cv_func_getpeereid" != "xyes" ; then
@@ -1290,7 +1396,7 @@ if test "x$ac_cv_func_getpeereid" != "xyes" ; then
1290 #include <sys/socket.h>], 1396 #include <sys/socket.h>],
1291 [int i = SO_PEERCRED;], 1397 [int i = SO_PEERCRED;],
1292 [ AC_MSG_RESULT(yes) 1398 [ AC_MSG_RESULT(yes)
1293 AC_DEFINE(HAVE_SO_PEERCRED, [], [Have PEERCRED socket option]) 1399 AC_DEFINE(HAVE_SO_PEERCRED, 1, [Have PEERCRED socket option])
1294 ], 1400 ],
1295 [AC_MSG_RESULT(no) 1401 [AC_MSG_RESULT(no)
1296 NO_PEERCHECK=1] 1402 NO_PEERCHECK=1]
@@ -1300,21 +1406,21 @@ fi
1300dnl see whether mkstemp() requires XXXXXX 1406dnl see whether mkstemp() requires XXXXXX
1301if test "x$ac_cv_func_mkdtemp" = "xyes" ; then 1407if test "x$ac_cv_func_mkdtemp" = "xyes" ; then
1302AC_MSG_CHECKING([for (overly) strict mkstemp]) 1408AC_MSG_CHECKING([for (overly) strict mkstemp])
1303AC_TRY_RUN( 1409AC_RUN_IFELSE(
1304 [ 1410 [AC_LANG_SOURCE([[
1305#include <stdlib.h> 1411#include <stdlib.h>
1306main() { char template[]="conftest.mkstemp-test"; 1412main() { char template[]="conftest.mkstemp-test";
1307if (mkstemp(template) == -1) 1413if (mkstemp(template) == -1)
1308 exit(1); 1414 exit(1);
1309unlink(template); exit(0); 1415unlink(template); exit(0);
1310} 1416}
1311 ], 1417 ]])],
1312 [ 1418 [
1313 AC_MSG_RESULT(no) 1419 AC_MSG_RESULT(no)
1314 ], 1420 ],
1315 [ 1421 [
1316 AC_MSG_RESULT(yes) 1422 AC_MSG_RESULT(yes)
1317 AC_DEFINE(HAVE_STRICT_MKSTEMP) 1423 AC_DEFINE(HAVE_STRICT_MKSTEMP, 1, [Silly mkstemp()])
1318 ], 1424 ],
1319 [ 1425 [
1320 AC_MSG_RESULT(yes) 1426 AC_MSG_RESULT(yes)
@@ -1326,8 +1432,8 @@ fi
1326dnl make sure that openpty does not reacquire controlling terminal 1432dnl make sure that openpty does not reacquire controlling terminal
1327if test ! -z "$check_for_openpty_ctty_bug"; then 1433if test ! -z "$check_for_openpty_ctty_bug"; then
1328 AC_MSG_CHECKING(if openpty correctly handles controlling tty) 1434 AC_MSG_CHECKING(if openpty correctly handles controlling tty)
1329 AC_TRY_RUN( 1435 AC_RUN_IFELSE(
1330 [ 1436 [AC_LANG_SOURCE([[
1331#include <stdio.h> 1437#include <stdio.h>
1332#include <sys/fcntl.h> 1438#include <sys/fcntl.h>
1333#include <sys/types.h> 1439#include <sys/types.h>
@@ -1359,13 +1465,16 @@ main()
1359 exit(0); /* Did not acquire ctty: OK */ 1465 exit(0); /* Did not acquire ctty: OK */
1360 } 1466 }
1361} 1467}
1362 ], 1468 ]])],
1363 [ 1469 [
1364 AC_MSG_RESULT(yes) 1470 AC_MSG_RESULT(yes)
1365 ], 1471 ],
1366 [ 1472 [
1367 AC_MSG_RESULT(no) 1473 AC_MSG_RESULT(no)
1368 AC_DEFINE(SSHD_ACQUIRES_CTTY) 1474 AC_DEFINE(SSHD_ACQUIRES_CTTY)
1475 ],
1476 [
1477 AC_MSG_RESULT(cross-compiling, assuming yes)
1369 ] 1478 ]
1370 ) 1479 )
1371fi 1480fi
@@ -1373,8 +1482,8 @@ fi
1373if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ 1482if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
1374 test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then 1483 test "x$check_for_hpux_broken_getaddrinfo" = "x1"; then
1375 AC_MSG_CHECKING(if getaddrinfo seems to work) 1484 AC_MSG_CHECKING(if getaddrinfo seems to work)
1376 AC_TRY_RUN( 1485 AC_RUN_IFELSE(
1377 [ 1486 [AC_LANG_SOURCE([[
1378#include <stdio.h> 1487#include <stdio.h>
1379#include <sys/socket.h> 1488#include <sys/socket.h>
1380#include <netdb.h> 1489#include <netdb.h>
@@ -1428,13 +1537,16 @@ main(void)
1428 } 1537 }
1429 exit(0); 1538 exit(0);
1430} 1539}
1431 ], 1540 ]])],
1432 [ 1541 [
1433 AC_MSG_RESULT(yes) 1542 AC_MSG_RESULT(yes)
1434 ], 1543 ],
1435 [ 1544 [
1436 AC_MSG_RESULT(no) 1545 AC_MSG_RESULT(no)
1437 AC_DEFINE(BROKEN_GETADDRINFO) 1546 AC_DEFINE(BROKEN_GETADDRINFO)
1547 ],
1548 [
1549 AC_MSG_RESULT(cross-compiling, assuming yes)
1438 ] 1550 ]
1439 ) 1551 )
1440fi 1552fi
@@ -1442,8 +1554,8 @@ fi
1442if test "x$ac_cv_func_getaddrinfo" = "xyes" && \ 1554if test "x$ac_cv_func_getaddrinfo" = "xyes" && \
1443 test "x$check_for_aix_broken_getaddrinfo" = "x1"; then 1555 test "x$check_for_aix_broken_getaddrinfo" = "x1"; then
1444 AC_MSG_CHECKING(if getaddrinfo seems to work) 1556 AC_MSG_CHECKING(if getaddrinfo seems to work)
1445 AC_TRY_RUN( 1557 AC_RUN_IFELSE(
1446 [ 1558 [AC_LANG_SOURCE([[
1447#include <stdio.h> 1559#include <stdio.h>
1448#include <sys/socket.h> 1560#include <sys/socket.h>
1449#include <netdb.h> 1561#include <netdb.h>
@@ -1485,15 +1597,18 @@ main(void)
1485 } 1597 }
1486 exit(0); 1598 exit(0);
1487} 1599}
1488 ], 1600 ]])],
1489 [ 1601 [
1490 AC_MSG_RESULT(yes) 1602 AC_MSG_RESULT(yes)
1491 AC_DEFINE(AIX_GETNAMEINFO_HACK, [], 1603 AC_DEFINE(AIX_GETNAMEINFO_HACK, 1,
1492[Define if you have a getaddrinfo that fails for the all-zeros IPv6 address]) 1604 [Define if you have a getaddrinfo that fails
1605 for the all-zeros IPv6 address])
1493 ], 1606 ],
1494 [ 1607 [
1495 AC_MSG_RESULT(no) 1608 AC_MSG_RESULT(no)
1496 AC_DEFINE(BROKEN_GETADDRINFO) 1609 AC_DEFINE(BROKEN_GETADDRINFO)
1610 ],
1611 AC_MSG_RESULT(cross-compiling, assuming no)
1497 ] 1612 ]
1498 ) 1613 )
1499fi 1614fi
@@ -1536,7 +1651,8 @@ AC_ARG_WITH(pam,
1536 1651
1537 PAM_MSG="yes" 1652 PAM_MSG="yes"
1538 1653
1539 AC_DEFINE(USE_PAM) 1654 AC_DEFINE(USE_PAM, 1,
1655 [Define if you want to enable PAM support])
1540 if test $ac_cv_lib_dl_dlopen = yes; then 1656 if test $ac_cv_lib_dl_dlopen = yes; then
1541 LIBPAM="-lpam -ldl" 1657 LIBPAM="-lpam -ldl"
1542 else 1658 else
@@ -1563,7 +1679,9 @@ if test "x$PAM_MSG" = "xyes" ; then
1563 [(void)pam_strerror((pam_handle_t *)NULL, -1);], 1679 [(void)pam_strerror((pam_handle_t *)NULL, -1);],
1564 [AC_MSG_RESULT(no)], 1680 [AC_MSG_RESULT(no)],
1565 [ 1681 [
1566 AC_DEFINE(HAVE_OLD_PAM) 1682 AC_DEFINE(HAVE_OLD_PAM, 1,
1683 [Define if you have an old version of PAM
1684 which takes only one argument to pam_strerror])
1567 AC_MSG_RESULT(yes) 1685 AC_MSG_RESULT(yes)
1568 PAM_MSG="yes (old library)" 1686 PAM_MSG="yes (old library)"
1569 ] 1687 ]
@@ -1603,7 +1721,9 @@ AC_ARG_WITH(ssl-dir,
1603 ] 1721 ]
1604) 1722)
1605LIBS="-lcrypto $LIBS" 1723LIBS="-lcrypto $LIBS"
1606AC_TRY_LINK_FUNC(RAND_add, AC_DEFINE(HAVE_OPENSSL), 1724AC_TRY_LINK_FUNC(RAND_add, AC_DEFINE(HAVE_OPENSSL, 1,
1725 [Define if your ssl headers are included
1726 with #include <openssl/header.h>]),
1607 [ 1727 [
1608 dnl Check default openssl install dir 1728 dnl Check default openssl install dir
1609 if test -n "${need_dash_r}"; then 1729 if test -n "${need_dash_r}"; then
@@ -1713,6 +1833,24 @@ Also see contrib/findssl.sh for help identifying header/library mismatches.])
1713 ] 1833 ]
1714) 1834)
1715 1835
1836# Check for OpenSSL without EVP_aes_{192,256}_cbc
1837AC_MSG_CHECKING([whether OpenSSL has crippled AES support])
1838AC_COMPILE_IFELSE(
1839 [AC_LANG_SOURCE([[
1840#include <string.h>
1841#include <openssl/evp.h>
1842int main(void) { exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL);}
1843 ]])],
1844 [
1845 AC_MSG_RESULT(no)
1846 ],
1847 [
1848 AC_MSG_RESULT(yes)
1849 AC_DEFINE(OPENSSL_LOBOTOMISED_AES, 1,
1850 [libcrypto is missing AES 192 and 256 bit functions])
1851 ]
1852)
1853
1716# Some systems want crypt() from libcrypt, *not* the version in OpenSSL, 1854# Some systems want crypt() from libcrypt, *not* the version in OpenSSL,
1717# because the system crypt() is more featureful. 1855# because the system crypt() is more featureful.
1718if test "x$check_for_libcrypt_before" = "x1"; then 1856if test "x$check_for_libcrypt_before" = "x1"; then
@@ -1777,7 +1915,8 @@ AC_ARG_WITH(rand-helper,
1777# Which randomness source do we use? 1915# Which randomness source do we use?
1778if test ! -z "$OPENSSL_SEEDS_ITSELF" && test -z "$USE_RAND_HELPER" ; then 1916if test ! -z "$OPENSSL_SEEDS_ITSELF" && test -z "$USE_RAND_HELPER" ; then
1779 # OpenSSL only 1917 # OpenSSL only
1780 AC_DEFINE(OPENSSL_PRNG_ONLY) 1918 AC_DEFINE(OPENSSL_PRNG_ONLY, 1,
1919 [Define if you want OpenSSL's internally seeded PRNG only])
1781 RAND_MSG="OpenSSL internal ONLY" 1920 RAND_MSG="OpenSSL internal ONLY"
1782 INSTALL_SSH_RAND_HELPER="" 1921 INSTALL_SSH_RAND_HELPER=""
1783elif test ! -z "$USE_RAND_HELPER" ; then 1922elif test ! -z "$USE_RAND_HELPER" ; then
@@ -1805,7 +1944,8 @@ AC_ARG_WITH(prngd-port,
1805 esac 1944 esac
1806 if test ! -z "$withval" ; then 1945 if test ! -z "$withval" ; then
1807 PRNGD_PORT="$withval" 1946 PRNGD_PORT="$withval"
1808 AC_DEFINE_UNQUOTED(PRNGD_PORT, $PRNGD_PORT) 1947 AC_DEFINE_UNQUOTED(PRNGD_PORT, $PRNGD_PORT,
1948 [Port number of PRNGD/EGD random number socket])
1809 fi 1949 fi
1810 ] 1950 ]
1811) 1951)
@@ -1836,7 +1976,8 @@ AC_ARG_WITH(prngd-socket,
1836 AC_MSG_WARN(Entropy socket is not readable) 1976 AC_MSG_WARN(Entropy socket is not readable)
1837 fi 1977 fi
1838 PRNGD_SOCKET="$withval" 1978 PRNGD_SOCKET="$withval"
1839 AC_DEFINE_UNQUOTED(PRNGD_SOCKET, "$PRNGD_SOCKET") 1979 AC_DEFINE_UNQUOTED(PRNGD_SOCKET, "$PRNGD_SOCKET",
1980 [Location of PRNGD/EGD random number socket])
1840 fi 1981 fi
1841 ], 1982 ],
1842 [ 1983 [
@@ -1871,7 +2012,8 @@ AC_ARG_WITH(entropy-timeout,
1871 fi 2012 fi
1872 ] 2013 ]
1873) 2014)
1874AC_DEFINE_UNQUOTED(ENTROPY_TIMEOUT_MSEC, $entropy_timeout) 2015AC_DEFINE_UNQUOTED(ENTROPY_TIMEOUT_MSEC, $entropy_timeout,
2016 [Builtin PRNG command timeout])
1875 2017
1876SSH_PRIVSEP_USER=sshd 2018SSH_PRIVSEP_USER=sshd
1877AC_ARG_WITH(privsep-user, 2019AC_ARG_WITH(privsep-user,
@@ -1883,7 +2025,8 @@ AC_ARG_WITH(privsep-user,
1883 fi 2025 fi
1884 ] 2026 ]
1885) 2027)
1886AC_DEFINE_UNQUOTED(SSH_PRIVSEP_USER, "$SSH_PRIVSEP_USER") 2028AC_DEFINE_UNQUOTED(SSH_PRIVSEP_USER, "$SSH_PRIVSEP_USER",
2029 [non-privileged user for privilege separation])
1887AC_SUBST(SSH_PRIVSEP_USER) 2030AC_SUBST(SSH_PRIVSEP_USER)
1888 2031
1889# We do this little dance with the search path to insure 2032# We do this little dance with the search path to insure
@@ -1941,7 +2084,10 @@ if test ! -z "$SONY" ; then
1941 LIBS="$LIBS -liberty"; 2084 LIBS="$LIBS -liberty";
1942fi 2085fi
1943 2086
1944# Checks for data types 2087# Check for long long datatypes
2088AC_CHECK_TYPES([long long, unsigned long long, long double])
2089
2090# Check datatype sizes
1945AC_CHECK_SIZEOF(char, 1) 2091AC_CHECK_SIZEOF(char, 1)
1946AC_CHECK_SIZEOF(short int, 2) 2092AC_CHECK_SIZEOF(short int, 2)
1947AC_CHECK_SIZEOF(int, 4) 2093AC_CHECK_SIZEOF(int, 4)
@@ -1953,6 +2099,84 @@ if test "x$ac_cv_sizeof_long_long_int" = "x4" ; then
1953 ac_cv_sizeof_long_long_int=0 2099 ac_cv_sizeof_long_long_int=0
1954fi 2100fi
1955 2101
2102# compute LLONG_MIN and LLONG_MAX if we don't know them.
2103if test -z "$have_llong_max"; then
2104 AC_MSG_CHECKING([for max value of long long])
2105 AC_RUN_IFELSE(
2106 [AC_LANG_SOURCE([[
2107#include <stdio.h>
2108/* Why is this so damn hard? */
2109#ifdef __GNUC__
2110# undef __GNUC__
2111#endif
2112#define __USE_ISOC99
2113#include <limits.h>
2114#define DATA "conftest.llminmax"
2115int main(void) {
2116 FILE *f;
2117 long long i, llmin, llmax = 0;
2118
2119 if((f = fopen(DATA,"w")) == NULL)
2120 exit(1);
2121
2122#if defined(LLONG_MIN) && defined(LLONG_MAX)
2123 fprintf(stderr, "Using system header for LLONG_MIN and LLONG_MAX\n");
2124 llmin = LLONG_MIN;
2125 llmax = LLONG_MAX;
2126#else
2127 fprintf(stderr, "Calculating LLONG_MIN and LLONG_MAX\n");
2128 /* This will work on one's complement and two's complement */
2129 for (i = 1; i > llmax; i <<= 1, i++)
2130 llmax = i;
2131 llmin = llmax + 1LL; /* wrap */
2132#endif
2133
2134 /* Sanity check */
2135 if (llmin + 1 < llmin || llmin - 1 < llmin || llmax + 1 > llmax
2136 || llmax - 1 > llmax) {
2137 fprintf(f, "unknown unknown\n");
2138 exit(2);
2139 }
2140
2141 if (fprintf(f ,"%lld %lld", llmin, llmax) < 0)
2142 exit(3);
2143
2144 exit(0);
2145}
2146 ]])],
2147 [
2148 llong_min=`$AWK '{print $1}' conftest.llminmax`
2149 llong_max=`$AWK '{print $2}' conftest.llminmax`
2150
2151 # snprintf on some Tru64s doesn't understand "%lld"
2152 case "$host" in
2153 alpha-dec-osf*)
2154 if test "x$ac_cv_sizeof_long_long_int" = "x8" &&
2155 test "x$llong_max" = "xld"; then
2156 llong_min="-9223372036854775808"
2157 llong_max="9223372036854775807"
2158 fi
2159 ;;
2160 esac
2161
2162 AC_MSG_RESULT($llong_max)
2163 AC_DEFINE_UNQUOTED(LLONG_MAX, [${llong_max}LL],
2164 [max value of long long calculated by configure])
2165 AC_MSG_CHECKING([for min value of long long])
2166 AC_MSG_RESULT($llong_min)
2167 AC_DEFINE_UNQUOTED(LLONG_MIN, [${llong_min}LL],
2168 [min value of long long calculated by configure])
2169 ],
2170 [
2171 AC_MSG_RESULT(not found)
2172 ],
2173 [
2174 AC_MSG_WARN([cross compiling: not checking])
2175 ]
2176 )
2177fi
2178
2179
1956# More checks for data types 2180# More checks for data types
1957AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [ 2181AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [
1958 AC_TRY_COMPILE( 2182 AC_TRY_COMPILE(
@@ -1963,7 +2187,7 @@ AC_CACHE_CHECK([for u_int type], ac_cv_have_u_int, [
1963 ) 2187 )
1964]) 2188])
1965if test "x$ac_cv_have_u_int" = "xyes" ; then 2189if test "x$ac_cv_have_u_int" = "xyes" ; then
1966 AC_DEFINE(HAVE_U_INT) 2190 AC_DEFINE(HAVE_U_INT, 1, [define if you have u_int data type])
1967 have_u_int=1 2191 have_u_int=1
1968fi 2192fi
1969 2193
@@ -1976,7 +2200,7 @@ AC_CACHE_CHECK([for intXX_t types], ac_cv_have_intxx_t, [
1976 ) 2200 )
1977]) 2201])
1978if test "x$ac_cv_have_intxx_t" = "xyes" ; then 2202if test "x$ac_cv_have_intxx_t" = "xyes" ; then
1979 AC_DEFINE(HAVE_INTXX_T) 2203 AC_DEFINE(HAVE_INTXX_T, 1, [define if you have intxx_t data type])
1980 have_intxx_t=1 2204 have_intxx_t=1
1981fi 2205fi
1982 2206
@@ -2013,7 +2237,7 @@ AC_CACHE_CHECK([for int64_t type], ac_cv_have_int64_t, [
2013 ) 2237 )
2014]) 2238])
2015if test "x$ac_cv_have_int64_t" = "xyes" ; then 2239if test "x$ac_cv_have_int64_t" = "xyes" ; then
2016 AC_DEFINE(HAVE_INT64_T) 2240 AC_DEFINE(HAVE_INT64_T, 1, [define if you have int64_t data type])
2017fi 2241fi
2018 2242
2019AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [ 2243AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [
@@ -2025,7 +2249,7 @@ AC_CACHE_CHECK([for u_intXX_t types], ac_cv_have_u_intxx_t, [
2025 ) 2249 )
2026]) 2250])
2027if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then 2251if test "x$ac_cv_have_u_intxx_t" = "xyes" ; then
2028 AC_DEFINE(HAVE_U_INTXX_T) 2252 AC_DEFINE(HAVE_U_INTXX_T, 1, [define if you have u_intxx_t data type])
2029 have_u_intxx_t=1 2253 have_u_intxx_t=1
2030fi 2254fi
2031 2255
@@ -2051,7 +2275,7 @@ AC_CACHE_CHECK([for u_int64_t types], ac_cv_have_u_int64_t, [
2051 ) 2275 )
2052]) 2276])
2053if test "x$ac_cv_have_u_int64_t" = "xyes" ; then 2277if test "x$ac_cv_have_u_int64_t" = "xyes" ; then
2054 AC_DEFINE(HAVE_U_INT64_T) 2278 AC_DEFINE(HAVE_U_INT64_T, 1, [define if you have u_int64_t data type])
2055 have_u_int64_t=1 2279 have_u_int64_t=1
2056fi 2280fi
2057 2281
@@ -2080,7 +2304,8 @@ if test -z "$have_u_intxx_t" ; then
2080 ) 2304 )
2081 ]) 2305 ])
2082 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then 2306 if test "x$ac_cv_have_uintxx_t" = "xyes" ; then
2083 AC_DEFINE(HAVE_UINTXX_T) 2307 AC_DEFINE(HAVE_UINTXX_T, 1,
2308 [define if you have uintxx_t data type])
2084 fi 2309 fi
2085fi 2310fi
2086 2311
@@ -2131,7 +2356,7 @@ AC_CACHE_CHECK([for u_char], ac_cv_have_u_char, [
2131 ) 2356 )
2132]) 2357])
2133if test "x$ac_cv_have_u_char" = "xyes" ; then 2358if test "x$ac_cv_have_u_char" = "xyes" ; then
2134 AC_DEFINE(HAVE_U_CHAR) 2359 AC_DEFINE(HAVE_U_CHAR, 1, [define if you have u_char data type])
2135fi 2360fi
2136 2361
2137TYPE_SOCKLEN_T 2362TYPE_SOCKLEN_T
@@ -2153,7 +2378,7 @@ AC_CACHE_CHECK([for size_t], ac_cv_have_size_t, [
2153 ) 2378 )
2154]) 2379])
2155if test "x$ac_cv_have_size_t" = "xyes" ; then 2380if test "x$ac_cv_have_size_t" = "xyes" ; then
2156 AC_DEFINE(HAVE_SIZE_T) 2381 AC_DEFINE(HAVE_SIZE_T, 1, [define if you have size_t data type])
2157fi 2382fi
2158 2383
2159AC_CACHE_CHECK([for ssize_t], ac_cv_have_ssize_t, [ 2384AC_CACHE_CHECK([for ssize_t], ac_cv_have_ssize_t, [
@@ -2167,7 +2392,7 @@ AC_CACHE_CHECK([for ssize_t], ac_cv_have_ssize_t, [
2167 ) 2392 )
2168]) 2393])
2169if test "x$ac_cv_have_ssize_t" = "xyes" ; then 2394if test "x$ac_cv_have_ssize_t" = "xyes" ; then
2170 AC_DEFINE(HAVE_SSIZE_T) 2395 AC_DEFINE(HAVE_SSIZE_T, 1, [define if you have ssize_t data type])
2171fi 2396fi
2172 2397
2173AC_CACHE_CHECK([for clock_t], ac_cv_have_clock_t, [ 2398AC_CACHE_CHECK([for clock_t], ac_cv_have_clock_t, [
@@ -2181,7 +2406,7 @@ AC_CACHE_CHECK([for clock_t], ac_cv_have_clock_t, [
2181 ) 2406 )
2182]) 2407])
2183if test "x$ac_cv_have_clock_t" = "xyes" ; then 2408if test "x$ac_cv_have_clock_t" = "xyes" ; then
2184 AC_DEFINE(HAVE_CLOCK_T) 2409 AC_DEFINE(HAVE_CLOCK_T, 1, [define if you have clock_t data type])
2185fi 2410fi
2186 2411
2187AC_CACHE_CHECK([for sa_family_t], ac_cv_have_sa_family_t, [ 2412AC_CACHE_CHECK([for sa_family_t], ac_cv_have_sa_family_t, [
@@ -2206,7 +2431,8 @@ AC_CACHE_CHECK([for sa_family_t], ac_cv_have_sa_family_t, [
2206 ) 2431 )
2207]) 2432])
2208if test "x$ac_cv_have_sa_family_t" = "xyes" ; then 2433if test "x$ac_cv_have_sa_family_t" = "xyes" ; then
2209 AC_DEFINE(HAVE_SA_FAMILY_T) 2434 AC_DEFINE(HAVE_SA_FAMILY_T, 1,
2435 [define if you have sa_family_t data type])
2210fi 2436fi
2211 2437
2212AC_CACHE_CHECK([for pid_t], ac_cv_have_pid_t, [ 2438AC_CACHE_CHECK([for pid_t], ac_cv_have_pid_t, [
@@ -2220,7 +2446,7 @@ AC_CACHE_CHECK([for pid_t], ac_cv_have_pid_t, [
2220 ) 2446 )
2221]) 2447])
2222if test "x$ac_cv_have_pid_t" = "xyes" ; then 2448if test "x$ac_cv_have_pid_t" = "xyes" ; then
2223 AC_DEFINE(HAVE_PID_T) 2449 AC_DEFINE(HAVE_PID_T, 1, [define if you have pid_t data type])
2224fi 2450fi
2225 2451
2226AC_CACHE_CHECK([for mode_t], ac_cv_have_mode_t, [ 2452AC_CACHE_CHECK([for mode_t], ac_cv_have_mode_t, [
@@ -2234,7 +2460,7 @@ AC_CACHE_CHECK([for mode_t], ac_cv_have_mode_t, [
2234 ) 2460 )
2235]) 2461])
2236if test "x$ac_cv_have_mode_t" = "xyes" ; then 2462if test "x$ac_cv_have_mode_t" = "xyes" ; then
2237 AC_DEFINE(HAVE_MODE_T) 2463 AC_DEFINE(HAVE_MODE_T, 1, [define if you have mode_t data type])
2238fi 2464fi
2239 2465
2240 2466
@@ -2250,7 +2476,8 @@ AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_have_struct_sockaddr_storage
2250 ) 2476 )
2251]) 2477])
2252if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then 2478if test "x$ac_cv_have_struct_sockaddr_storage" = "xyes" ; then
2253 AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE) 2479 AC_DEFINE(HAVE_STRUCT_SOCKADDR_STORAGE, 1,
2480 [define if you have struct sockaddr_storage data type])
2254fi 2481fi
2255 2482
2256AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [ 2483AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [
@@ -2265,7 +2492,8 @@ AC_CACHE_CHECK([for struct sockaddr_in6], ac_cv_have_struct_sockaddr_in6, [
2265 ) 2492 )
2266]) 2493])
2267if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then 2494if test "x$ac_cv_have_struct_sockaddr_in6" = "xyes" ; then
2268 AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6) 2495 AC_DEFINE(HAVE_STRUCT_SOCKADDR_IN6, 1,
2496 [define if you have struct sockaddr_in6 data type])
2269fi 2497fi
2270 2498
2271AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [ 2499AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [
@@ -2280,7 +2508,8 @@ AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [
2280 ) 2508 )
2281]) 2509])
2282if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then 2510if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then
2283 AC_DEFINE(HAVE_STRUCT_IN6_ADDR) 2511 AC_DEFINE(HAVE_STRUCT_IN6_ADDR, 1,
2512 [define if you have struct in6_addr data type])
2284fi 2513fi
2285 2514
2286AC_CACHE_CHECK([for struct addrinfo], ac_cv_have_struct_addrinfo, [ 2515AC_CACHE_CHECK([for struct addrinfo], ac_cv_have_struct_addrinfo, [
@@ -2296,7 +2525,8 @@ AC_CACHE_CHECK([for struct addrinfo], ac_cv_have_struct_addrinfo, [
2296 ) 2525 )
2297]) 2526])
2298if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then 2527if test "x$ac_cv_have_struct_addrinfo" = "xyes" ; then
2299 AC_DEFINE(HAVE_STRUCT_ADDRINFO) 2528 AC_DEFINE(HAVE_STRUCT_ADDRINFO, 1,
2529 [define if you have struct addrinfo data type])
2300fi 2530fi
2301 2531
2302AC_CACHE_CHECK([for struct timeval], ac_cv_have_struct_timeval, [ 2532AC_CACHE_CHECK([for struct timeval], ac_cv_have_struct_timeval, [
@@ -2308,7 +2538,7 @@ AC_CACHE_CHECK([for struct timeval], ac_cv_have_struct_timeval, [
2308 ) 2538 )
2309]) 2539])
2310if test "x$ac_cv_have_struct_timeval" = "xyes" ; then 2540if test "x$ac_cv_have_struct_timeval" = "xyes" ; then
2311 AC_DEFINE(HAVE_STRUCT_TIMEVAL) 2541 AC_DEFINE(HAVE_STRUCT_TIMEVAL, 1, [define if you have struct timeval])
2312 have_struct_timeval=1 2542 have_struct_timeval=1
2313fi 2543fi
2314 2544
@@ -2373,6 +2603,17 @@ OSSH_CHECK_HEADER_FOR_FIELD(ut_time, utmpx.h, HAVE_TIME_IN_UTMPX)
2373OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmpx.h, HAVE_TV_IN_UTMPX) 2603OSSH_CHECK_HEADER_FOR_FIELD(ut_tv, utmpx.h, HAVE_TV_IN_UTMPX)
2374 2604
2375AC_CHECK_MEMBERS([struct stat.st_blksize]) 2605AC_CHECK_MEMBERS([struct stat.st_blksize])
2606AC_CHECK_MEMBER([struct __res_state.retrans], [], [AC_DEFINE(__res_state, state,
2607 [Define if we don't have struct __res_state in resolv.h])],
2608[
2609#include <stdio.h>
2610#if HAVE_SYS_TYPES_H
2611# include <sys/types.h>
2612#endif
2613#include <netinet/in.h>
2614#include <arpa/nameser.h>
2615#include <resolv.h>
2616])
2376 2617
2377AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage], 2618AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage],
2378 ac_cv_have_ss_family_in_struct_ss, [ 2619 ac_cv_have_ss_family_in_struct_ss, [
@@ -2387,7 +2628,7 @@ AC_CACHE_CHECK([for ss_family field in struct sockaddr_storage],
2387 ) 2628 )
2388]) 2629])
2389if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then 2630if test "x$ac_cv_have_ss_family_in_struct_ss" = "xyes" ; then
2390 AC_DEFINE(HAVE_SS_FAMILY_IN_SS) 2631 AC_DEFINE(HAVE_SS_FAMILY_IN_SS, 1, [Fields in struct sockaddr_storage])
2391fi 2632fi
2392 2633
2393AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage], 2634AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage],
@@ -2403,7 +2644,8 @@ AC_CACHE_CHECK([for __ss_family field in struct sockaddr_storage],
2403 ) 2644 )
2404]) 2645])
2405if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then 2646if test "x$ac_cv_have___ss_family_in_struct_ss" = "xyes" ; then
2406 AC_DEFINE(HAVE___SS_FAMILY_IN_SS) 2647 AC_DEFINE(HAVE___SS_FAMILY_IN_SS, 1,
2648 [Fields in struct sockaddr_storage])
2407fi 2649fi
2408 2650
2409AC_CACHE_CHECK([for pw_class field in struct passwd], 2651AC_CACHE_CHECK([for pw_class field in struct passwd],
@@ -2418,7 +2660,8 @@ AC_CACHE_CHECK([for pw_class field in struct passwd],
2418 ) 2660 )
2419]) 2661])
2420if test "x$ac_cv_have_pw_class_in_struct_passwd" = "xyes" ; then 2662if test "x$ac_cv_have_pw_class_in_struct_passwd" = "xyes" ; then
2421 AC_DEFINE(HAVE_PW_CLASS_IN_PASSWD) 2663 AC_DEFINE(HAVE_PW_CLASS_IN_PASSWD, 1,
2664 [Define if your password has a pw_class field])
2422fi 2665fi
2423 2666
2424AC_CACHE_CHECK([for pw_expire field in struct passwd], 2667AC_CACHE_CHECK([for pw_expire field in struct passwd],
@@ -2433,7 +2676,8 @@ AC_CACHE_CHECK([for pw_expire field in struct passwd],
2433 ) 2676 )
2434]) 2677])
2435if test "x$ac_cv_have_pw_expire_in_struct_passwd" = "xyes" ; then 2678if test "x$ac_cv_have_pw_expire_in_struct_passwd" = "xyes" ; then
2436 AC_DEFINE(HAVE_PW_EXPIRE_IN_PASSWD) 2679 AC_DEFINE(HAVE_PW_EXPIRE_IN_PASSWD, 1,
2680 [Define if your password has a pw_expire field])
2437fi 2681fi
2438 2682
2439AC_CACHE_CHECK([for pw_change field in struct passwd], 2683AC_CACHE_CHECK([for pw_change field in struct passwd],
@@ -2448,7 +2692,8 @@ AC_CACHE_CHECK([for pw_change field in struct passwd],
2448 ) 2692 )
2449]) 2693])
2450if test "x$ac_cv_have_pw_change_in_struct_passwd" = "xyes" ; then 2694if test "x$ac_cv_have_pw_change_in_struct_passwd" = "xyes" ; then
2451 AC_DEFINE(HAVE_PW_CHANGE_IN_PASSWD) 2695 AC_DEFINE(HAVE_PW_CHANGE_IN_PASSWD, 1,
2696 [Define if your password has a pw_change field])
2452fi 2697fi
2453 2698
2454dnl make sure we're using the real structure members and not defines 2699dnl make sure we're using the real structure members and not defines
@@ -2474,7 +2719,9 @@ exit(0);
2474 ) 2719 )
2475]) 2720])
2476if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then 2721if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then
2477 AC_DEFINE(HAVE_ACCRIGHTS_IN_MSGHDR) 2722 AC_DEFINE(HAVE_ACCRIGHTS_IN_MSGHDR, 1,
2723 [Define if your system uses access rights style
2724 file descriptor passing])
2478fi 2725fi
2479 2726
2480AC_CACHE_CHECK([for msg_control field in struct msghdr], 2727AC_CACHE_CHECK([for msg_control field in struct msghdr],
@@ -2499,7 +2746,9 @@ exit(0);
2499 ) 2746 )
2500]) 2747])
2501if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then 2748if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then
2502 AC_DEFINE(HAVE_CONTROL_IN_MSGHDR) 2749 AC_DEFINE(HAVE_CONTROL_IN_MSGHDR, 1,
2750 [Define if your system uses ancillary data style
2751 file descriptor passing])
2503fi 2752fi
2504 2753
2505AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [ 2754AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [
@@ -2510,7 +2759,7 @@ AC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [
2510 ) 2759 )
2511]) 2760])
2512if test "x$ac_cv_libc_defines___progname" = "xyes" ; then 2761if test "x$ac_cv_libc_defines___progname" = "xyes" ; then
2513 AC_DEFINE(HAVE___PROGNAME) 2762 AC_DEFINE(HAVE___PROGNAME, 1, [Define if libc defines __progname])
2514fi 2763fi
2515 2764
2516AC_CACHE_CHECK([whether $CC implements __FUNCTION__], ac_cv_cc_implements___FUNCTION__, [ 2765AC_CACHE_CHECK([whether $CC implements __FUNCTION__], ac_cv_cc_implements___FUNCTION__, [
@@ -2523,7 +2772,8 @@ AC_CACHE_CHECK([whether $CC implements __FUNCTION__], ac_cv_cc_implements___FUNC
2523 ) 2772 )
2524]) 2773])
2525if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then 2774if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then
2526 AC_DEFINE(HAVE___FUNCTION__) 2775 AC_DEFINE(HAVE___FUNCTION__, 1,
2776 [Define if compiler implements __FUNCTION__])
2527fi 2777fi
2528 2778
2529AC_CACHE_CHECK([whether $CC implements __func__], ac_cv_cc_implements___func__, [ 2779AC_CACHE_CHECK([whether $CC implements __func__], ac_cv_cc_implements___func__, [
@@ -2536,7 +2786,33 @@ AC_CACHE_CHECK([whether $CC implements __func__], ac_cv_cc_implements___func__,
2536 ) 2786 )
2537]) 2787])
2538if test "x$ac_cv_cc_implements___func__" = "xyes" ; then 2788if test "x$ac_cv_cc_implements___func__" = "xyes" ; then
2539 AC_DEFINE(HAVE___func__) 2789 AC_DEFINE(HAVE___func__, 1, [Define if compiler implements __func__])
2790fi
2791
2792AC_CACHE_CHECK([whether va_copy exists], ac_cv_have_va_copy, [
2793 AC_TRY_LINK(
2794 [#include <stdarg.h>
2795 va_list x,y;],
2796 [va_copy(x,y);],
2797 [ ac_cv_have_va_copy="yes" ],
2798 [ ac_cv_have_va_copy="no" ]
2799 )
2800])
2801if test "x$ac_cv_have_va_copy" = "xyes" ; then
2802 AC_DEFINE(HAVE_VA_COPY, 1, [Define if va_copy exists])
2803fi
2804
2805AC_CACHE_CHECK([whether __va_copy exists], ac_cv_have___va_copy, [
2806 AC_TRY_LINK(
2807 [#include <stdarg.h>
2808 va_list x,y;],
2809 [__va_copy(x,y);],
2810 [ ac_cv_have___va_copy="yes" ],
2811 [ ac_cv_have___va_copy="no" ]
2812 )
2813])
2814if test "x$ac_cv_have___va_copy" = "xyes" ; then
2815 AC_DEFINE(HAVE___VA_COPY, 1, [Define if __va_copy exists])
2540fi 2816fi
2541 2817
2542AC_CACHE_CHECK([whether getopt has optreset support], 2818AC_CACHE_CHECK([whether getopt has optreset support],
@@ -2551,7 +2827,8 @@ AC_CACHE_CHECK([whether getopt has optreset support],
2551 ) 2827 )
2552]) 2828])
2553if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then 2829if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then
2554 AC_DEFINE(HAVE_GETOPT_OPTRESET) 2830 AC_DEFINE(HAVE_GETOPT_OPTRESET, 1,
2831 [Define if your getopt(3) defines and uses optreset])
2555fi 2832fi
2556 2833
2557AC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [ 2834AC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [
@@ -2562,7 +2839,8 @@ AC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [
2562 ) 2839 )
2563]) 2840])
2564if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then 2841if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then
2565 AC_DEFINE(HAVE_SYS_ERRLIST) 2842 AC_DEFINE(HAVE_SYS_ERRLIST, 1,
2843 [Define if your system defines sys_errlist[]])
2566fi 2844fi
2567 2845
2568 2846
@@ -2574,7 +2852,7 @@ AC_CACHE_CHECK([if libc defines sys_nerr], ac_cv_libc_defines_sys_nerr, [
2574 ) 2852 )
2575]) 2853])
2576if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then 2854if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then
2577 AC_DEFINE(HAVE_SYS_NERR) 2855 AC_DEFINE(HAVE_SYS_NERR, 1, [Define if your system defines sys_nerr])
2578fi 2856fi
2579 2857
2580SCARD_MSG="no" 2858SCARD_MSG="no"
@@ -2601,8 +2879,11 @@ AC_ARG_WITH(sectok,
2601 if test "$ac_cv_lib_sectok_sectok_open" != yes; then 2879 if test "$ac_cv_lib_sectok_sectok_open" != yes; then
2602 AC_MSG_ERROR(Can't find libsectok) 2880 AC_MSG_ERROR(Can't find libsectok)
2603 fi 2881 fi
2604 AC_DEFINE(SMARTCARD) 2882 AC_DEFINE(SMARTCARD, 1,
2605 AC_DEFINE(USE_SECTOK) 2883 [Define if you want smartcard support])
2884 AC_DEFINE(USE_SECTOK, 1,
2885 [Define if you want smartcard support
2886 using sectok])
2606 SCARD_MSG="yes, using sectok" 2887 SCARD_MSG="yes, using sectok"
2607 fi 2888 fi
2608 ] 2889 ]
@@ -2611,7 +2892,7 @@ AC_ARG_WITH(sectok,
2611# Check whether user wants OpenSC support 2892# Check whether user wants OpenSC support
2612OPENSC_CONFIG="no" 2893OPENSC_CONFIG="no"
2613AC_ARG_WITH(opensc, 2894AC_ARG_WITH(opensc,
2614 [--with-opensc[[=PFX]] Enable smartcard support using OpenSC (optionally in PATH)], 2895 [ --with-opensc[[=PFX]] Enable smartcard support using OpenSC (optionally in PATH)],
2615 [ 2896 [
2616 if test "x$withval" != "xno" ; then 2897 if test "x$withval" != "xno" ; then
2617 if test "x$withval" != "xyes" ; then 2898 if test "x$withval" != "xyes" ; then
@@ -2625,7 +2906,9 @@ AC_ARG_WITH(opensc,
2625 CPPFLAGS="$CPPFLAGS $LIBOPENSC_CFLAGS" 2906 CPPFLAGS="$CPPFLAGS $LIBOPENSC_CFLAGS"
2626 LDFLAGS="$LDFLAGS $LIBOPENSC_LIBS" 2907 LDFLAGS="$LDFLAGS $LIBOPENSC_LIBS"
2627 AC_DEFINE(SMARTCARD) 2908 AC_DEFINE(SMARTCARD)
2628 AC_DEFINE(USE_OPENSC) 2909 AC_DEFINE(USE_OPENSC, 1,
2910 [Define if you want smartcard support
2911 using OpenSC])
2629 SCARD_MSG="yes, using OpenSC" 2912 SCARD_MSG="yes, using OpenSC"
2630 fi 2913 fi
2631 fi 2914 fi
@@ -2634,7 +2917,8 @@ AC_ARG_WITH(opensc,
2634 2917
2635# Check libraries needed by DNS fingerprint support 2918# Check libraries needed by DNS fingerprint support
2636AC_SEARCH_LIBS(getrrsetbyname, resolv, 2919AC_SEARCH_LIBS(getrrsetbyname, resolv,
2637 [AC_DEFINE(HAVE_GETRRSETBYNAME)], 2920 [AC_DEFINE(HAVE_GETRRSETBYNAME, 1,
2921 [Define if getrrsetbyname() exists])],
2638 [ 2922 [
2639 # Needed by our getrrsetbyname() 2923 # Needed by our getrrsetbyname()
2640 AC_SEARCH_LIBS(res_query, resolv) 2924 AC_SEARCH_LIBS(res_query, resolv)
@@ -2663,7 +2947,8 @@ int main()
2663 [#include <sys/types.h> 2947 [#include <sys/types.h>
2664 #include <arpa/nameser.h>]) 2948 #include <arpa/nameser.h>])
2665 AC_CHECK_MEMBER(HEADER.ad, 2949 AC_CHECK_MEMBER(HEADER.ad,
2666 [AC_DEFINE(HAVE_HEADER_AD)],, 2950 [AC_DEFINE(HAVE_HEADER_AD, 1,
2951 [Define if HEADER.ad exists in arpa/nameser.h])],,
2667 [#include <arpa/nameser.h>]) 2952 [#include <arpa/nameser.h>])
2668 ]) 2953 ])
2669 2954
@@ -2678,7 +2963,7 @@ AC_ARG_WITH(kerberos5,
2678 KRB5ROOT=${withval} 2963 KRB5ROOT=${withval}
2679 fi 2964 fi
2680 2965
2681 AC_DEFINE(KRB5) 2966 AC_DEFINE(KRB5, 1, [Define if you want Kerberos 5 support])
2682 KRB5_MSG="yes" 2967 KRB5_MSG="yes"
2683 2968
2684 AC_MSG_CHECKING(for krb5-config) 2969 AC_MSG_CHECKING(for krb5-config)
@@ -2689,7 +2974,9 @@ AC_ARG_WITH(kerberos5,
2689 AC_MSG_CHECKING(for gssapi support) 2974 AC_MSG_CHECKING(for gssapi support)
2690 if $KRB5CONF | grep gssapi >/dev/null ; then 2975 if $KRB5CONF | grep gssapi >/dev/null ; then
2691 AC_MSG_RESULT(yes) 2976 AC_MSG_RESULT(yes)
2692 AC_DEFINE(GSSAPI) 2977 AC_DEFINE(GSSAPI, 1,
2978 [Define this if you want GSSAPI
2979 support in the version 2 protocol])
2693 k5confopts=gssapi 2980 k5confopts=gssapi
2694 else 2981 else
2695 AC_MSG_RESULT(no) 2982 AC_MSG_RESULT(no)
@@ -2702,7 +2989,9 @@ AC_ARG_WITH(kerberos5,
2702 AC_TRY_COMPILE([ #include <krb5.h> ], 2989 AC_TRY_COMPILE([ #include <krb5.h> ],
2703 [ char *tmp = heimdal_version; ], 2990 [ char *tmp = heimdal_version; ],
2704 [ AC_MSG_RESULT(yes) 2991 [ AC_MSG_RESULT(yes)
2705 AC_DEFINE(HEIMDAL) ], 2992 AC_DEFINE(HEIMDAL, 1,
2993 [Define this if you are using the
2994 Heimdal version of Kerberos V5]) ],
2706 AC_MSG_RESULT(no) 2995 AC_MSG_RESULT(no)
2707 ) 2996 )
2708 else 2997 else
@@ -2757,14 +3046,15 @@ AC_ARG_WITH(kerberos5,
2757 if test ! -z "$blibpath" ; then 3046 if test ! -z "$blibpath" ; then
2758 blibpath="$blibpath:${KRB5ROOT}/lib" 3047 blibpath="$blibpath:${KRB5ROOT}/lib"
2759 fi 3048 fi
2760 fi
2761 3049
2762 AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h) 3050 AC_CHECK_HEADERS(gssapi.h gssapi/gssapi.h)
2763 AC_CHECK_HEADERS(gssapi_krb5.h gssapi/gssapi_krb5.h) 3051 AC_CHECK_HEADERS(gssapi_krb5.h gssapi/gssapi_krb5.h)
2764 AC_CHECK_HEADERS(gssapi_generic.h gssapi/gssapi_generic.h) 3052 AC_CHECK_HEADERS(gssapi_generic.h gssapi/gssapi_generic.h)
2765 3053
2766 LIBS="$LIBS $K5LIBS" 3054 LIBS="$LIBS $K5LIBS"
2767 AC_SEARCH_LIBS(k_hasafs, kafs, AC_DEFINE(USE_AFS)) 3055 AC_SEARCH_LIBS(k_hasafs, kafs, AC_DEFINE(USE_AFS, 1,
3056 [Define this if you want to use libkafs' AFS support]))
3057 fi
2768 ] 3058 ]
2769) 3059)
2770 3060
@@ -2818,7 +3108,8 @@ if test -z "$xauth_path" ; then
2818 XAUTH_PATH="undefined" 3108 XAUTH_PATH="undefined"
2819 AC_SUBST(XAUTH_PATH) 3109 AC_SUBST(XAUTH_PATH)
2820else 3110else
2821 AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path") 3111 AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path",
3112 [Define if xauth is found in your path])
2822 XAUTH_PATH=$xauth_path 3113 XAUTH_PATH=$xauth_path
2823 AC_SUBST(XAUTH_PATH) 3114 AC_SUBST(XAUTH_PATH)
2824fi 3115fi
@@ -2826,7 +3117,8 @@ fi
2826# Check for mail directory (last resort if we cannot get it from headers) 3117# Check for mail directory (last resort if we cannot get it from headers)
2827if test ! -z "$MAIL" ; then 3118if test ! -z "$MAIL" ; then
2828 maildir=`dirname $MAIL` 3119 maildir=`dirname $MAIL`
2829 AC_DEFINE_UNQUOTED(MAIL_DIRECTORY, "$maildir") 3120 AC_DEFINE_UNQUOTED(MAIL_DIRECTORY, "$maildir",
3121 [Set this to your mail directory if you don't have maillock.h])
2830fi 3122fi
2831 3123
2832if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then 3124if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; then
@@ -2837,7 +3129,8 @@ if test -z "$no_dev_ptmx" ; then
2837 if test "x$disable_ptmx_check" != "xyes" ; then 3129 if test "x$disable_ptmx_check" != "xyes" ; then
2838 AC_CHECK_FILE("/dev/ptmx", 3130 AC_CHECK_FILE("/dev/ptmx",
2839 [ 3131 [
2840 AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX) 3132 AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX, 1,
3133 [Define if you have /dev/ptmx])
2841 have_dev_ptmx=1 3134 have_dev_ptmx=1
2842 ] 3135 ]
2843 ) 3136 )
@@ -2847,7 +3140,8 @@ fi
2847if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then 3140if test ! -z "$cross_compiling" && test "x$cross_compiling" != "xyes"; then
2848 AC_CHECK_FILE("/dev/ptc", 3141 AC_CHECK_FILE("/dev/ptc",
2849 [ 3142 [
2850 AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC) 3143 AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC, 1,
3144 [Define if you have /dev/ptc])
2851 have_dev_ptc=1 3145 have_dev_ptc=1
2852 ] 3146 ]
2853 ) 3147 )
@@ -2894,7 +3188,8 @@ AC_ARG_WITH(md5-passwords,
2894 [ --with-md5-passwords Enable use of MD5 passwords], 3188 [ --with-md5-passwords Enable use of MD5 passwords],
2895 [ 3189 [
2896 if test "x$withval" != "xno" ; then 3190 if test "x$withval" != "xno" ; then
2897 AC_DEFINE(HAVE_MD5_PASSWORDS) 3191 AC_DEFINE(HAVE_MD5_PASSWORDS, 1,
3192 [Define if you want to allow MD5 passwords])
2898 MD5_MSG="yes" 3193 MD5_MSG="yes"
2899 fi 3194 fi
2900 ] 3195 ]
@@ -2924,7 +3219,8 @@ if test -z "$disable_shadow" ; then
2924 3219
2925 if test "x$sp_expire_available" = "xyes" ; then 3220 if test "x$sp_expire_available" = "xyes" ; then
2926 AC_MSG_RESULT(yes) 3221 AC_MSG_RESULT(yes)
2927 AC_DEFINE(HAS_SHADOW_EXPIRE) 3222 AC_DEFINE(HAS_SHADOW_EXPIRE, 1,
3223 [Define if you want to use shadow password expire field])
2928 else 3224 else
2929 AC_MSG_RESULT(no) 3225 AC_MSG_RESULT(no)
2930 fi 3226 fi
@@ -2933,7 +3229,9 @@ fi
2933# Use ip address instead of hostname in $DISPLAY 3229# Use ip address instead of hostname in $DISPLAY
2934if test ! -z "$IPADDR_IN_DISPLAY" ; then 3230if test ! -z "$IPADDR_IN_DISPLAY" ; then
2935 DISPLAY_HACK_MSG="yes" 3231 DISPLAY_HACK_MSG="yes"
2936 AC_DEFINE(IPADDR_IN_DISPLAY) 3232 AC_DEFINE(IPADDR_IN_DISPLAY, 1,
3233 [Define if you need to use IP address
3234 instead of hostname in $DISPLAY])
2937else 3235else
2938 DISPLAY_HACK_MSG="no" 3236 DISPLAY_HACK_MSG="no"
2939 AC_ARG_WITH(ipaddr-display, 3237 AC_ARG_WITH(ipaddr-display,
@@ -2956,17 +3254,21 @@ AC_ARG_ENABLE(etc-default-login,
2956 else 3254 else
2957 etc_default_login=yes 3255 etc_default_login=yes
2958 fi ], 3256 fi ],
2959 [ etc_default_login=yes ] 3257 [ if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes";
3258 then
3259 AC_MSG_WARN([cross compiling: not checking /etc/default/login])
3260 etc_default_login=no
3261 else
3262 etc_default_login=yes
3263 fi ]
2960) 3264)
2961 3265
2962if test "x$etc_default_login" != "xno"; then 3266if test "x$etc_default_login" != "xno"; then
2963 AC_CHECK_FILE("/etc/default/login", 3267 AC_CHECK_FILE("/etc/default/login",
2964 [ external_path_file=/etc/default/login ]) 3268 [ external_path_file=/etc/default/login ])
2965 if test ! -z "$cross_compiling" && test "x$cross_compiling" = "xyes"; 3269 if test "x$external_path_file" = "x/etc/default/login"; then
2966 then 3270 AC_DEFINE(HAVE_ETC_DEFAULT_LOGIN, 1,
2967 AC_MSG_WARN([cross compiling: Disabling /etc/default/login test]) 3271 [Define if your system has /etc/default/login])
2968 elif test "x$external_path_file" = "x/etc/default/login"; then
2969 AC_DEFINE(HAVE_ETC_DEFAULT_LOGIN)
2970 fi 3272 fi
2971fi 3273fi
2972 3274
@@ -3003,8 +3305,8 @@ $external_path_file .])
3003If PATH is defined in $external_path_file, ensure the path to scp is included, 3305If PATH is defined in $external_path_file, ensure the path to scp is included,
3004otherwise scp will not work.]) 3306otherwise scp will not work.])
3005 fi 3307 fi
3006 AC_TRY_RUN( 3308 AC_RUN_IFELSE(
3007 [ 3309 [AC_LANG_SOURCE([[
3008/* find out what STDPATH is */ 3310/* find out what STDPATH is */
3009#include <stdio.h> 3311#include <stdio.h>
3010#ifdef HAVE_PATHS_H 3312#ifdef HAVE_PATHS_H
@@ -3036,7 +3338,8 @@ main()
3036 3338
3037 exit(0); 3339 exit(0);
3038} 3340}
3039 ], [ user_path=`cat conftest.stdpath` ], 3341 ]])],
3342 [ user_path=`cat conftest.stdpath` ],
3040 [ user_path="/usr/bin:/bin:/usr/sbin:/sbin" ], 3343 [ user_path="/usr/bin:/bin:/usr/sbin:/sbin" ],
3041 [ user_path="/usr/bin:/bin:/usr/sbin:/sbin" ] 3344 [ user_path="/usr/bin:/bin:/usr/sbin:/sbin" ]
3042 ) 3345 )
@@ -3059,7 +3362,7 @@ main()
3059 fi ] 3362 fi ]
3060) 3363)
3061if test "x$external_path_file" != "x/etc/login.conf" ; then 3364if test "x$external_path_file" != "x/etc/login.conf" ; then
3062 AC_DEFINE_UNQUOTED(USER_PATH, "$user_path") 3365 AC_DEFINE_UNQUOTED(USER_PATH, "$user_path", [Specify default $PATH])
3063 AC_SUBST(user_path) 3366 AC_SUBST(user_path)
3064fi 3367fi
3065 3368
@@ -3069,7 +3372,9 @@ AC_ARG_WITH(superuser-path,
3069 [ 3372 [
3070 if test -n "$withval" && test "x$withval" != "xno" && \ 3373 if test -n "$withval" && test "x$withval" != "xno" && \
3071 test "x${withval}" != "xyes"; then 3374 test "x${withval}" != "xyes"; then
3072 AC_DEFINE_UNQUOTED(SUPERUSER_PATH, "$withval") 3375 AC_DEFINE_UNQUOTED(SUPERUSER_PATH, "$withval",
3376 [Define if you want a different $PATH
3377 for the superuser])
3073 superuser_path=$withval 3378 superuser_path=$withval
3074 fi 3379 fi
3075 ] 3380 ]
@@ -3083,7 +3388,9 @@ AC_ARG_WITH(4in6,
3083 [ 3388 [
3084 if test "x$withval" != "xno" ; then 3389 if test "x$withval" != "xno" ; then
3085 AC_MSG_RESULT(yes) 3390 AC_MSG_RESULT(yes)
3086 AC_DEFINE(IPV4_IN_IPV6) 3391 AC_DEFINE(IPV4_IN_IPV6, 1,
3392 [Detect IPv4 in IPv6 mapped addresses
3393 and treat as IPv4])
3087 IPV4_IN6_HACK_MSG="yes" 3394 IPV4_IN6_HACK_MSG="yes"
3088 else 3395 else
3089 AC_MSG_RESULT(no) 3396 AC_MSG_RESULT(no)
@@ -3105,7 +3412,8 @@ AC_ARG_WITH(bsd-auth,
3105 [ --with-bsd-auth Enable BSD auth support], 3412 [ --with-bsd-auth Enable BSD auth support],
3106 [ 3413 [
3107 if test "x$withval" != "xno" ; then 3414 if test "x$withval" != "xno" ; then
3108 AC_DEFINE(BSD_AUTH) 3415 AC_DEFINE(BSD_AUTH, 1,
3416 [Define if you have BSD auth support])
3109 BSD_AUTH_MSG=yes 3417 BSD_AUTH_MSG=yes
3110 fi 3418 fi
3111 ] 3419 ]
@@ -3134,7 +3442,7 @@ AC_ARG_WITH(pid-dir,
3134 ] 3442 ]
3135) 3443)
3136 3444
3137AC_DEFINE_UNQUOTED(_PATH_SSH_PIDDIR, "$piddir") 3445AC_DEFINE_UNQUOTED(_PATH_SSH_PIDDIR, "$piddir", [Specify location of ssh.pid])
3138AC_SUBST(piddir) 3446AC_SUBST(piddir)
3139 3447
3140dnl allow user to disable some login recording features 3448dnl allow user to disable some login recording features
@@ -3158,7 +3466,8 @@ AC_ARG_ENABLE(utmpx,
3158 [ --disable-utmpx disable use of utmpx even if detected [no]], 3466 [ --disable-utmpx disable use of utmpx even if detected [no]],
3159 [ 3467 [
3160 if test "x$enableval" = "xno" ; then 3468 if test "x$enableval" = "xno" ; then
3161 AC_DEFINE(DISABLE_UTMPX) 3469 AC_DEFINE(DISABLE_UTMPX, 1,
3470 [Define if you don't want to use utmpx])
3162 fi 3471 fi
3163 ] 3472 ]
3164) 3473)
@@ -3174,7 +3483,8 @@ AC_ARG_ENABLE(wtmpx,
3174 [ --disable-wtmpx disable use of wtmpx even if detected [no]], 3483 [ --disable-wtmpx disable use of wtmpx even if detected [no]],
3175 [ 3484 [
3176 if test "x$enableval" = "xno" ; then 3485 if test "x$enableval" = "xno" ; then
3177 AC_DEFINE(DISABLE_WTMPX) 3486 AC_DEFINE(DISABLE_WTMPX, 1,
3487 [Define if you don't want to use wtmpx])
3178 fi 3488 fi
3179 ] 3489 ]
3180) 3490)
@@ -3190,7 +3500,9 @@ AC_ARG_ENABLE(pututline,
3190 [ --disable-pututline disable use of pututline() etc. ([uw]tmp) [no]], 3500 [ --disable-pututline disable use of pututline() etc. ([uw]tmp) [no]],
3191 [ 3501 [
3192 if test "x$enableval" = "xno" ; then 3502 if test "x$enableval" = "xno" ; then
3193 AC_DEFINE(DISABLE_PUTUTLINE) 3503 AC_DEFINE(DISABLE_PUTUTLINE, 1,
3504 [Define if you don't want to use pututline()
3505 etc. to write [uw]tmp])
3194 fi 3506 fi
3195 ] 3507 ]
3196) 3508)
@@ -3198,7 +3510,9 @@ AC_ARG_ENABLE(pututxline,
3198 [ --disable-pututxline disable use of pututxline() etc. ([uw]tmpx) [no]], 3510 [ --disable-pututxline disable use of pututxline() etc. ([uw]tmpx) [no]],
3199 [ 3511 [
3200 if test "x$enableval" = "xno" ; then 3512 if test "x$enableval" = "xno" ; then
3201 AC_DEFINE(DISABLE_PUTUTXLINE) 3513 AC_DEFINE(DISABLE_PUTUTXLINE, 1,
3514 [Define if you don't want to use pututxline()
3515 etc. to write [uw]tmpx])
3202 fi 3516 fi
3203 ] 3517 ]
3204) 3518)
@@ -3273,7 +3587,8 @@ if test -z "$conf_lastlog_location"; then
3273fi 3587fi
3274 3588
3275if test -n "$conf_lastlog_location"; then 3589if test -n "$conf_lastlog_location"; then
3276 AC_DEFINE_UNQUOTED(CONF_LASTLOG_FILE, "$conf_lastlog_location") 3590 AC_DEFINE_UNQUOTED(CONF_LASTLOG_FILE, "$conf_lastlog_location",
3591 [Define if you want to specify the path to your lastlog file])
3277fi 3592fi
3278 3593
3279dnl utmp detection 3594dnl utmp detection
@@ -3303,7 +3618,8 @@ if test -z "$conf_utmp_location"; then
3303 fi 3618 fi
3304fi 3619fi
3305if test -n "$conf_utmp_location"; then 3620if test -n "$conf_utmp_location"; then
3306 AC_DEFINE_UNQUOTED(CONF_UTMP_FILE, "$conf_utmp_location") 3621 AC_DEFINE_UNQUOTED(CONF_UTMP_FILE, "$conf_utmp_location",
3622 [Define if you want to specify the path to your utmp file])
3307fi 3623fi
3308 3624
3309dnl wtmp detection 3625dnl wtmp detection
@@ -3333,7 +3649,8 @@ if test -z "$conf_wtmp_location"; then
3333 fi 3649 fi
3334fi 3650fi
3335if test -n "$conf_wtmp_location"; then 3651if test -n "$conf_wtmp_location"; then
3336 AC_DEFINE_UNQUOTED(CONF_WTMP_FILE, "$conf_wtmp_location") 3652 AC_DEFINE_UNQUOTED(CONF_WTMP_FILE, "$conf_wtmp_location",
3653 [Define if you want to specify the path to your wtmp file])
3337fi 3654fi
3338 3655
3339 3656
@@ -3361,7 +3678,8 @@ if test -z "$conf_utmpx_location"; then
3361 AC_DEFINE(DISABLE_UTMPX) 3678 AC_DEFINE(DISABLE_UTMPX)
3362 fi 3679 fi
3363else 3680else
3364 AC_DEFINE_UNQUOTED(CONF_UTMPX_FILE, "$conf_utmpx_location") 3681 AC_DEFINE_UNQUOTED(CONF_UTMPX_FILE, "$conf_utmpx_location",
3682 [Define if you want to specify the path to your utmpx file])
3365fi 3683fi
3366 3684
3367dnl wtmpx detection 3685dnl wtmpx detection
@@ -3386,7 +3704,8 @@ if test -z "$conf_wtmpx_location"; then
3386 AC_DEFINE(DISABLE_WTMPX) 3704 AC_DEFINE(DISABLE_WTMPX)
3387 fi 3705 fi
3388else 3706else
3389 AC_DEFINE_UNQUOTED(CONF_WTMPX_FILE, "$conf_wtmpx_location") 3707 AC_DEFINE_UNQUOTED(CONF_WTMPX_FILE, "$conf_wtmpx_location",
3708 [Define if you want to specify the path to your wtmpx file])
3390fi 3709fi
3391 3710
3392 3711