summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2008-07-22 19:45:18 +0000
committerColin Watson <cjwatson@debian.org>2008-07-22 19:45:18 +0000
commit137d76ba65883aa8143af1fcad83b57e7badef0c (patch)
treef426e804bb5248ceafedfab7bb78ae6e6752942c /configure.ac
parentdac7d049dad31f5f84d421d4eb628a7e13f977d7 (diff)
parentef94e5613d37bcbf880f21ee6094e4b1c7683a4c (diff)
* New upstream release (closes: #474301). Important changes not previously
backported to 4.7p1: - 4.9/4.9p1 (http://www.openssh.com/txt/release-4.9): + Added chroot(2) support for sshd(8), controlled by a new option "ChrootDirectory" (closes: #139047, LP: #24777). + Linked sftp-server(8) into sshd(8). The internal sftp server is used when the command "internal-sftp" is specified in a Subsystem or ForceCommand declaration. When used with ChrootDirectory, the internal sftp server requires no special configuration of files inside the chroot environment. + Added a protocol extension method "posix-rename@openssh.com" for sftp-server(8) to perform POSIX atomic rename() operations; sftp(1) prefers this if available (closes: #308561). + Removed the fixed limit of 100 file handles in sftp-server(8). + ssh(8) will now skip generation of SSH protocol 1 ephemeral server keys when in inetd mode and protocol 2 connections are negotiated. This speeds up protocol 2 connections to inetd-mode servers that also allow Protocol 1. + Accept the PermitRootLogin directive in a sshd_config(5) Match block. Allows for, e.g. permitting root only from the local network. + Reworked sftp(1) argument splitting and escaping to be more internally consistent (i.e. between sftp commands) and more consistent with sh(1). Please note that this will change the interpretation of some quoted strings, especially those with embedded backslash escape sequences. + Support "Banner=none" in sshd_config(5) to disable sending of a pre-login banner (e.g. in a Match block). + ssh(1) ProxyCommands are now executed with $SHELL rather than /bin/sh. + ssh(1)'s ConnectTimeout option is now applied to both the TCP connection and the SSH banner exchange (previously it just covered the TCP connection). This allows callers of ssh(1) to better detect and deal with stuck servers that accept a TCP connection but don't progress the protocol, and also makes ConnectTimeout useful for connections via a ProxyCommand. + scp(1) incorrectly reported "stalled" on slow copies (closes: #140828). + scp(1) date underflow for timestamps before epoch. + ssh(1) used the obsolete SIG DNS RRtype for host keys in DNS, instead of the current standard RRSIG. + Correctly drain ACKs when a sftp(1) upload write fails midway, avoids a fatal() exit from what should be a recoverable condition. + Fixed ssh-keygen(1) selective host key hashing (i.e. "ssh-keygen -HF hostname") to not include any IP address in the data to be hashed. + Make ssh(1) skip listening on the IPv6 wildcard address when a binding address of 0.0.0.0 is used against an old SSH server that does not support the RFC4254 syntax for wildcard bind addresses. + Enable IPV6_V6ONLY socket option on sshd(8) listen socket, as is already done for X11/TCP forwarding sockets (closes: #439661). + Fix FD leak that could hang a ssh(1) connection multiplexing master. + Make ssh(1) -q option documentation consistent with reality. + Fixed sshd(8) PAM support not calling pam_session_close(), or failing to call it with root privileges (closes: #372680). + Fix activation of OpenSSL engine support when requested in configure (LP: #119295). - 5.1/5.1p1 (http://www.openssh.com/txt/release-5.1): + Introduce experimental SSH Fingerprint ASCII Visualisation to ssh(1) and ssh-keygen(1). Visual fingerprint display is controlled by a new ssh_config(5) option "VisualHostKey". The intent is to render SSH host keys in a visual form that is amenable to easy recall and rejection of changed host keys. + sshd_config(5) now supports CIDR address/masklen matching in "Match address" blocks, with a fallback to classic wildcard matching. + sshd(8) now supports CIDR matching in ~/.ssh/authorized_keys from="..." restrictions, also with a fallback to classic wildcard matching. + Added an extended test mode (-T) to sshd(8) to request that it write its effective configuration to stdout and exit. Extended test mode also supports the specification of connection parameters (username, source address and hostname) to test the application of sshd_config(5) Match rules. + ssh(1) now prints the number of bytes transferred and the overall connection throughput for SSH protocol 2 sessions when in verbose mode (previously these statistics were displayed for protocol 1 connections only). + sftp-server(8) now supports extension methods statvfs@openssh.com and fstatvfs@openssh.com that implement statvfs(2)-like operations. + sftp(1) now has a "df" command to the sftp client that uses the statvfs@openssh.com to produce a df(1)-like display of filesystem space and inode utilisation (requires statvfs@openssh.com support on the server). + Added a MaxSessions option to sshd_config(5) to allow control of the number of multiplexed sessions supported over a single TCP connection. This allows increasing the number of allowed sessions above the previous default of 10, disabling connection multiplexing (MaxSessions=1) or disallowing login/shell/subsystem sessions entirely (MaxSessions=0). + Added a no-more-sessions@openssh.com global request extension that is sent from ssh(1) to sshd(8) when the client knows that it will never request another session (i.e. when session multiplexing is disabled). This allows a server to disallow further session requests and terminate the session in cases where the client has been hijacked. + ssh-keygen(1) now supports the use of the -l option in combination with -F to search for a host in ~/.ssh/known_hosts and display its fingerprint. + ssh-keyscan(1) now defaults to "rsa" (protocol 2) keys, instead of "rsa1". + Added an AllowAgentForwarding option to sshd_config(8) to control whether authentication agent forwarding is permitted. Note that this is a loose control, as a client may install their own unofficial forwarder. + ssh(1) and sshd(8): avoid unnecessary malloc/copy/free when receiving network data, resulting in a ~10% speedup. + ssh(1) and sshd(8) will now try additional addresses when connecting to a port forward destination whose DNS name resolves to more than one address. The previous behaviour was to try the only first address and give up if that failed. + ssh(1) and sshd(8) now support signalling that channels are half-closed for writing, through a channel protocol extension notification "eow@openssh.com". This allows propagation of closed file descriptors, so that commands such as "ssh -2 localhost od /bin/ls | true" do not send unnecessary data over the wire. + sshd(8): increased the default size of ssh protocol 1 ephemeral keys from 768 to 1024 bits. + When ssh(1) has been requested to fork after authentication ("ssh -f") with ExitOnForwardFailure enabled, delay the fork until after replies for any -R forwards have been seen. Allows for robust detection of -R forward failure when using -f. + "Match group" blocks in sshd_config(5) now support negation of groups. E.g. "Match group staff,!guests". + sftp(1) and sftp-server(8) now allow chmod-like operations to set set[ug]id/sticky bits. + The MaxAuthTries option is now permitted in sshd_config(5) match blocks. + Multiplexed ssh(1) sessions now support a subset of the ~ escapes that are available to a primary connection. + ssh(1) connection multiplexing will now fall back to creating a new connection in most error cases (closes: #352830). + Make ssh(1) deal more gracefully with channel requests that fail. Previously it would optimistically assume that requests would always succeed, which could cause hangs if they did not (e.g. when the server runs out of file descriptors). + ssh(1) now reports multiplexing errors via the multiplex slave's stderr where possible (subject to LogLevel in the mux master). + Prevent sshd(8) from erroneously applying public key restrictions leaned from ~/.ssh/authorized_keys to other authentication methods when public key authentication subsequently fails (LP: #161047). + Fixed an UMAC alignment problem that manifested on Itanium platforms.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac135
1 files changed, 120 insertions, 15 deletions
diff --git a/configure.ac b/configure.ac
index 5a7f83bf9..991e0fef3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.383 2007/08/10 04:36:12 dtucker Exp $ 1# $Id: configure.ac,v 1.409 2008/07/09 11:07:19 djm Exp $
2# 2#
3# Copyright (c) 1999-2004 Damien Miller 3# Copyright (c) 1999-2004 Damien Miller
4# 4#
@@ -15,7 +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.383 $) 18AC_REVISION($Revision: 1.409 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20 20
21AC_CONFIG_HEADER(config.h) 21AC_CONFIG_HEADER(config.h)
@@ -90,6 +90,13 @@ AC_C_INLINE
90 90
91AC_CHECK_DECL(LLONG_MAX, have_llong_max=1, , [#include <limits.h>]) 91AC_CHECK_DECL(LLONG_MAX, have_llong_max=1, , [#include <limits.h>])
92 92
93use_stack_protector=1
94AC_ARG_WITH(stackprotect,
95 [ --without-stackprotect Don't use compiler's stack protection], [
96 if test "x$withval" = "xno"; then
97 use_stack_protector=0
98 fi ])
99
93if test "$GCC" = "yes" || test "$GCC" = "egcs"; then 100if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
94 CFLAGS="$CFLAGS -Wall -Wpointer-arith -Wuninitialized" 101 CFLAGS="$CFLAGS -Wall -Wpointer-arith -Wuninitialized"
95 GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'` 102 GCC_VER=`$CC -v 2>&1 | $AWK '/gcc version /{print $3}'`
@@ -100,11 +107,61 @@ if test "$GCC" = "yes" || test "$GCC" = "egcs"; then
100 no_attrib_nonnull=1 107 no_attrib_nonnull=1
101 ;; 108 ;;
102 2.*) no_attrib_nonnull=1 ;; 109 2.*) no_attrib_nonnull=1 ;;
103 3.*) CFLAGS="$CFLAGS -Wsign-compare" ;; 110 3.*) CFLAGS="$CFLAGS -Wsign-compare -Wformat-security" ;;
104 4.*) CFLAGS="$CFLAGS -Wsign-compare -Wno-pointer-sign" ;; 111 4.*) CFLAGS="$CFLAGS -Wsign-compare -Wno-pointer-sign -Wformat-security" ;;
105 *) ;; 112 *) ;;
106 esac 113 esac
107 114
115 AC_MSG_CHECKING(if $CC accepts -fno-builtin-memset)
116 saved_CFLAGS="$CFLAGS"
117 CFLAGS="$CFLAGS -fno-builtin-memset"
118 AC_LINK_IFELSE( [AC_LANG_SOURCE([[
119#include <string.h>
120int main(void){char b[10]; memset(b, 0, sizeof(b));}
121 ]])],
122 [ AC_MSG_RESULT(yes) ],
123 [ AC_MSG_RESULT(no)
124 CFLAGS="$saved_CFLAGS" ]
125)
126
127 # -fstack-protector-all doesn't always work for some GCC versions
128 # and/or platforms, so we test if we can. If it's not supported
129 # on a give platform gcc will emit a warning so we use -Werror.
130 if test "x$use_stack_protector" = "x1"; then
131 for t in -fstack-protector-all -fstack-protector; do
132 AC_MSG_CHECKING(if $CC supports $t)
133 saved_CFLAGS="$CFLAGS"
134 saved_LDFLAGS="$LDFLAGS"
135 CFLAGS="$CFLAGS $t -Werror"
136 LDFLAGS="$LDFLAGS $t -Werror"
137 AC_LINK_IFELSE(
138 [AC_LANG_SOURCE([
139#include <stdlib.h>
140int main(void){return 0;}
141 ])],
142 [ AC_MSG_RESULT(yes)
143 CFLAGS="$saved_CFLAGS $t"
144 LDFLAGS="$saved_LDFLAGS $t"
145 AC_MSG_CHECKING(if $t works)
146 AC_RUN_IFELSE(
147 [AC_LANG_SOURCE([
148#include <stdlib.h>
149int main(void){exit(0);}
150 ])],
151 [ AC_MSG_RESULT(yes)
152 break ],
153 [ AC_MSG_RESULT(no) ],
154 [ AC_MSG_WARN([cross compiling: cannot test])
155 break ]
156 )
157 ],
158 [ AC_MSG_RESULT(no) ]
159 )
160 CFLAGS="$saved_CFLAGS"
161 LDFLAGS="$saved_LDFLAGS"
162 done
163 fi
164
108 if test -z "$have_llong_max"; then 165 if test -z "$have_llong_max"; then
109 # retry LLONG_MAX with -std=gnu99, needed on some Linuxes 166 # retry LLONG_MAX with -std=gnu99, needed on some Linuxes
110 unset ac_cv_have_decl_LLONG_MAX 167 unset ac_cv_have_decl_LLONG_MAX
@@ -222,7 +279,9 @@ AC_CHECK_HEADERS( \
222 sys/cdefs.h \ 279 sys/cdefs.h \
223 sys/dir.h \ 280 sys/dir.h \
224 sys/mman.h \ 281 sys/mman.h \
282 sys/mount.h \
225 sys/ndir.h \ 283 sys/ndir.h \
284 sys/poll.h \
226 sys/prctl.h \ 285 sys/prctl.h \
227 sys/pstat.h \ 286 sys/pstat.h \
228 sys/select.h \ 287 sys/select.h \
@@ -230,6 +289,7 @@ AC_CHECK_HEADERS( \
230 sys/stream.h \ 289 sys/stream.h \
231 sys/stropts.h \ 290 sys/stropts.h \
232 sys/strtio.h \ 291 sys/strtio.h \
292 sys/statvfs.h \
233 sys/sysmacros.h \ 293 sys/sysmacros.h \
234 sys/time.h \ 294 sys/time.h \
235 sys/timers.h \ 295 sys/timers.h \
@@ -343,7 +403,7 @@ int main(void) { exit(0); }
343 [], 403 [],
344 [#include <usersec.h>] 404 [#include <usersec.h>]
345 ) 405 )
346 AC_CHECK_FUNCS(setauthdb) 406 AC_CHECK_FUNCS(getgrset setauthdb)
347 AC_CHECK_DECL(F_CLOSEM, 407 AC_CHECK_DECL(F_CLOSEM,
348 AC_DEFINE(HAVE_FCNTL_CLOSEM, 1, [Use F_CLOSEM fcntl for closefrom]), 408 AC_DEFINE(HAVE_FCNTL_CLOSEM, 1, [Use F_CLOSEM fcntl for closefrom]),
349 [], 409 [],
@@ -405,6 +465,7 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
405 AC_DEFINE(SETEUID_BREAKS_SETUID) 465 AC_DEFINE(SETEUID_BREAKS_SETUID)
406 AC_DEFINE(BROKEN_SETREUID) 466 AC_DEFINE(BROKEN_SETREUID)
407 AC_DEFINE(BROKEN_SETREGID) 467 AC_DEFINE(BROKEN_SETREGID)
468 AC_DEFINE(BROKEN_GLOB, 1, [OS X glob does not do what we expect])
408 AC_DEFINE_UNQUOTED(BIND_8_COMPAT, 1, 469 AC_DEFINE_UNQUOTED(BIND_8_COMPAT, 1,
409 [Define if your resolver libs need this for getrrsetbyname]) 470 [Define if your resolver libs need this for getrrsetbyname])
410 AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way]) 471 AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way])
@@ -412,6 +473,11 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
412 [Use tunnel device compatibility to OpenBSD]) 473 [Use tunnel device compatibility to OpenBSD])
413 AC_DEFINE(SSH_TUN_PREPEND_AF, 1, 474 AC_DEFINE(SSH_TUN_PREPEND_AF, 1,
414 [Prepend the address family to IP tunnel traffic]) 475 [Prepend the address family to IP tunnel traffic])
476 m4_pattern_allow(AU_IPv)
477 AC_CHECK_DECL(AU_IPv4, [],
478 AC_DEFINE(AU_IPv4, 0, [System only supports IPv4 audit records])
479 [#include <bsm/audit.h>]
480 )
415 AC_MSG_CHECKING(if we have the Security Authorization Session API) 481 AC_MSG_CHECKING(if we have the Security Authorization Session API)
416 AC_TRY_COMPILE([#include <Security/AuthSession.h>], 482 AC_TRY_COMPILE([#include <Security/AuthSession.h>],
417 [SessionCreate(0, 0);], 483 [SessionCreate(0, 0);],
@@ -436,7 +502,7 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
436 fi], 502 fi],
437 [AC_MSG_RESULT(no)] 503 [AC_MSG_RESULT(no)]
438 ) 504 )
439 ;; 505 ;;
440*-*-dragonfly*) 506*-*-dragonfly*)
441 SSHDLIBS="$SSHDLIBS -lcrypt" 507 SSHDLIBS="$SSHDLIBS -lcrypt"
442 ;; 508 ;;
@@ -531,7 +597,6 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
531 no_dev_ptmx=1 597 no_dev_ptmx=1
532 check_for_libcrypt_later=1 598 check_for_libcrypt_later=1
533 check_for_openpty_ctty_bug=1 599 check_for_openpty_ctty_bug=1
534 AC_DEFINE(DONT_TRY_OTHER_AF, 1, [Workaround more Linux IPv6 quirks])
535 AC_DEFINE(PAM_TTY_KLUDGE, 1, 600 AC_DEFINE(PAM_TTY_KLUDGE, 1,
536 [Work around problematic Linux PAM modules handling of PAM_TTY]) 601 [Work around problematic Linux PAM modules handling of PAM_TTY])
537 AC_DEFINE(LOCKED_PASSWD_PREFIX, "!", 602 AC_DEFINE(LOCKED_PASSWD_PREFIX, "!",
@@ -582,6 +647,7 @@ mips-sony-bsd|mips-sony-newsos4)
582 AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way]) 647 AC_DEFINE(SSH_TUN_FREEBSD, 1, [Open tunnel devices the FreeBSD way])
583 AC_CHECK_HEADER([net/if_tap.h], , 648 AC_CHECK_HEADER([net/if_tap.h], ,
584 AC_DEFINE(SSH_TUN_NO_L2, 1, [No layer 2 tunnel support])) 649 AC_DEFINE(SSH_TUN_NO_L2, 1, [No layer 2 tunnel support]))
650 AC_DEFINE(BROKEN_GLOB, 1, [FreeBSD glob does not do what we need])
585 ;; 651 ;;
586*-*-bsdi*) 652*-*-bsdi*)
587 AC_DEFINE(SETEUID_BREAKS_SETUID) 653 AC_DEFINE(SETEUID_BREAKS_SETUID)
@@ -808,6 +874,7 @@ mips-sony-bsd|mips-sony-newsos4)
808 AC_DEFINE(SETEUID_BREAKS_SETUID) 874 AC_DEFINE(SETEUID_BREAKS_SETUID)
809 AC_DEFINE(BROKEN_SETREUID) 875 AC_DEFINE(BROKEN_SETREUID)
810 AC_DEFINE(BROKEN_SETREGID) 876 AC_DEFINE(BROKEN_SETREGID)
877 AC_DEFINE(BROKEN_READV_COMPARISON, 1, [Can't do comparisons on readv])
811 ;; 878 ;;
812 879
813*-*-nto-qnx*) 880*-*-nto-qnx*)
@@ -818,6 +885,7 @@ mips-sony-bsd|mips-sony-newsos4)
818 AC_DEFINE(MISSING_FD_MASK, 1, [Define on *nto-qnx systems]) 885 AC_DEFINE(MISSING_FD_MASK, 1, [Define on *nto-qnx systems])
819 AC_DEFINE(DISABLE_LASTLOG) 886 AC_DEFINE(DISABLE_LASTLOG)
820 AC_DEFINE(SSHD_ACQUIRES_CTTY) 887 AC_DEFINE(SSHD_ACQUIRES_CTTY)
888 AC_DEFINE(BROKEN_SHADOW_EXPIRE, 1, [QNX shadow support is broken])
821 enable_etc_default_login=no # has incompatible /etc/default/login 889 enable_etc_default_login=no # has incompatible /etc/default/login
822 case "$host" in 890 case "$host" in
823 *-*-nto-qnx6*) 891 *-*-nto-qnx6*)
@@ -1013,7 +1081,7 @@ dnl Checks for libutil functions
1013AC_CHECK_HEADERS(libutil.h) 1081AC_CHECK_HEADERS(libutil.h)
1014AC_SEARCH_LIBS(login, util bsd, [AC_DEFINE(HAVE_LOGIN, 1, 1082AC_SEARCH_LIBS(login, util bsd, [AC_DEFINE(HAVE_LOGIN, 1,
1015 [Define if your libraries define login()])]) 1083 [Define if your libraries define login()])])
1016AC_CHECK_FUNCS(logout updwtmp logwtmp) 1084AC_CHECK_FUNCS(fmt_scaled logout updwtmp logwtmp)
1017 1085
1018AC_FUNC_STRFTIME 1086AC_FUNC_STRFTIME
1019 1087
@@ -1247,7 +1315,7 @@ AC_ARG_WITH(audit,
1247 AC_CHECK_FUNCS(getaudit, [], 1315 AC_CHECK_FUNCS(getaudit, [],
1248 [AC_MSG_ERROR(BSM enabled and required function not found)]) 1316 [AC_MSG_ERROR(BSM enabled and required function not found)])
1249 # These are optional 1317 # These are optional
1250 AC_CHECK_FUNCS(getaudit_addr) 1318 AC_CHECK_FUNCS(getaudit_addr aug_get_machine)
1251 AC_DEFINE(USE_BSM_AUDIT, 1, [Use BSM audit module]) 1319 AC_DEFINE(USE_BSM_AUDIT, 1, [Use BSM audit module])
1252 ;; 1320 ;;
1253 debug) 1321 debug)
@@ -1267,6 +1335,8 @@ AC_ARG_WITH(audit,
1267dnl Checks for library functions. Please keep in alphabetical order 1335dnl Checks for library functions. Please keep in alphabetical order
1268AC_CHECK_FUNCS( \ 1336AC_CHECK_FUNCS( \
1269 arc4random \ 1337 arc4random \
1338 arc4random_buf \
1339 arc4random_uniform \
1270 asprintf \ 1340 asprintf \
1271 b64_ntop \ 1341 b64_ntop \
1272 __b64_ntop \ 1342 __b64_ntop \
@@ -1280,6 +1350,7 @@ AC_CHECK_FUNCS( \
1280 fchmod \ 1350 fchmod \
1281 fchown \ 1351 fchown \
1282 freeaddrinfo \ 1352 freeaddrinfo \
1353 fstatvfs \
1283 futimes \ 1354 futimes \
1284 getaddrinfo \ 1355 getaddrinfo \
1285 getcwd \ 1356 getcwd \
@@ -1331,6 +1402,8 @@ AC_CHECK_FUNCS( \
1331 sigvec \ 1402 sigvec \
1332 snprintf \ 1403 snprintf \
1333 socketpair \ 1404 socketpair \
1405 statfs \
1406 statvfs \
1334 strdup \ 1407 strdup \
1335 strerror \ 1408 strerror \
1336 strlcat \ 1409 strlcat \
@@ -2037,7 +2110,10 @@ AC_CHECK_FUNCS(SHA256_Update EVP_sha256)
2037saved_LIBS="$LIBS" 2110saved_LIBS="$LIBS"
2038AC_CHECK_LIB(iaf, ia_openinfo, [ 2111AC_CHECK_LIB(iaf, ia_openinfo, [
2039 LIBS="$LIBS -liaf" 2112 LIBS="$LIBS -liaf"
2040 AC_CHECK_FUNCS(set_id, [SSHDLIBS="$SSHDLIBS -liaf"]) 2113 AC_CHECK_FUNCS(set_id, [SSHDLIBS="$SSHDLIBS -liaf"
2114 AC_DEFINE(HAVE_LIBIAF, 1,
2115 [Define if system has libiaf that supports set_id])
2116 ])
2041]) 2117])
2042LIBS="$saved_LIBS" 2118LIBS="$saved_LIBS"
2043 2119
@@ -2621,6 +2697,18 @@ fi
2621TYPE_SOCKLEN_T 2697TYPE_SOCKLEN_T
2622 2698
2623AC_CHECK_TYPES(sig_atomic_t,,,[#include <signal.h>]) 2699AC_CHECK_TYPES(sig_atomic_t,,,[#include <signal.h>])
2700AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t],,,[
2701#include <sys/types.h>
2702#ifdef HAVE_SYS_BITYPES_H
2703#include <sys/bitypes.h>
2704#endif
2705#ifdef HAVE_SYS_STATFS_H
2706#include <sys/statfs.h>
2707#endif
2708#ifdef HAVE_SYS_STATVFS_H
2709#include <sys/statvfs.h>
2710#endif
2711])
2624 2712
2625AC_CHECK_TYPES(in_addr_t,,, 2713AC_CHECK_TYPES(in_addr_t,,,
2626[#include <sys/types.h> 2714[#include <sys/types.h>
@@ -2983,6 +3071,16 @@ if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then
2983 file descriptor passing]) 3071 file descriptor passing])
2984fi 3072fi
2985 3073
3074AC_MSG_CHECKING(if f_fsid has val members)
3075AC_TRY_COMPILE([
3076#include <sys/types.h>
3077#include <sys/statvfs.h>],
3078[struct fsid_t t; t.val[0] = 0;],
3079 [ AC_MSG_RESULT(yes)
3080 AC_DEFINE(FSID_HAS_VAL, 1, f_fsid has members) ],
3081 [ AC_MSG_RESULT(no) ]
3082)
3083
2986AC_CACHE_CHECK([for msg_control field in struct msghdr], 3084AC_CACHE_CHECK([for msg_control field in struct msghdr],
2987 ac_cv_have_control_in_msghdr, [ 3085 ac_cv_have_control_in_msghdr, [
2988 AC_COMPILE_IFELSE( 3086 AC_COMPILE_IFELSE(
@@ -3234,7 +3332,7 @@ int main() { return 0; }
3234SELINUX_MSG="no" 3332SELINUX_MSG="no"
3235LIBSELINUX="" 3333LIBSELINUX=""
3236AC_ARG_WITH(selinux, 3334AC_ARG_WITH(selinux,
3237 [ --with-selinux Enable SELinux support], 3335 [ --with-selinux Enable SELinux support],
3238 [ if test "x$withval" != "xno" ; then 3336 [ if test "x$withval" != "xno" ; then
3239 save_LIBS="$LIBS" 3337 save_LIBS="$LIBS"
3240 AC_DEFINE(WITH_SELINUX,1,[Define if you want SELinux support.]) 3338 AC_DEFINE(WITH_SELINUX,1,[Define if you want SELinux support.])
@@ -3314,12 +3412,12 @@ AC_ARG_WITH(kerberos5,
3314 ) 3412 )
3315 AC_SEARCH_LIBS(dn_expand, resolv) 3413 AC_SEARCH_LIBS(dn_expand, resolv)
3316 3414
3317 AC_CHECK_LIB(gssapi,gss_init_sec_context, 3415 AC_CHECK_LIB(gssapi_krb5, gss_init_sec_context,
3318 [ AC_DEFINE(GSSAPI) 3416 [ AC_DEFINE(GSSAPI)
3319 K5LIBS="-lgssapi $K5LIBS" ], 3417 K5LIBS="-lgssapi_krb5 $K5LIBS" ],
3320 [ AC_CHECK_LIB(gssapi_krb5,gss_init_sec_context, 3418 [ AC_CHECK_LIB(gssapi, gss_init_sec_context,
3321 [ AC_DEFINE(GSSAPI) 3419 [ AC_DEFINE(GSSAPI)
3322 K5LIBS="-lgssapi_krb5 $K5LIBS" ], 3420 K5LIBS="-lgssapi $K5LIBS" ],
3323 AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]), 3421 AC_MSG_WARN([Cannot find any suitable gss-api library - build may fail]),
3324 $K5LIBS) 3422 $K5LIBS)
3325 ], 3423 ],
@@ -4018,6 +4116,13 @@ dnl Adding -Werror to CFLAGS early prevents configure tests from running.
4018dnl Add now. 4116dnl Add now.
4019CFLAGS="$CFLAGS $werror_flags" 4117CFLAGS="$CFLAGS $werror_flags"
4020 4118
4119if grep "#define BROKEN_GETADDRINFO 1" confdefs.h >/dev/null || \
4120 test "x$ac_cv_func_getaddrinfo" != "xyes" ; then
4121 AC_SUBST(TEST_SSH_IPV6, no)
4122else
4123 AC_SUBST(TEST_SSH_IPV6, yes)
4124fi
4125
4021AC_EXEEXT 4126AC_EXEEXT
4022AC_CONFIG_FILES([Makefile buildpkg.sh opensshd.init openssh.xml \ 4127AC_CONFIG_FILES([Makefile buildpkg.sh opensshd.init openssh.xml \
4023 openbsd-compat/Makefile openbsd-compat/regress/Makefile \ 4128 openbsd-compat/Makefile openbsd-compat/regress/Makefile \