xref: /freebsd/crypto/openssh/regress/proto-version.sh (revision 4f52dfbb8d6c4d446500c5b097e3806ec219fbd4)
1*4f52dfbbSDag-Erling Smørgrav#	$OpenBSD: proto-version.sh,v 1.7 2017/06/07 01:48:15 djm Exp $
2ce3adf43SDag-Erling Smørgrav#	Placed in the Public Domain.
3ce3adf43SDag-Erling Smørgrav
4ce3adf43SDag-Erling Smørgravtid="sshd version with different protocol combinations"
5ce3adf43SDag-Erling Smørgrav
6ce3adf43SDag-Erling Smørgrav# we just start sshd in inetd mode and check the banner
7ce3adf43SDag-Erling Smørgravcheck_version ()
8ce3adf43SDag-Erling Smørgrav{
9*4f52dfbbSDag-Erling Smørgrav	expect=$1
10*4f52dfbbSDag-Erling Smørgrav	banner=`printf '' | ${SSHD} -i -f ${OBJ}/sshd_proxy`
11ce3adf43SDag-Erling Smørgrav	case ${banner} in
12ce3adf43SDag-Erling Smørgrav	SSH-1.99-*)
13ce3adf43SDag-Erling Smørgrav		proto=199
14ce3adf43SDag-Erling Smørgrav		;;
15ce3adf43SDag-Erling Smørgrav	SSH-2.0-*)
16ce3adf43SDag-Erling Smørgrav		proto=20
17ce3adf43SDag-Erling Smørgrav		;;
18ce3adf43SDag-Erling Smørgrav	SSH-1.5-*)
19ce3adf43SDag-Erling Smørgrav		proto=15
20ce3adf43SDag-Erling Smørgrav		;;
21ce3adf43SDag-Erling Smørgrav	*)
22ce3adf43SDag-Erling Smørgrav		proto=0
23ce3adf43SDag-Erling Smørgrav		;;
24ce3adf43SDag-Erling Smørgrav	esac
25ce3adf43SDag-Erling Smørgrav	if [ ${expect} -ne ${proto} ]; then
26*4f52dfbbSDag-Erling Smørgrav		fail "wrong protocol version ${banner}"
27ce3adf43SDag-Erling Smørgrav	fi
28ce3adf43SDag-Erling Smørgrav}
29ce3adf43SDag-Erling Smørgrav
30*4f52dfbbSDag-Erling Smørgravcheck_version	20
31