Deleted Added
sdiff udiff text old ( 113908 ) new ( 124208 )
full compact
1# $Id: configure.ac,v 1.154.2.11 2003/09/23 09:24:21 djm Exp $
2
3AC_INIT
4AC_CONFIG_SRCDIR([ssh.c])
5
6AC_CONFIG_HEADER(config.h)
7AC_PROG_CC
8AC_CANONICAL_HOST
9AC_C_BIGENDIAN
10
11# Checks for programs.
12AC_PROG_AWK
13AC_PROG_CPP
14AC_PROG_RANLIB
15AC_PROG_INSTALL
16AC_PATH_PROG(AR, ar)
17AC_PATH_PROGS(PERL, perl5 perl)
18AC_PATH_PROG(SED, sed)
19AC_SUBST(PERL)
20AC_PATH_PROG(ENT, ent)

--- 29 unchanged lines hidden (view full) ---

50AC_C_INLINE
51if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
52 CFLAGS="$CFLAGS -Wall -Wpointer-arith -Wno-uninitialized"
53fi
54
55# Check for some target-specific stuff
56case "$host" in
57*-*-aix*)
58 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
59 LDFLAGS="$LDFLAGS -L/usr/local/lib"
60 AC_MSG_CHECKING([how to specify blibpath for linker ($LD)])
61 if (test -z "$blibpath"); then
62 blibpath="/usr/lib:/lib:/usr/local/lib"
63 fi
64 saved_LDFLAGS="$LDFLAGS"
65 for tryflags in -blibpath: -Wl,-blibpath: -Wl,-rpath, ;do
66 if (test -z "$blibflags"); then
67 LDFLAGS="$saved_LDFLAGS $tryflags$blibpath"
68 AC_TRY_LINK([], [], [blibflags=$tryflags])
69 fi
70 done
71 if (test -z "$blibflags"); then
72 AC_MSG_RESULT(not found)
73 AC_MSG_ERROR([*** must be able to specify blibpath on AIX - check config.log])
74 else
75 AC_MSG_RESULT($blibflags)
76 fi
77 LDFLAGS="$saved_LDFLAGS"
78 dnl Check for authenticate. Might be in libs.a on older AIXes
79 AC_CHECK_FUNC(authenticate, [AC_DEFINE(WITH_AIXAUTHENTICATE)],
80 [AC_CHECK_LIB(s,authenticate,
81 [ AC_DEFINE(WITH_AIXAUTHENTICATE)
82 LIBS="$LIBS -ls"
83 ])
84 ])
85 dnl Check if loginfailed is declared and takes 4 arguments (AIX >= 5.2)
86 AC_CHECK_DECL(loginfailed,
87 [AC_MSG_CHECKING(if loginfailed takes 4 arguments)
88 AC_TRY_COMPILE(
89 [#include <usersec.h>],
90 [(void)loginfailed("user","host","tty",0);],
91 [AC_MSG_RESULT(yes)
92 AC_DEFINE(AIX_LOGINFAILED_4ARG)],
93 [AC_MSG_RESULT(no)]
94 )],
95 [],
96 [#include <usersec.h>]
97 )
98 AC_CHECK_FUNCS(setauthdb)
99 AC_DEFINE(BROKEN_GETADDRINFO)
100 AC_DEFINE(BROKEN_REALPATH)
101 AC_DEFINE(SETEUID_BREAKS_SETUID)
102 AC_DEFINE(BROKEN_SETREUID)
103 AC_DEFINE(BROKEN_SETREGID)
104 dnl AIX handles lastlog as part of its login message
105 AC_DEFINE(DISABLE_LASTLOG)
106 AC_DEFINE(LOGIN_NEEDS_UTMPX)
107 AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)
108 ;;
109*-*-cygwin*)
110 check_for_libcrypt_later=1
111 LIBS="$LIBS /usr/lib/textmode.o"
112 AC_DEFINE(HAVE_CYGWIN)
113 AC_DEFINE(USE_PIPES)
114 AC_DEFINE(DISABLE_SHADOW)
115 AC_DEFINE(IP_TOS_IS_BROKEN)
116 AC_DEFINE(NO_X11_UNIX_SOCKETS)
117 AC_DEFINE(NO_IPPORT_RESERVED_CONCEPT)
118 AC_DEFINE(DISABLE_FD_PASSING)
119 AC_DEFINE(SETGROUPS_NOOP)
120 ;;
121*-*-dgux*)
122 AC_DEFINE(IP_TOS_IS_BROKEN)

--- 4 unchanged lines hidden (view full) ---

127main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
128 exit(0);
129 else
130 exit(1);
131}], [AC_MSG_RESULT(working)],
132 [AC_MSG_RESULT(buggy)
133 AC_DEFINE(BROKEN_GETADDRINFO)],
134 [AC_MSG_RESULT(assume it is working)])
135 AC_DEFINE(SETEUID_BREAKS_SETUID)
136 AC_DEFINE(BROKEN_SETREUID)
137 AC_DEFINE(BROKEN_SETREGID)
138 ;;
139*-*-hpux10.26)
140 if test -z "$GCC"; then
141 CFLAGS="$CFLAGS -Ae"
142 fi
143 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
144 IPADDR_IN_DISPLAY=yes
145 AC_DEFINE(HAVE_SECUREWARE)
146 AC_DEFINE(USE_PIPES)
147 AC_DEFINE(LOGIN_NO_ENDOPT)
148 AC_DEFINE(LOGIN_NEEDS_UTMPX)
149 AC_DEFINE(DISABLE_SHADOW)
150 AC_DEFINE(DISABLE_UTMP)
151 AC_DEFINE(LOCKED_PASSWD_STRING, "*")
152 AC_DEFINE(SPT_TYPE,SPT_PSTAT)
153 LIBS="$LIBS -lsec -lsecpw"
154 AC_CHECK_LIB(xnet, t_error, ,AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***]))
155 disable_ptmx_check=yes
156 ;;
157*-*-hpux10*)
158 if test -z "$GCC"; then
159 CFLAGS="$CFLAGS -Ae"
160 fi
161 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
162 IPADDR_IN_DISPLAY=yes
163 AC_DEFINE(USE_PIPES)
164 AC_DEFINE(LOGIN_NO_ENDOPT)
165 AC_DEFINE(LOGIN_NEEDS_UTMPX)
166 AC_DEFINE(DISABLE_SHADOW)
167 AC_DEFINE(DISABLE_UTMP)
168 AC_DEFINE(LOCKED_PASSWD_STRING, "*")
169 AC_DEFINE(SPT_TYPE,SPT_PSTAT)
170 LIBS="$LIBS -lsec"
171 AC_CHECK_LIB(xnet, t_error, ,AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***]))
172 ;;
173*-*-hpux11*)
174 CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1"
175 IPADDR_IN_DISPLAY=yes
176 AC_DEFINE(PAM_SUN_CODEBASE)
177 AC_DEFINE(USE_PIPES)
178 AC_DEFINE(LOGIN_NO_ENDOPT)
179 AC_DEFINE(LOGIN_NEEDS_UTMPX)
180 AC_DEFINE(DISABLE_SHADOW)
181 AC_DEFINE(DISABLE_UTMP)
182 AC_DEFINE(LOCKED_PASSWD_STRING, "*")
183 AC_DEFINE(SPT_TYPE,SPT_PSTAT)
184 LIBS="$LIBS -lsec"
185 AC_CHECK_LIB(xnet, t_error, ,AC_MSG_ERROR([*** -lxnet needed on HP-UX - check config.log ***]))
186 ;;
187*-*-irix5*)
188 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
189 LDFLAGS="$LDFLAGS"
190 PATH="$PATH:/usr/etc"
191 AC_DEFINE(BROKEN_INET_NTOA)
192 AC_DEFINE(WITH_ABBREV_NO_TTY)
193 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
194 ;;
195*-*-irix6*)
196 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
197 LDFLAGS="$LDFLAGS"
198 PATH="$PATH:/usr/etc"
199 AC_DEFINE(WITH_IRIX_ARRAY)
200 AC_DEFINE(WITH_IRIX_PROJECT)
201 AC_DEFINE(WITH_IRIX_AUDIT)
202 AC_CHECK_FUNC(jlimit_startjob, [AC_DEFINE(WITH_IRIX_JOBS)])
203 AC_DEFINE(BROKEN_INET_NTOA)
204 AC_DEFINE(SETEUID_BREAKS_SETUID)
205 AC_DEFINE(BROKEN_SETREUID)
206 AC_DEFINE(BROKEN_SETREGID)
207 AC_DEFINE(WITH_ABBREV_NO_TTY)
208 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
209 ;;
210*-*-linux*)
211 no_dev_ptmx=1
212 check_for_libcrypt_later=1
213 check_for_openpty_ctty_bug=1
214 AC_DEFINE(DONT_TRY_OTHER_AF)
215 AC_DEFINE(PAM_TTY_KLUDGE)
216 AC_DEFINE(LOCKED_PASSWD_PREFIX, "!!")
217 AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)
218 inet6_default_4in6=yes
219 case `uname -r` in
220 1.*|2.0.*)
221 AC_DEFINE(BROKEN_CMSG_TYPE)
222 ;;
223 esac
224 ;;
225mips-sony-bsd|mips-sony-newsos4)
226 AC_DEFINE(HAVE_NEWS4)
227 SONY=1
228 ;;
229*-*-netbsd*)
230 check_for_libcrypt_before=1
231 need_dash_r=1
232 ;;
233*-*-freebsd*)
234 check_for_libcrypt_later=1
235 ;;
236*-*-bsdi*)
237 AC_DEFINE(SETEUID_BREAKS_SETUID)
238 AC_DEFINE(BROKEN_SETREUID)
239 AC_DEFINE(BROKEN_SETREGID)
240 ;;
241*-next-*)
242 conf_lastlog_location="/usr/adm/lastlog"
243 conf_utmp_location=/etc/utmp
244 conf_wtmp_location=/usr/adm/wtmp
245 MAIL=/usr/spool/mail
246 AC_DEFINE(HAVE_NEXT)
247 AC_DEFINE(BROKEN_REALPATH)
248 AC_DEFINE(USE_PIPES)

--- 4 unchanged lines hidden (view full) ---

253*-*-solaris*)
254 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
255 LDFLAGS="$LDFLAGS -L/usr/local/lib -R/usr/local/lib"
256 need_dash_r=1
257 AC_DEFINE(PAM_SUN_CODEBASE)
258 AC_DEFINE(LOGIN_NEEDS_UTMPX)
259 AC_DEFINE(LOGIN_NEEDS_TERM)
260 AC_DEFINE(PAM_TTY_KLUDGE)
261 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
262 # Pushing STREAMS modules will cause sshd to acquire a controlling tty.
263 AC_DEFINE(SSHD_ACQUIRES_CTTY)
264 external_path_file=/etc/default/login
265 # hardwire lastlog location (can't detect it on some versions)
266 conf_lastlog_location="/var/adm/lastlog"
267 AC_MSG_CHECKING(for obsolete utmp and wtmp in solaris2.x)
268 sol2ver=`echo "$host"| sed -e 's/.*[[0-9]]\.//'`
269 if test "$sol2ver" -ge 8; then
270 AC_MSG_RESULT(yes)
271 AC_DEFINE(DISABLE_UTMP)
272 AC_DEFINE(DISABLE_WTMP)

--- 10 unchanged lines hidden (view full) ---

283 conf_lastlog_location=/var/adm/lastlog
284 AC_DEFINE(USE_PIPES)
285 ;;
286*-ncr-sysv*)
287 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
288 LDFLAGS="$LDFLAGS -L/usr/local/lib"
289 LIBS="$LIBS -lc89"
290 AC_DEFINE(USE_PIPES)
291 AC_DEFINE(SSHD_ACQUIRES_CTTY)
292 AC_DEFINE(SETEUID_BREAKS_SETUID)
293 AC_DEFINE(BROKEN_SETREUID)
294 AC_DEFINE(BROKEN_SETREGID)
295 ;;
296*-sni-sysv*)
297 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
298 # /usr/ucblib MUST NOT be searched on ReliantUNIX
299 LDFLAGS="$LDFLAGS -L/usr/local/lib"
300 IPADDR_IN_DISPLAY=yes
301 AC_DEFINE(USE_PIPES)
302 AC_DEFINE(IP_TOS_IS_BROKEN)
303 AC_DEFINE(SSHD_ACQUIRES_CTTY)
304 external_path_file=/etc/default/login
305 # /usr/ucblib/libucb.a no longer needed on ReliantUNIX
306 # Attention: always take care to bind libsocket and libnsl before libc,
307 # otherwise you will find lots of "SIOCGPGRP errno 22" on syslog
308 ;;
309*-*-sysv4.2*)
310 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
311 LDFLAGS="$LDFLAGS -L/usr/local/lib"
312 AC_DEFINE(USE_PIPES)
313 AC_DEFINE(SETEUID_BREAKS_SETUID)
314 AC_DEFINE(BROKEN_SETREUID)
315 AC_DEFINE(BROKEN_SETREGID)
316 ;;
317*-*-sysv5*)
318 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
319 LDFLAGS="$LDFLAGS -L/usr/local/lib"
320 AC_DEFINE(USE_PIPES)
321 AC_DEFINE(SETEUID_BREAKS_SETUID)
322 AC_DEFINE(BROKEN_SETREUID)
323 AC_DEFINE(BROKEN_SETREGID)
324 ;;
325*-*-sysv*)
326 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
327 LDFLAGS="$LDFLAGS -L/usr/local/lib"
328 ;;
329*-*-sco3.2v4*)
330 CPPFLAGS="$CPPFLAGS -Dftruncate=chsize -I/usr/local/include"
331 LDFLAGS="$LDFLAGS -L/usr/local/lib"
332 LIBS="$LIBS -los -lprot -lx -ltinfo -lm"
333 RANLIB=true
334 no_dev_ptmx=1
335 AC_DEFINE(BROKEN_SYS_TERMIO_H)
336 AC_DEFINE(USE_PIPES)
337 AC_DEFINE(HAVE_SECUREWARE)
338 AC_DEFINE(DISABLE_SHADOW)
339 AC_DEFINE(BROKEN_SAVED_UIDS)
340 AC_DEFINE(WITH_ABBREV_NO_TTY)
341 AC_CHECK_FUNCS(getluid setluid)
342 MANTYPE=man
343 do_sco3_extra_lib_check=yes
344 ;;
345*-*-sco3.2v5*)
346 if test -z "$GCC"; then
347 CFLAGS="$CFLAGS -belf"
348 fi
349 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
350 LDFLAGS="$LDFLAGS -L/usr/local/lib"
351 LIBS="$LIBS -lprot -lx -ltinfo -lm"
352 no_dev_ptmx=1
353 AC_DEFINE(USE_PIPES)
354 AC_DEFINE(HAVE_SECUREWARE)
355 AC_DEFINE(DISABLE_SHADOW)
356 AC_DEFINE(DISABLE_FD_PASSING)
357 AC_DEFINE(SETEUID_BREAKS_SETUID)
358 AC_DEFINE(BROKEN_SETREUID)
359 AC_DEFINE(BROKEN_SETREGID)
360 AC_DEFINE(WITH_ABBREV_NO_TTY)
361 AC_CHECK_FUNCS(getluid setluid)
362 MANTYPE=man
363 ;;
364*-*-unicosmk*)
365 AC_DEFINE(USE_PIPES)
366 AC_DEFINE(DISABLE_FD_PASSING)
367 LDFLAGS="$LDFLAGS"
368 LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm"
369 MANTYPE=cat
370 ;;
371*-*-unicosmp*)
372 AC_DEFINE(WITH_ABBREV_NO_TTY)
373 AC_DEFINE(USE_PIPES)
374 AC_DEFINE(DISABLE_FD_PASSING)
375 LDFLAGS="$LDFLAGS"
376 LIBS="$LIBS -lgen -lacid"
377 MANTYPE=cat
378 ;;
379*-*-unicos*)
380 AC_DEFINE(USE_PIPES)
381 AC_DEFINE(DISABLE_FD_PASSING)
382 AC_DEFINE(NO_SSH_LASTLOG)
383 LDFLAGS="$LDFLAGS -Wl,-Dmsglevel=334:fatal"
384 LIBS="$LIBS -lgen -lrsc -lshare -luex -lacm"
385 MANTYPE=cat
386 ;;

--- 16 unchanged lines hidden (view full) ---

403 AC_DEFINE(DISABLE_LOGIN)
404 AC_DEFINE(DISABLE_FD_PASSING)
405 LIBS="$LIBS -lsecurity -ldb -lm -laud"
406 else
407 AC_MSG_RESULT(no)
408 fi
409 fi
410 AC_DEFINE(DISABLE_FD_PASSING)
411 AC_DEFINE(BROKEN_GETADDRINFO)
412 AC_DEFINE(SETEUID_BREAKS_SETUID)
413 AC_DEFINE(BROKEN_SETREUID)
414 AC_DEFINE(BROKEN_SETREGID)
415 AC_DEFINE(LOCKED_PASSWD_SUBSTR, "Nologin")
416 ;;
417
418*-*-nto-qnx)
419 AC_DEFINE(USE_PIPES)
420 AC_DEFINE(NO_X11_UNIX_SOCKETS)
421 AC_DEFINE(MISSING_NFDBITS)
422 AC_DEFINE(MISSING_HOWMANY)
423 AC_DEFINE(MISSING_FD_MASK)

--- 29 unchanged lines hidden (view full) ---

453 [ --with-libs Specify additional libraries to link with],
454 [
455 if test "x$withval" != "xno" ; then
456 LIBS="$LIBS $withval"
457 fi
458 ]
459)
460
461AC_MSG_CHECKING(compiler and flags for sanity)
462AC_TRY_RUN([
463#include <stdio.h>
464int main(){exit(0);}
465 ],
466 [ AC_MSG_RESULT(yes) ],
467 [
468 AC_MSG_RESULT(no)
469 AC_MSG_ERROR([*** compiler cannot create working executables, check config.log ***])
470 ]
471)
472
473# Checks for header files.
474AC_CHECK_HEADERS(bstring.h crypt.h endian.h features.h floatingpoint.h \
475 getopt.h glob.h ia.h lastlog.h limits.h login.h \
476 login_cap.h maillock.h netdb.h netgroup.h \
477 netinet/in_systm.h paths.h pty.h readpassphrase.h \
478 rpc/types.h security/pam_appl.h shadow.h stddef.h stdint.h \
479 strings.h sys/strtio.h sys/audit.h sys/bitypes.h sys/bsdtty.h \
480 sys/cdefs.h sys/mman.h sys/pstat.h sys/select.h sys/stat.h \
481 sys/stropts.h sys/sysmacros.h sys/time.h sys/timers.h \
482 sys/un.h time.h tmpdir.h ttyent.h usersec.h \
483 util.h utime.h utmp.h utmpx.h vis.h)
484
485# Checks for libraries.
486AC_CHECK_FUNC(yp_match, , AC_CHECK_LIB(nsl, yp_match))
487AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
488
489dnl SCO OS3 needs this for libwrap
490if test "x$with_tcp_wrappers" != "xno" ; then
491 if test "x$do_sco3_extra_lib_check" = "xyes" ; then
492 AC_CHECK_LIB(rpc, innetgr, LIBS="-lrpc -lyp -lrpc $LIBS" , , -lyp -lrpc)
493 fi
494fi
495
496dnl IRIX and Solaris 2.5.1 have dirname() in libgen
497AC_CHECK_FUNCS(dirname, [AC_CHECK_HEADERS(libgen.h)] ,[
498 AC_CHECK_LIB(gen, dirname,[
499 AC_CACHE_CHECK([for broken dirname],
500 ac_cv_have_broken_dirname, [
501 save_LIBS="$LIBS"
502 LIBS="$LIBS -lgen"
503 AC_TRY_RUN(
504 [
505#include <libgen.h>
506#include <string.h>
507
508int main(int argc, char **argv) {
509 char *s, buf[32];
510
511 strncpy(buf,"/etc", 32);
512 s = dirname(buf);
513 if (!s || strncmp(s, "/", 32) != 0) {
514 exit(1);
515 } else {
516 exit(0);
517 }
518}
519 ],
520 [ ac_cv_have_broken_dirname="no" ],
521 [ ac_cv_have_broken_dirname="yes" ]
522 )
523 LIBS="$save_LIBS"
524 ])
525 if test "x$ac_cv_have_broken_dirname" = "xno" ; then
526 LIBS="$LIBS -lgen"
527 AC_DEFINE(HAVE_DIRNAME)
528 AC_CHECK_HEADERS(libgen.h)
529 fi
530 ])
531])
532
533AC_CHECK_FUNC(getspnam, ,
534 AC_CHECK_LIB(gen, getspnam, LIBS="$LIBS -lgen"))
535AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME))
536
537AC_ARG_WITH(rpath,
538 [ --without-rpath Disable auto-added -R linker paths],
539 [
540 if test "x$withval" = "xno" ; then
541 need_dash_r=""
542 fi
543 if test "x$withval" = "xyes" ; then

--- 180 unchanged lines hidden (view full) ---

724 )
725 LIBS="$saved_LIBS"
726 fi
727 ]
728)
729
730dnl Checks for library functions. Please keep in alphabetical order
731AC_CHECK_FUNCS(\
732 arc4random __b64_ntop b64_ntop __b64_pton b64_pton basename \
733 bcopy bindresvport_sa clock fchmod fchown freeaddrinfo futimes \
734 getaddrinfo getcwd getgrouplist getnameinfo getopt \
735 getpeereid _getpty getrlimit getttyent glob inet_aton \
736 inet_ntoa inet_ntop innetgr login_getcapbool md5_crypt memmove \
737 mkdtemp mmap ngetaddrinfo nsleep ogetaddrinfo openlog_r openpty \
738 pstat readpassphrase realpath recvmsg rresvport_af sendmsg \
739 setdtablesize setegid setenv seteuid setgroups setlogin setpcred \
740 setproctitle setregid setresgid setresuid setreuid setrlimit \
741 setsid setvbuf sigaction sigvec snprintf socketpair strerror \
742 strlcat strlcpy strmode strnvis sysconf tcgetpgrp \
743 truncate utimes vhangup vsnprintf waitpid \
744)
745
746# IRIX has a const char return value for gai_strerror()
747AC_CHECK_FUNCS(gai_strerror,[
748 AC_DEFINE(HAVE_GAI_STRERROR)
749 AC_TRY_COMPILE([
750#include <sys/types.h>
751#include <sys/socket.h>
752#include <netdb.h>
753
754const char *gai_strerror(int);],[
755char *str;
756
757str = gai_strerror(0);],[
758 AC_DEFINE(HAVE_CONST_GAI_STRERROR_PROTO, 1,
759 [Define if gai_strerror() returns const char *])])])
760
761AC_SEARCH_LIBS(nanosleep, rt posix4, AC_DEFINE(HAVE_NANOSLEEP))
762
763dnl Make sure prototypes are defined for these before using them.
764AC_CHECK_DECL(strsep, [AC_CHECK_FUNCS(strsep)])
765AC_CHECK_DECL(getrusage, [AC_CHECK_FUNCS(getrusage)])
766
767dnl tcsendbreak might be a macro
768AC_CHECK_DECL(tcsendbreak,
769 [AC_DEFINE(HAVE_TCSENDBREAK)],
770 [AC_CHECK_FUNCS(tcsendbreak)],
771 [#include <termios.h>]
772)
773
774dnl Checks for time functions
775AC_CHECK_FUNCS(gettimeofday time)
776dnl Checks for utmp functions
777AC_CHECK_FUNCS(endutent getutent getutid getutline pututline setutent)
778AC_CHECK_FUNCS(utmpname)
779dnl Checks for utmpx functions
780AC_CHECK_FUNCS(endutxent getutxent getutxid getutxline pututxline )
781AC_CHECK_FUNCS(setutxent utmpxname)

--- 46 unchanged lines hidden (view full) ---

828 ],
829 [
830 AC_MSG_RESULT(yes)
831 AC_DEFINE(HAVE_STRICT_MKSTEMP)
832 ]
833)
834fi
835
836dnl make sure that openpty does not reacquire controlling terminal
837if test ! -z "$check_for_openpty_ctty_bug"; then
838 AC_MSG_CHECKING(if openpty correctly handles controlling tty)
839 AC_TRY_RUN(
840 [
841#include <stdio.h>
842#include <sys/fcntl.h>
843#include <sys/types.h>
844#include <sys/wait.h>
845
846int
847main()
848{
849 pid_t pid;
850 int fd, ptyfd, ttyfd, status;
851
852 pid = fork();
853 if (pid < 0) { /* failed */
854 exit(1);
855 } else if (pid > 0) { /* parent */
856 waitpid(pid, &status, 0);
857 if (WIFEXITED(status))
858 exit(WEXITSTATUS(status));
859 else
860 exit(2);
861 } else { /* child */
862 close(0); close(1); close(2);
863 setsid();
864 openpty(&ptyfd, &ttyfd, NULL, NULL, NULL);
865 fd = open("/dev/tty", O_RDWR | O_NOCTTY);
866 if (fd >= 0)
867 exit(3); /* Acquired ctty: broken */
868 else
869 exit(0); /* Did not acquire ctty: OK */
870 }
871}
872 ],
873 [
874 AC_MSG_RESULT(yes)
875 ],
876 [
877 AC_MSG_RESULT(no)
878 AC_DEFINE(SSHD_ACQUIRES_CTTY)
879 ]
880 )
881fi
882
883AC_FUNC_GETPGRP
884
885# Check for PAM libs
886PAM_MSG="no"
887AC_ARG_WITH(pam,
888 [ --with-pam Enable PAM support ],
889 [
890 if test "x$withval" != "xno" ; then
891 if test "x$ac_cv_header_security_pam_appl_h" != "xyes" ; then
892 AC_MSG_ERROR([PAM headers not found])
893 fi
894
895 AC_CHECK_LIB(dl, dlopen, , )
896 AC_CHECK_LIB(pam, pam_set_item, , AC_MSG_ERROR([*** libpam missing]))
897 AC_CHECK_FUNCS(pam_getenvlist)
898 AC_CHECK_FUNCS(pam_putenv)
899
900 disable_shadow=yes
901 PAM_MSG="yes"
902
903 AC_DEFINE(USE_PAM)
904 if test $ac_cv_lib_dl_dlopen = yes; then
905 LIBPAM="-lpam -ldl"
906 else

--- 148 unchanged lines hidden (view full) ---

1055#include <openssl/opensslv.h>
1056int main(void) { exit(SSLeay() == OPENSSL_VERSION_NUMBER ? 0 : 1); }
1057 ],
1058 [
1059 AC_MSG_RESULT(yes)
1060 ],
1061 [
1062 AC_MSG_RESULT(no)
1063 AC_MSG_ERROR([Your OpenSSL headers do not match your library.
1064Check config.log for details.
1065Also see contrib/findssl.sh for help identifying header/library mismatches.])
1066 ]
1067)
1068
1069# Some Linux systems (Slackware) need crypt() from libcrypt, *not* the
1070# version in OpenSSL. Skip this for PAM
1071if test "x$check_for_libcrypt_later" = "x1"; then
1072 AC_CHECK_LIB(crypt, crypt, LIBS="$LIBS -lcrypt")
1073fi
1074
1075
1076### Configure cryptographic random number support
1077
1078# Check wheter OpenSSL seeds itself
1079AC_MSG_CHECKING([whether OpenSSL's PRNG is internally seeded])

--- 824 unchanged lines hidden (view full) ---

1904 [ ac_cv_libc_defines_sys_nerr="no" ]
1905 )
1906])
1907if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then
1908 AC_DEFINE(HAVE_SYS_NERR)
1909fi
1910
1911SCARD_MSG="no"
1912# Check whether user wants sectok support
1913AC_ARG_WITH(sectok,
1914 [ --with-sectok Enable smartcard support using libsectok],
1915 [
1916 if test "x$withval" != "xno" ; then
1917 if test "x$withval" != "xyes" ; then
1918 CPPFLAGS="$CPPFLAGS -I${withval}"
1919 LDFLAGS="$LDFLAGS -L${withval}"

--- 33 unchanged lines hidden (view full) ---

1953 CPPFLAGS="$CPPFLAGS $LIBOPENSC_CFLAGS"
1954 LDFLAGS="$LDFLAGS $LIBOPENSC_LIBS"
1955 AC_DEFINE(SMARTCARD)
1956 AC_DEFINE(USE_OPENSC)
1957 SCARD_MSG="yes, using OpenSC"
1958 fi
1959fi
1960
1961# Check whether user wants DNS support
1962DNS_MSG="no"
1963AC_ARG_WITH(dns,
1964 [ --with-dns Support for fetching keys from DNS (experimental)],
1965 [
1966 if test "x$withval" != "xno" ; then
1967 DNS_MSG="yes"
1968 AC_DEFINE(DNS)
1969 AC_SEARCH_LIBS(getrrsetbyname, resolv,
1970 [AC_DEFINE(HAVE_GETRRSETBYNAME)],
1971 [
1972 # Needed by our getrrsetbyname()
1973 AC_SEARCH_LIBS(res_query, resolv)
1974 AC_SEARCH_LIBS(dn_expand, resolv)
1975 AC_CHECK_FUNCS(_getshort _getlong)
1976 AC_CHECK_MEMBER(HEADER.ad,
1977 [AC_DEFINE(HAVE_HEADER_AD)],,
1978 [#include <arpa/nameser.h>])
1979 ])
1980 fi
1981 ]
1982)
1983
1984# Check whether user wants Kerberos 5 support
1985KRB5_MSG="no"
1986AC_ARG_WITH(kerberos5,
1987 [ --with-kerberos5=PATH Enable Kerberos 5 support],
1988 [
1989 if test "x$withval" != "xno" ; then
1990 if test "x$withval" = "xyes" ; then
1991 KRB5ROOT="/usr/local"

--- 16 unchanged lines hidden (view full) ---

2008 ]
2009 )
2010 if test ! -z "$need_dash_r" ; then
2011 LDFLAGS="$LDFLAGS -R${KRB5ROOT}/lib"
2012 fi
2013 if test ! -z "$blibpath" ; then
2014 blibpath="$blibpath:${KRB5ROOT}/lib"
2015 fi
2016 AC_SEARCH_LIBS(dn_expand, resolv)
2017
2018 AC_CHECK_LIB(gssapi,gss_init_sec_context,
2019 [ AC_DEFINE(GSSAPI)
2020 K5LIBS="-lgssapi $K5LIBS" ],
2021 [ AC_CHECK_LIB(gssapi_krb5,gss_init_sec_context,
2022 [ AC_DEFINE(GSSAPI)
2023 K5LIBS="-lgssapi_krb5 $K5LIBS" ],
2024 AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]),
2025 $K5LIBS)
2026 ],
2027 $K5LIBS)
2028
2029 AC_CHECK_HEADER(gssapi.h, ,
2030 [ unset ac_cv_header_gssapi_h
2031 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
2032 AC_CHECK_HEADERS(gssapi.h, ,
2033 AC_MSG_WARN([Cannot find any suitable gss-api header - build may fail])
2034 )
2035 ]
2036 )
2037
2038 oldCPP="$CPPFLAGS"
2039 CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include/gssapi"
2040 AC_CHECK_HEADER(gssapi_krb5.h, ,
2041 [ CPPFLAGS="$oldCPP" ])
2042
2043 KRB5=yes
2044 fi
2045 ]
2046)
2047LIBS="$LIBS $K5LIBS"
2048
2049# Looking for programs, paths and files
2050
2051PRIVSEP_PATH=/var/empty
2052AC_ARG_WITH(privsep-path,
2053 [ --with-privsep-path=xxx Path for privilege separation chroot (default=/var/empty)],
2054 [
2055 if test "x$withval" != "$no" ; then
2056 PRIVSEP_PATH=$withval

--- 152 unchanged lines hidden (view full) ---

2209 if test "x$withval" != "xno" ; then
2210 AC_DEFINE(IPADDR_IN_DISPLAY)
2211 DISPLAY_HACK_MSG="yes"
2212 fi
2213 ]
2214 )
2215fi
2216
2217# check for /etc/default/login and use it if present.
2218AC_ARG_ENABLE(etc-default-login,
2219 [ --disable-etc-default-login Disable using PATH from /etc/default/login [no]],,
2220[
2221AC_CHECK_FILE("/etc/default/login", [ external_path_file=/etc/default/login ])
2222
2223if test "x$external_path_file" = "x/etc/default/login"; then
2224 AC_DEFINE(HAVE_ETC_DEFAULT_LOGIN)
2225fi
2226])
2227
2228dnl BSD systems use /etc/login.conf so --with-default-path= has no effect
2229if test $ac_cv_func_login_getcapbool = "yes" -a \
2230 $ac_cv_header_login_cap_h = "yes" ; then
2231 external_path_file=/etc/login.conf
2232fi
2233
2234# Whether to mess with the default path
2235SERVER_PATH_MSG="(default)"
2236AC_ARG_WITH(default-path,
2237 [ --with-default-path= Specify default \$PATH environment for server],
2238 [
2239 if test "x$external_path_file" = "x/etc/login.conf" ; then
2240 AC_MSG_WARN([
2241--with-default-path=PATH has no effect on this system.
2242Edit /etc/login.conf instead.])
2243 elif test "x$withval" != "xno" ; then
2244 if test ! -z "$external_path_file" ; then
2245 AC_MSG_WARN([
2246--with-default-path=PATH will only be used if PATH is not defined in
2247$external_path_file .])
2248 fi
2249 user_path="$withval"
2250 SERVER_PATH_MSG="$withval"
2251 fi
2252 ],
2253 [ if test "x$external_path_file" = "x/etc/login.conf" ; then
2254 AC_MSG_WARN([Make sure the path to scp is in /etc/login.conf])
2255 else
2256 if test ! -z "$external_path_file" ; then
2257 AC_MSG_WARN([
2258If PATH is defined in $external_path_file, ensure the path to scp is included,
2259otherwise scp will not work.])
2260 fi
2261 AC_TRY_RUN(
2262 [
2263/* find out what STDPATH is */
2264#include <stdio.h>
2265#ifdef HAVE_PATHS_H
2266# include <paths.h>
2267#endif
2268#ifndef _PATH_STDPATH
2269# ifdef _PATH_USERPATH /* Irix */
2270# define _PATH_STDPATH _PATH_USERPATH

--- 37 unchanged lines hidden (view full) ---

2308 echo $user_path | grep "^$t_bindir" > /dev/null 2>&1
2309 if test $? -ne 0 ; then
2310 user_path=$user_path:$t_bindir
2311 AC_MSG_RESULT(Adding $t_bindir to USER_PATH so scp will work)
2312 fi
2313 fi
2314 fi ]
2315)
2316if test "x$external_path_file" != "x/etc/login.conf" ; then
2317 AC_DEFINE_UNQUOTED(USER_PATH, "$user_path")
2318 AC_SUBST(user_path)
2319fi
2320
2321# Set superuser path separately to user path
2322AC_ARG_WITH(superuser-path,
2323 [ --with-superuser-path= Specify different path for super-user],
2324 [
2325 if test "x$withval" != "xno" ; then
2326 AC_DEFINE_UNQUOTED(SUPERUSER_PATH, "$withval")
2327 superuser_path=$withval
2328 fi
2329 ]
2330)
2331
2332
2333AC_MSG_CHECKING([if we need to convert IPv4 in IPv6-mapped addresses])
2334IPV4_IN6_HACK_MSG="no"
2335AC_ARG_WITH(4in6,
2336 [ --with-4in6 Check for and convert IPv4 in IPv6 mapped addresses],
2337 [
2338 if test "x$withval" != "xno" ; then
2339 AC_MSG_RESULT(yes)
2340 AC_DEFINE(IPV4_IN_IPV6)

--- 47 unchanged lines hidden (view full) ---

2388)
2389
2390AC_DEFINE_UNQUOTED(_PATH_SSH_PIDDIR, "$piddir")
2391AC_SUBST(piddir)
2392
2393dnl allow user to disable some login recording features
2394AC_ARG_ENABLE(lastlog,
2395 [ --disable-lastlog disable use of lastlog even if detected [no]],
2396 [
2397 if test "x$enableval" = "xno" ; then
2398 AC_DEFINE(DISABLE_LASTLOG)
2399 fi
2400 ]
2401)
2402AC_ARG_ENABLE(utmp,
2403 [ --disable-utmp disable use of utmp even if detected [no]],
2404 [
2405 if test "x$enableval" = "xno" ; then
2406 AC_DEFINE(DISABLE_UTMP)
2407 fi
2408 ]
2409)
2410AC_ARG_ENABLE(utmpx,
2411 [ --disable-utmpx disable use of utmpx even if detected [no]],
2412 [
2413 if test "x$enableval" = "xno" ; then
2414 AC_DEFINE(DISABLE_UTMPX)
2415 fi
2416 ]
2417)
2418AC_ARG_ENABLE(wtmp,
2419 [ --disable-wtmp disable use of wtmp even if detected [no]],
2420 [
2421 if test "x$enableval" = "xno" ; then
2422 AC_DEFINE(DISABLE_WTMP)
2423 fi
2424 ]
2425)
2426AC_ARG_ENABLE(wtmpx,
2427 [ --disable-wtmpx disable use of wtmpx even if detected [no]],
2428 [
2429 if test "x$enableval" = "xno" ; then
2430 AC_DEFINE(DISABLE_WTMPX)
2431 fi
2432 ]
2433)
2434AC_ARG_ENABLE(libutil,
2435 [ --disable-libutil disable use of libutil (login() etc.) [no]],
2436 [
2437 if test "x$enableval" = "xno" ; then
2438 AC_DEFINE(DISABLE_LOGIN)
2439 fi
2440 ]
2441)
2442AC_ARG_ENABLE(pututline,
2443 [ --disable-pututline disable use of pututline() etc. ([uw]tmp) [no]],
2444 [
2445 if test "x$enableval" = "xno" ; then
2446 AC_DEFINE(DISABLE_PUTUTLINE)
2447 fi
2448 ]
2449)
2450AC_ARG_ENABLE(pututxline,
2451 [ --disable-pututxline disable use of pututxline() etc. ([uw]tmpx) [no]],
2452 [
2453 if test "x$enableval" = "xno" ; then
2454 AC_DEFINE(DISABLE_PUTUTXLINE)
2455 fi
2456 ]
2457)
2458AC_ARG_WITH(lastlog,
2459 [ --with-lastlog=FILE|DIR specify lastlog location [common locations]],
2460 [
2461 if test "x$withval" = "xno" ; then
2462 AC_DEFINE(DISABLE_LASTLOG)
2463 else
2464 conf_lastlog_location=$withval

--- 174 unchanged lines hidden (view full) ---

2639 AC_DEFINE(DISABLE_WTMPX)
2640 fi
2641else
2642 AC_DEFINE_UNQUOTED(CONF_WTMPX_FILE, "$conf_wtmpx_location")
2643fi
2644
2645
2646if test ! -z "$blibpath" ; then
2647 LDFLAGS="$LDFLAGS $blibflags$blibpath"
2648 AC_MSG_WARN([Please check and edit blibpath in LDFLAGS in Makefile])
2649fi
2650
2651dnl remove pam and dl because they are in $LIBPAM
2652if test "$PAM_MSG" = yes ; then
2653 LIBS=`echo $LIBS | sed 's/-lpam //'`
2654fi
2655if test "$ac_cv_lib_pam_pam_set_item" = yes ; then
2656 LIBS=`echo $LIBS | sed 's/-ldl //'`

--- 21 unchanged lines hidden (view full) ---

2678echo "OpenSSH has been configured with the following options:"
2679echo " User binaries: $B"
2680echo " System binaries: $C"
2681echo " Configuration files: $D"
2682echo " Askpass program: $E"
2683echo " Manual pages: $F"
2684echo " PID file: $G"
2685echo " Privilege separation chroot path: $H"
2686if test "x$external_path_file" = "x/etc/login.conf" ; then
2687echo " At runtime, sshd will use the path defined in $external_path_file"
2688echo " Make sure the path to scp is present, otherwise scp will not work"
2689else
2690echo " sshd default user PATH: $I"
2691 if test ! -z "$external_path_file"; then
2692echo " (If PATH is set in $external_path_file it will be used instead. If"
2693echo " used, ensure the path to scp is present, otherwise scp will not work.)"
2694 fi
2695fi
2696if test ! -z "$superuser_path" ; then
2697echo " sshd superuser user PATH: $J"
2698fi
2699echo " Manpage format: $MANTYPE"
2700echo " DNS support: $DNS_MSG"
2701echo " PAM support: $PAM_MSG"
2702echo " KerberosV support: $KRB5_MSG"
2703echo " Smartcard support: $SCARD_MSG"
2704echo " S/KEY support: $SKEY_MSG"
2705echo " TCP Wrappers support: $TCPW_MSG"
2706echo " MD5 password support: $MD5_MSG"
2707echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG"
2708echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
2709echo " BSD Auth support: $BSD_AUTH_MSG"
2710echo " Random number source: $RAND_MSG"
2711if test ! -z "$USE_RAND_HELPER" ; then
2712echo " ssh-rand-helper collects from: $RAND_HELPER_MSG"
2713fi
2714
2715echo ""

--- 26 unchanged lines hidden ---