~ubuntu-branches/ubuntu/edgy/openssh/edgy

« back to all changes in this revision

Viewing changes to regress/ssh-com.sh

  • Committer: Bazaar Package Importer
  • Author(s): Noah Meyerhans
  • Date: 2006-10-31 17:53:38 UTC
  • Revision ID: james.westby@ubuntu.com-20061031175338-kh299ada2qc2kzlb
Tags: upstream-3.8.1p1
ImportĀ upstreamĀ versionĀ 3.8.1p1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#       $OpenBSD: ssh-com.sh,v 1.7 2004/02/24 17:06:52 markus Exp $
 
2
#       Placed in the Public Domain.
 
3
 
 
4
tid="connect to ssh.com server"
 
5
 
 
6
#TEST_COMBASE=/path/to/ssh/com/binaries
 
7
if [ "X${TEST_COMBASE}" = "X" ]; then
 
8
        fatal '$TEST_COMBASE is not set'
 
9
fi
 
10
 
 
11
VERSIONS="
 
12
        2.0.12
 
13
        2.0.13
 
14
        2.1.0
 
15
        2.2.0
 
16
        2.3.0
 
17
        2.4.0
 
18
        3.0.0
 
19
        3.1.0
 
20
        3.2.0
 
21
        3.2.2
 
22
        3.2.3
 
23
        3.2.5
 
24
        3.2.9
 
25
        3.2.9.1
 
26
        3.3.0"
 
27
# 2.0.10 does not support UserConfigDirectory
 
28
# 2.3.1 requires a config in $HOME/.ssh2
 
29
 
 
30
SRC=`dirname ${SCRIPT}`
 
31
 
 
32
# ssh.com
 
33
cat << EOF > $OBJ/sshd2_config
 
34
#*:
 
35
        # Port and ListenAddress are not used.
 
36
        QuietMode                       yes
 
37
        Port                            4343
 
38
        ListenAddress                   127.0.0.1
 
39
        UserConfigDirectory             ${OBJ}/%U
 
40
        Ciphers                         AnyCipher
 
41
        PubKeyAuthentication            yes
 
42
        #AllowedAuthentications         publickey
 
43
        AuthorizationFile               authorization
 
44
        HostKeyFile                     ${SRC}/dsa_ssh2.prv
 
45
        PublicHostKeyFile               ${SRC}/dsa_ssh2.pub
 
46
        RandomSeedFile                  ${OBJ}/random_seed
 
47
        MaxConnections                  0 
 
48
        PermitRootLogin                 yes
 
49
        VerboseMode                     no
 
50
        CheckMail                       no
 
51
        Ssh1Compatibility               no
 
52
EOF
 
53
 
 
54
# create client config 
 
55
sed "s/HostKeyAlias.*/HostKeyAlias ssh2-localhost-with-alias/" \
 
56
        < $OBJ/ssh_config > $OBJ/ssh_config_com
 
57
 
 
58
# we need a DSA key for
 
59
rm -f                             ${OBJ}/dsa ${OBJ}/dsa.pub
 
60
${SSHKEYGEN} -q -N '' -t dsa -f   ${OBJ}/dsa
 
61
 
 
62
# setup userdir, try rsa first
 
63
mkdir -p ${OBJ}/${USER}
 
64
cp /dev/null ${OBJ}/${USER}/authorization
 
65
for t in rsa dsa; do
 
66
        ${SSHKEYGEN} -e -f ${OBJ}/$t.pub        >  ${OBJ}/${USER}/$t.com
 
67
        echo Key $t.com                 >> ${OBJ}/${USER}/authorization
 
68
        echo IdentityFile ${OBJ}/$t     >> ${OBJ}/ssh_config_com
 
69
done
 
70
 
 
71
# convert and append DSA hostkey
 
72
(
 
73
        echon 'ssh2-localhost-with-alias,127.0.0.1,::1 '
 
74
        ${SSHKEYGEN} -if ${SRC}/dsa_ssh2.pub
 
75
) >> $OBJ/known_hosts
 
76
 
 
77
# go for it
 
78
for v in ${VERSIONS}; do
 
79
        sshd2=${TEST_COMBASE}/${v}/sshd2
 
80
        if [ ! -x ${sshd2} ]; then
 
81
                continue
 
82
        fi
 
83
        trace "sshd2 ${v}"
 
84
        PROXY="proxycommand ${sshd2} -qif ${OBJ}/sshd2_config 2> /dev/null"
 
85
        ${SSH} -qF ${OBJ}/ssh_config_com -o "${PROXY}" dummy exit 0
 
86
        if [ $? -ne 0 ]; then
 
87
                fail "ssh connect to sshd2 ${v} failed"
 
88
        fi
 
89
 
 
90
        ciphers="3des-cbc blowfish-cbc arcfour"
 
91
        macs="hmac-md5"
 
92
        case $v in
 
93
        2.4.*)
 
94
                ciphers="$ciphers cast128-cbc"
 
95
                macs="$macs hmac-sha1 hmac-sha1-96 hmac-md5-96"
 
96
                ;;
 
97
        3.*)
 
98
                ciphers="$ciphers aes128-cbc cast128-cbc"
 
99
                macs="$macs hmac-sha1 hmac-sha1-96 hmac-md5-96"
 
100
                ;;
 
101
        esac
 
102
        #ciphers="3des-cbc"
 
103
        for m in $macs; do
 
104
        for c in $ciphers; do
 
105
                trace "sshd2 ${v} cipher $c mac $m"
 
106
                verbose "test ${tid}: sshd2 ${v} cipher $c mac $m"
 
107
                ${SSH} -c $c -m $m -qF ${OBJ}/ssh_config_com -o "${PROXY}" dummy exit 0
 
108
                if [ $? -ne 0 ]; then
 
109
                        fail "ssh connect to sshd2 ${v} with $c/$m failed"
 
110
                fi
 
111
        done
 
112
        done
 
113
done
 
114
 
 
115
rm -rf ${OBJ}/${USER}
 
116
for i in sshd_config_proxy ssh_config_proxy random_seed \
 
117
        sshd2_config dsa.pub dsa ssh_config_com; do
 
118
        rm -f ${OBJ}/$i
 
119
done