summaryrefslogtreecommitdiff
path: root/configure
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
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')
-rwxr-xr-xconfigure399
1 files changed, 391 insertions, 8 deletions
diff --git a/configure b/configure
index f4662e922..1fe8a20e9 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
1#! /bin/sh 1#! /bin/sh
2# From configure.ac Revision: 1.409 . 2# From configure.ac Revision: 1.415 .
3# Guess values for system-dependent variables and create Makefiles. 3# Guess values for system-dependent variables and create Makefiles.
4# Generated by GNU Autoconf 2.61 for OpenSSH Portable. 4# Generated by GNU Autoconf 2.61 for OpenSSH Portable.
5# 5#
@@ -5461,7 +5461,7 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
5461 5461
5462 # -fstack-protector-all doesn't always work for some GCC versions 5462 # -fstack-protector-all doesn't always work for some GCC versions
5463 # and/or platforms, so we test if we can. If it's not supported 5463 # and/or platforms, so we test if we can. If it's not supported
5464 # on a give platform gcc will emit a warning so we use -Werror. 5464 # on a given platform gcc will emit a warning so we use -Werror.
5465 if test "x$use_stack_protector" = "x1"; then 5465 if test "x$use_stack_protector" = "x1"; then
5466 for t in -fstack-protector-all -fstack-protector; do 5466 for t in -fstack-protector-all -fstack-protector; do
5467 { echo "$as_me:$LINENO: checking if $CC supports $t" >&5 5467 { echo "$as_me:$LINENO: checking if $CC supports $t" >&5
@@ -5477,8 +5477,8 @@ cat confdefs.h >>conftest.$ac_ext
5477cat >>conftest.$ac_ext <<_ACEOF 5477cat >>conftest.$ac_ext <<_ACEOF
5478/* end confdefs.h. */ 5478/* end confdefs.h. */
5479 5479
5480#include <stdlib.h> 5480#include <stdio.h>
5481int main(void){return 0;} 5481int main(void){char x[256]; snprintf(x, sizeof(x), "XXX"); return 0;}
5482 5482
5483_ACEOF 5483_ACEOF
5484rm -f conftest.$ac_objext conftest$ac_exeext 5484rm -f conftest.$ac_objext conftest$ac_exeext
@@ -5518,8 +5518,8 @@ cat confdefs.h >>conftest.$ac_ext
5518cat >>conftest.$ac_ext <<_ACEOF 5518cat >>conftest.$ac_ext <<_ACEOF
5519/* end confdefs.h. */ 5519/* end confdefs.h. */
5520 5520
5521#include <stdlib.h> 5521#include <stdio.h>
5522int main(void){exit(0);} 5522int main(void){char x[256]; snprintf(x, sizeof(x), "XXX"); return 0;}
5523 5523
5524_ACEOF 5524_ACEOF
5525rm -f conftest$ac_exeext 5525rm -f conftest$ac_exeext
@@ -7365,6 +7365,11 @@ _ACEOF
7365 7365
7366 #include <bsm/audit.h> 7366 #include <bsm/audit.h>
7367 7367
7368cat >>confdefs.h <<\_ACEOF
7369#define LASTLOG_WRITE_PUTUTXLINE 1
7370_ACEOF
7371
7372
7368fi 7373fi
7369 7374
7370 { echo "$as_me:$LINENO: checking if we have the Security Authorization Session API" >&5 7375 { echo "$as_me:$LINENO: checking if we have the Security Authorization Session API" >&5
@@ -7792,7 +7797,7 @@ _ACEOF
7792_ACEOF 7797_ACEOF
7793 7798
7794 ;; 7799 ;;
7795*-*-k*bsd*-gnu) 7800*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
7796 check_for_libcrypt_later=1 7801 check_for_libcrypt_later=1
7797 cat >>confdefs.h <<\_ACEOF 7802 cat >>confdefs.h <<\_ACEOF
7798#define PAM_TTY_KLUDGE 1 7803#define PAM_TTY_KLUDGE 1
@@ -8885,7 +8890,6 @@ _ACEOF
8885 ;; 8890 ;;
8886# UnixWare 7.x, OpenUNIX 8 8891# UnixWare 7.x, OpenUNIX 8
8887*-*-sysv5*) 8892*-*-sysv5*)
8888 check_for_libcrypt_later=1
8889 8893
8890cat >>confdefs.h <<\_ACEOF 8894cat >>confdefs.h <<\_ACEOF
8891#define UNIXWARE_LONG_PASSWORDS 1 8895#define UNIXWARE_LONG_PASSWORDS 1
@@ -8923,11 +8927,181 @@ _ACEOF
8923#define BROKEN_UPDWTMPX 1 8927#define BROKEN_UPDWTMPX 1
8924_ACEOF 8928_ACEOF
8925 8929
8930 { echo "$as_me:$LINENO: checking for getluid in -lprot" >&5
8931echo $ECHO_N "checking for getluid in -lprot... $ECHO_C" >&6; }
8932if test "${ac_cv_lib_prot_getluid+set}" = set; then
8933 echo $ECHO_N "(cached) $ECHO_C" >&6
8934else
8935 ac_check_lib_save_LIBS=$LIBS
8936LIBS="-lprot $LIBS"
8937cat >conftest.$ac_ext <<_ACEOF
8938/* confdefs.h. */
8939_ACEOF
8940cat confdefs.h >>conftest.$ac_ext
8941cat >>conftest.$ac_ext <<_ACEOF
8942/* end confdefs.h. */
8943
8944/* Override any GCC internal prototype to avoid an error.
8945 Use char because int might match the return type of a GCC
8946 builtin and then its argument prototype would still apply. */
8947#ifdef __cplusplus
8948extern "C"
8949#endif
8950char getluid ();
8951int
8952main ()
8953{
8954return getluid ();
8955 ;
8956 return 0;
8957}
8958_ACEOF
8959rm -f conftest.$ac_objext conftest$ac_exeext
8960if { (ac_try="$ac_link"
8961case "(($ac_try" in
8962 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
8963 *) ac_try_echo=$ac_try;;
8964esac
8965eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
8966 (eval "$ac_link") 2>conftest.er1
8967 ac_status=$?
8968 grep -v '^ *+' conftest.er1 >conftest.err
8969 rm -f conftest.er1
8970 cat conftest.err >&5
8971 echo "$as_me:$LINENO: \$? = $ac_status" >&5
8972 (exit $ac_status); } && {
8973 test -z "$ac_c_werror_flag" ||
8974 test ! -s conftest.err
8975 } && test -s conftest$ac_exeext &&
8976 $as_test_x conftest$ac_exeext; then
8977 ac_cv_lib_prot_getluid=yes
8978else
8979 echo "$as_me: failed program was:" >&5
8980sed 's/^/| /' conftest.$ac_ext >&5
8981
8982 ac_cv_lib_prot_getluid=no
8983fi
8984
8985rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
8986 conftest$ac_exeext conftest.$ac_ext
8987LIBS=$ac_check_lib_save_LIBS
8988fi
8989{ echo "$as_me:$LINENO: result: $ac_cv_lib_prot_getluid" >&5
8990echo "${ECHO_T}$ac_cv_lib_prot_getluid" >&6; }
8991if test $ac_cv_lib_prot_getluid = yes; then
8992 LIBS="$LIBS -lprot"
8993
8994
8995for ac_func in getluid setluid
8996do
8997as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
8998{ echo "$as_me:$LINENO: checking for $ac_func" >&5
8999echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
9000if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
9001 echo $ECHO_N "(cached) $ECHO_C" >&6
9002else
9003 cat >conftest.$ac_ext <<_ACEOF
9004/* confdefs.h. */
9005_ACEOF
9006cat confdefs.h >>conftest.$ac_ext
9007cat >>conftest.$ac_ext <<_ACEOF
9008/* end confdefs.h. */
9009/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
9010 For example, HP-UX 11i <limits.h> declares gettimeofday. */
9011#define $ac_func innocuous_$ac_func
9012
9013/* System header to define __stub macros and hopefully few prototypes,
9014 which can conflict with char $ac_func (); below.
9015 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
9016 <limits.h> exists even on freestanding compilers. */
9017
9018#ifdef __STDC__
9019# include <limits.h>
9020#else
9021# include <assert.h>
9022#endif
9023
9024#undef $ac_func
9025
9026/* Override any GCC internal prototype to avoid an error.
9027 Use char because int might match the return type of a GCC
9028 builtin and then its argument prototype would still apply. */
9029#ifdef __cplusplus
9030extern "C"
9031#endif
9032char $ac_func ();
9033/* The GNU C library defines this for functions which it implements
9034 to always fail with ENOSYS. Some functions are actually named
9035 something starting with __ and the normal name is an alias. */
9036#if defined __stub_$ac_func || defined __stub___$ac_func
9037choke me
9038#endif
9039
9040int
9041main ()
9042{
9043return $ac_func ();
9044 ;
9045 return 0;
9046}
9047_ACEOF
9048rm -f conftest.$ac_objext conftest$ac_exeext
9049if { (ac_try="$ac_link"
9050case "(($ac_try" in
9051 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
9052 *) ac_try_echo=$ac_try;;
9053esac
9054eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
9055 (eval "$ac_link") 2>conftest.er1
9056 ac_status=$?
9057 grep -v '^ *+' conftest.er1 >conftest.err
9058 rm -f conftest.er1
9059 cat conftest.err >&5
9060 echo "$as_me:$LINENO: \$? = $ac_status" >&5
9061 (exit $ac_status); } && {
9062 test -z "$ac_c_werror_flag" ||
9063 test ! -s conftest.err
9064 } && test -s conftest$ac_exeext &&
9065 $as_test_x conftest$ac_exeext; then
9066 eval "$as_ac_var=yes"
9067else
9068 echo "$as_me: failed program was:" >&5
9069sed 's/^/| /' conftest.$ac_ext >&5
9070
9071 eval "$as_ac_var=no"
9072fi
9073
9074rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
9075 conftest$ac_exeext conftest.$ac_ext
9076fi
9077ac_res=`eval echo '${'$as_ac_var'}'`
9078 { echo "$as_me:$LINENO: result: $ac_res" >&5
9079echo "${ECHO_T}$ac_res" >&6; }
9080if test `eval echo '${'$as_ac_var'}'` = yes; then
9081 cat >>confdefs.h <<_ACEOF
9082#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
9083_ACEOF
9084
9085fi
9086done
9087
9088 cat >>confdefs.h <<\_ACEOF
9089#define HAVE_SECUREWARE 1
9090_ACEOF
9091
9092 cat >>confdefs.h <<\_ACEOF
9093#define DISABLE_SHADOW 1
9094_ACEOF
9095
9096
9097fi
9098
8926 ;; 9099 ;;
8927 *) cat >>confdefs.h <<\_ACEOF 9100 *) cat >>confdefs.h <<\_ACEOF
8928#define LOCKED_PASSWD_STRING "*LK*" 9101#define LOCKED_PASSWD_STRING "*LK*"
8929_ACEOF 9102_ACEOF
8930 9103
9104 check_for_libcrypt_later=1
8931 ;; 9105 ;;
8932 esac 9106 esac
8933 ;; 9107 ;;
@@ -14916,6 +15090,100 @@ fi
14916done 15090done
14917 15091
14918 15092
15093for ac_func in getlastlogxbyname
15094do
15095as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
15096{ echo "$as_me:$LINENO: checking for $ac_func" >&5
15097echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
15098if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
15099 echo $ECHO_N "(cached) $ECHO_C" >&6
15100else
15101 cat >conftest.$ac_ext <<_ACEOF
15102/* confdefs.h. */
15103_ACEOF
15104cat confdefs.h >>conftest.$ac_ext
15105cat >>conftest.$ac_ext <<_ACEOF
15106/* end confdefs.h. */
15107/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
15108 For example, HP-UX 11i <limits.h> declares gettimeofday. */
15109#define $ac_func innocuous_$ac_func
15110
15111/* System header to define __stub macros and hopefully few prototypes,
15112 which can conflict with char $ac_func (); below.
15113 Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
15114 <limits.h> exists even on freestanding compilers. */
15115
15116#ifdef __STDC__
15117# include <limits.h>
15118#else
15119# include <assert.h>
15120#endif
15121
15122#undef $ac_func
15123
15124/* Override any GCC internal prototype to avoid an error.
15125 Use char because int might match the return type of a GCC
15126 builtin and then its argument prototype would still apply. */
15127#ifdef __cplusplus
15128extern "C"
15129#endif
15130char $ac_func ();
15131/* The GNU C library defines this for functions which it implements
15132 to always fail with ENOSYS. Some functions are actually named
15133 something starting with __ and the normal name is an alias. */
15134#if defined __stub_$ac_func || defined __stub___$ac_func
15135choke me
15136#endif
15137
15138int
15139main ()
15140{
15141return $ac_func ();
15142 ;
15143 return 0;
15144}
15145_ACEOF
15146rm -f conftest.$ac_objext conftest$ac_exeext
15147if { (ac_try="$ac_link"
15148case "(($ac_try" in
15149 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
15150 *) ac_try_echo=$ac_try;;
15151esac
15152eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
15153 (eval "$ac_link") 2>conftest.er1
15154 ac_status=$?
15155 grep -v '^ *+' conftest.er1 >conftest.err
15156 rm -f conftest.er1
15157 cat conftest.err >&5
15158 echo "$as_me:$LINENO: \$? = $ac_status" >&5
15159 (exit $ac_status); } && {
15160 test -z "$ac_c_werror_flag" ||
15161 test ! -s conftest.err
15162 } && test -s conftest$ac_exeext &&
15163 $as_test_x conftest$ac_exeext; then
15164 eval "$as_ac_var=yes"
15165else
15166 echo "$as_me: failed program was:" >&5
15167sed 's/^/| /' conftest.$ac_ext >&5
15168
15169 eval "$as_ac_var=no"
15170fi
15171
15172rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
15173 conftest$ac_exeext conftest.$ac_ext
15174fi
15175ac_res=`eval echo '${'$as_ac_var'}'`
15176 { echo "$as_me:$LINENO: result: $ac_res" >&5
15177echo "${ECHO_T}$ac_res" >&6; }
15178if test `eval echo '${'$as_ac_var'}'` = yes; then
15179 cat >>confdefs.h <<_ACEOF
15180#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
15181_ACEOF
15182
15183fi
15184done
15185
15186
14919{ echo "$as_me:$LINENO: checking for daemon" >&5 15187{ echo "$as_me:$LINENO: checking for daemon" >&5
14920echo $ECHO_N "checking for daemon... $ECHO_C" >&6; } 15188echo $ECHO_N "checking for daemon... $ECHO_C" >&6; }
14921if test "${ac_cv_func_daemon+set}" = set; then 15189if test "${ac_cv_func_daemon+set}" = set; then
@@ -22642,6 +22910,121 @@ cat >>confdefs.h <<\_ACEOF
22642#define HAVE_STRUCT_IN6_ADDR 1 22910#define HAVE_STRUCT_IN6_ADDR 1
22643_ACEOF 22911_ACEOF
22644 22912
22913
22914 { echo "$as_me:$LINENO: checking for struct sockaddr_in6.sin6_scope_id" >&5
22915echo $ECHO_N "checking for struct sockaddr_in6.sin6_scope_id... $ECHO_C" >&6; }
22916if test "${ac_cv_member_struct_sockaddr_in6_sin6_scope_id+set}" = set; then
22917 echo $ECHO_N "(cached) $ECHO_C" >&6
22918else
22919 cat >conftest.$ac_ext <<_ACEOF
22920/* confdefs.h. */
22921_ACEOF
22922cat confdefs.h >>conftest.$ac_ext
22923cat >>conftest.$ac_ext <<_ACEOF
22924/* end confdefs.h. */
22925
22926#ifdef HAVE_SYS_TYPES_H
22927#include <sys/types.h>
22928#endif
22929#include <netinet/in.h>
22930
22931
22932int
22933main ()
22934{
22935static struct sockaddr_in6 ac_aggr;
22936if (ac_aggr.sin6_scope_id)
22937return 0;
22938 ;
22939 return 0;
22940}
22941_ACEOF
22942rm -f conftest.$ac_objext
22943if { (ac_try="$ac_compile"
22944case "(($ac_try" in
22945 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
22946 *) ac_try_echo=$ac_try;;
22947esac
22948eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
22949 (eval "$ac_compile") 2>conftest.er1
22950 ac_status=$?
22951 grep -v '^ *+' conftest.er1 >conftest.err
22952 rm -f conftest.er1
22953 cat conftest.err >&5
22954 echo "$as_me:$LINENO: \$? = $ac_status" >&5
22955 (exit $ac_status); } && {
22956 test -z "$ac_c_werror_flag" ||
22957 test ! -s conftest.err
22958 } && test -s conftest.$ac_objext; then
22959 ac_cv_member_struct_sockaddr_in6_sin6_scope_id=yes
22960else
22961 echo "$as_me: failed program was:" >&5
22962sed 's/^/| /' conftest.$ac_ext >&5
22963
22964 cat >conftest.$ac_ext <<_ACEOF
22965/* confdefs.h. */
22966_ACEOF
22967cat confdefs.h >>conftest.$ac_ext
22968cat >>conftest.$ac_ext <<_ACEOF
22969/* end confdefs.h. */
22970
22971#ifdef HAVE_SYS_TYPES_H
22972#include <sys/types.h>
22973#endif
22974#include <netinet/in.h>
22975
22976
22977int
22978main ()
22979{
22980static struct sockaddr_in6 ac_aggr;
22981if (sizeof ac_aggr.sin6_scope_id)
22982return 0;
22983 ;
22984 return 0;
22985}
22986_ACEOF
22987rm -f conftest.$ac_objext
22988if { (ac_try="$ac_compile"
22989case "(($ac_try" in
22990 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
22991 *) ac_try_echo=$ac_try;;
22992esac
22993eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
22994 (eval "$ac_compile") 2>conftest.er1
22995 ac_status=$?
22996 grep -v '^ *+' conftest.er1 >conftest.err
22997 rm -f conftest.er1
22998 cat conftest.err >&5
22999 echo "$as_me:$LINENO: \$? = $ac_status" >&5
23000 (exit $ac_status); } && {
23001 test -z "$ac_c_werror_flag" ||
23002 test ! -s conftest.err
23003 } && test -s conftest.$ac_objext; then
23004 ac_cv_member_struct_sockaddr_in6_sin6_scope_id=yes
23005else
23006 echo "$as_me: failed program was:" >&5
23007sed 's/^/| /' conftest.$ac_ext >&5
23008
23009 ac_cv_member_struct_sockaddr_in6_sin6_scope_id=no
23010fi
23011
23012rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
23013fi
23014
23015rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
23016fi
23017{ echo "$as_me:$LINENO: result: $ac_cv_member_struct_sockaddr_in6_sin6_scope_id" >&5
23018echo "${ECHO_T}$ac_cv_member_struct_sockaddr_in6_sin6_scope_id" >&6; }
23019if test $ac_cv_member_struct_sockaddr_in6_sin6_scope_id = yes; then
23020
23021cat >>confdefs.h <<_ACEOF
23022#define HAVE_STRUCT_SOCKADDR_IN6_SIN6_SCOPE_ID 1
23023_ACEOF
23024
23025
23026fi
23027
22645fi 23028fi
22646 23029
22647{ echo "$as_me:$LINENO: checking for struct addrinfo" >&5 23030{ echo "$as_me:$LINENO: checking for struct addrinfo" >&5