summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2010-01-01 23:53:30 +0000
committerColin Watson <cjwatson@debian.org>2010-01-01 23:53:30 +0000
commitdf03186a4f9e0c2ece398b5c0571cb6263d7a752 (patch)
tree1aab079441dff9615274769b19f2d734ddf508dd /configure.ac
parent6ad6994c288662fca6949f42bf91fec2aff00bca (diff)
parent99b402ea4c8457b0a3cafff37f5b3410a8dc6476 (diff)
* New upstream release (closes: #536182). Yes, I know 5.3p1 has been out
for a while, but there's no GSSAPI patch available for it yet. - Change the default cipher order to prefer the AES CTR modes and the revised "arcfour256" mode to CBC mode ciphers that are susceptible to CPNI-957037 "Plaintext Recovery Attack Against SSH". - Add countermeasures to mitigate CPNI-957037-style attacks against the SSH protocol's use of CBC-mode ciphers. Upon detection of an invalid packet length or Message Authentication Code, ssh/sshd will continue reading up to the maximum supported packet length rather than immediately terminating the connection. This eliminates most of the known differences in behaviour that leaked information about the plaintext of injected data which formed the basis of this attack (closes: #506115, LP: #379329). - ForceCommand directive now accepts commandline arguments for the internal-sftp server (closes: #524423, LP: #362511). - Add AllowAgentForwarding to available Match keywords list (closes: #540623). - Make ssh(1) send the correct channel number for SSH2_MSG_CHANNEL_SUCCESS and SSH2_MSG_CHANNEL_FAILURE messages to avoid triggering 'Non-public channel' error messages on sshd(8) in openssh-5.1. - Avoid printing 'Non-public channel' warnings in sshd(8), since the ssh(1) has sent incorrect channel numbers since ~2004 (this reverts a behaviour introduced in openssh-5.1; closes: #496017). * Update to GSSAPI patch from http://www.sxw.org.uk/computing/patches/openssh-5.2p1-gsskex-all-20090726.patch, including cascading credentials support (LP: #416958).
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac46
1 files changed, 32 insertions, 14 deletions
diff --git a/configure.ac b/configure.ac
index 991e0fef3..396fc974a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
1# $Id: configure.ac,v 1.409 2008/07/09 11:07:19 djm Exp $ 1# $Id: configure.ac,v 1.415 2009/02/16 04:37:03 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.409 $) 18AC_REVISION($Revision: 1.415 $)
19AC_CONFIG_SRCDIR([ssh.c]) 19AC_CONFIG_SRCDIR([ssh.c])
20 20
21AC_CONFIG_HEADER(config.h) 21AC_CONFIG_HEADER(config.h)
@@ -126,7 +126,7 @@ int main(void){char b[10]; memset(b, 0, sizeof(b));}
126 126
127 # -fstack-protector-all doesn't always work for some GCC versions 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 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. 129 # on a given platform gcc will emit a warning so we use -Werror.
130 if test "x$use_stack_protector" = "x1"; then 130 if test "x$use_stack_protector" = "x1"; then
131 for t in -fstack-protector-all -fstack-protector; do 131 for t in -fstack-protector-all -fstack-protector; do
132 AC_MSG_CHECKING(if $CC supports $t) 132 AC_MSG_CHECKING(if $CC supports $t)
@@ -136,8 +136,8 @@ int main(void){char b[10]; memset(b, 0, sizeof(b));}
136 LDFLAGS="$LDFLAGS $t -Werror" 136 LDFLAGS="$LDFLAGS $t -Werror"
137 AC_LINK_IFELSE( 137 AC_LINK_IFELSE(
138 [AC_LANG_SOURCE([ 138 [AC_LANG_SOURCE([
139#include <stdlib.h> 139#include <stdio.h>
140int main(void){return 0;} 140int main(void){char x[[256]]; snprintf(x, sizeof(x), "XXX"); return 0;}
141 ])], 141 ])],
142 [ AC_MSG_RESULT(yes) 142 [ AC_MSG_RESULT(yes)
143 CFLAGS="$saved_CFLAGS $t" 143 CFLAGS="$saved_CFLAGS $t"
@@ -145,8 +145,8 @@ int main(void){return 0;}
145 AC_MSG_CHECKING(if $t works) 145 AC_MSG_CHECKING(if $t works)
146 AC_RUN_IFELSE( 146 AC_RUN_IFELSE(
147 [AC_LANG_SOURCE([ 147 [AC_LANG_SOURCE([
148#include <stdlib.h> 148#include <stdio.h>
149int main(void){exit(0);} 149int main(void){char x[[256]]; snprintf(x, sizeof(x), "XXX"); return 0;}
150 ])], 150 ])],
151 [ AC_MSG_RESULT(yes) 151 [ AC_MSG_RESULT(yes)
152 break ], 152 break ],
@@ -473,11 +473,6 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
473 [Use tunnel device compatibility to OpenBSD]) 473 [Use tunnel device compatibility to OpenBSD])
474 AC_DEFINE(SSH_TUN_PREPEND_AF, 1, 474 AC_DEFINE(SSH_TUN_PREPEND_AF, 1,
475 [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 )
481 AC_MSG_CHECKING(if we have the Security Authorization Session API) 476 AC_MSG_CHECKING(if we have the Security Authorization Session API)
482 AC_TRY_COMPILE([#include <Security/AuthSession.h>], 477 AC_TRY_COMPILE([#include <Security/AuthSession.h>],
483 [SessionCreate(0, 0);], 478 [SessionCreate(0, 0);],
@@ -502,6 +497,13 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
502 fi], 497 fi],
503 [AC_MSG_RESULT(no)] 498 [AC_MSG_RESULT(no)]
504 ) 499 )
500 m4_pattern_allow(AU_IPv)
501 AC_CHECK_DECL(AU_IPv4, [],
502 AC_DEFINE(AU_IPv4, 0, [System only supports IPv4 audit records])
503 [#include <bsm/audit.h>]
504 AC_DEFINE(LASTLOG_WRITE_PUTUTXLINE, 1,
505 [Define if pututxline updates lastlog too])
506 )
505 ;; 507 ;;
506*-*-dragonfly*) 508*-*-dragonfly*)
507 SSHDLIBS="$SSHDLIBS -lcrypt" 509 SSHDLIBS="$SSHDLIBS -lcrypt"
@@ -585,7 +587,7 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
585 AC_DEFINE(WITH_ABBREV_NO_TTY) 587 AC_DEFINE(WITH_ABBREV_NO_TTY)
586 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") 588 AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
587 ;; 589 ;;
588*-*-k*bsd*-gnu) 590*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
589 check_for_libcrypt_later=1 591 check_for_libcrypt_later=1
590 AC_DEFINE(PAM_TTY_KLUDGE) 592 AC_DEFINE(PAM_TTY_KLUDGE)
591 AC_DEFINE(LOCKED_PASSWD_PREFIX, "!") 593 AC_DEFINE(LOCKED_PASSWD_PREFIX, "!")
@@ -761,7 +763,6 @@ mips-sony-bsd|mips-sony-newsos4)
761 ;; 763 ;;
762# UnixWare 7.x, OpenUNIX 8 764# UnixWare 7.x, OpenUNIX 8
763*-*-sysv5*) 765*-*-sysv5*)
764 check_for_libcrypt_later=1
765 AC_DEFINE(UNIXWARE_LONG_PASSWORDS, 1, [Support passwords > 8 chars]) 766 AC_DEFINE(UNIXWARE_LONG_PASSWORDS, 1, [Support passwords > 8 chars])
766 AC_DEFINE(USE_PIPES) 767 AC_DEFINE(USE_PIPES)
767 AC_DEFINE(SETEUID_BREAKS_SETUID) 768 AC_DEFINE(SETEUID_BREAKS_SETUID)
@@ -774,8 +775,14 @@ mips-sony-bsd|mips-sony-newsos4)
774 AC_DEFINE(BROKEN_LIBIAF, 1, 775 AC_DEFINE(BROKEN_LIBIAF, 1,
775 [ia_uinfo routines not supported by OS yet]) 776 [ia_uinfo routines not supported by OS yet])
776 AC_DEFINE(BROKEN_UPDWTMPX) 777 AC_DEFINE(BROKEN_UPDWTMPX)
778 AC_CHECK_LIB(prot, getluid,[ LIBS="$LIBS -lprot"
779 AC_CHECK_FUNCS(getluid setluid,,,-lprot)
780 AC_DEFINE(HAVE_SECUREWARE)
781 AC_DEFINE(DISABLE_SHADOW)
782 ],,)
777 ;; 783 ;;
778 *) AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*") 784 *) AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
785 check_for_libcrypt_later=1
779 ;; 786 ;;
780 esac 787 esac
781 ;; 788 ;;
@@ -1536,6 +1543,8 @@ AC_CHECK_FUNCS(utmpname)
1536dnl Checks for utmpx functions 1543dnl Checks for utmpx functions
1537AC_CHECK_FUNCS(endutxent getutxent getutxid getutxline pututxline ) 1544AC_CHECK_FUNCS(endutxent getutxent getutxid getutxline pututxline )
1538AC_CHECK_FUNCS(setutxent utmpxname) 1545AC_CHECK_FUNCS(setutxent utmpxname)
1546dnl Checks for lastlog functions
1547AC_CHECK_FUNCS(getlastlogxbyname)
1539 1548
1540AC_CHECK_FUNC(daemon, 1549AC_CHECK_FUNC(daemon,
1541 [AC_DEFINE(HAVE_DAEMON, 1, [Define if your libraries define daemon()])], 1550 [AC_DEFINE(HAVE_DAEMON, 1, [Define if your libraries define daemon()])],
@@ -2857,6 +2866,15 @@ AC_CACHE_CHECK([for struct in6_addr], ac_cv_have_struct_in6_addr, [
2857if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then 2866if test "x$ac_cv_have_struct_in6_addr" = "xyes" ; then
2858 AC_DEFINE(HAVE_STRUCT_IN6_ADDR, 1, 2867 AC_DEFINE(HAVE_STRUCT_IN6_ADDR, 1,
2859 [define if you have struct in6_addr data type]) 2868 [define if you have struct in6_addr data type])
2869
2870dnl Now check for sin6_scope_id
2871 AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
2872 [
2873#ifdef HAVE_SYS_TYPES_H
2874#include <sys/types.h>
2875#endif
2876#include <netinet/in.h>
2877 ])
2860fi 2878fi
2861 2879
2862AC_CACHE_CHECK([for struct addrinfo], ac_cv_have_struct_addrinfo, [ 2880AC_CACHE_CHECK([for struct addrinfo], ac_cv_have_struct_addrinfo, [