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