xref: /freebsd/crypto/openssh/regress/banner.sh (revision 19261079b74319502c6ffa1249920079f0f69a72)
1*19261079SEd Maste#	$OpenBSD: banner.sh,v 1.4 2021/08/08 06:38:33 dtucker Exp $
2ce3adf43SDag-Erling Smørgrav#	Placed in the Public Domain.
3ce3adf43SDag-Erling Smørgrav
4ce3adf43SDag-Erling Smørgravtid="banner"
5ce3adf43SDag-Erling Smørgravecho "Banner $OBJ/banner.in" >> $OBJ/sshd_proxy
6ce3adf43SDag-Erling Smørgrav
7ce3adf43SDag-Erling Smørgravrm -f $OBJ/banner.out $OBJ/banner.in $OBJ/empty.in
8ce3adf43SDag-Erling Smørgravtouch $OBJ/empty.in
9ce3adf43SDag-Erling Smørgrav
10ce3adf43SDag-Erling Smørgravtrace "test missing banner file"
11ce3adf43SDag-Erling Smørgravverbose "test $tid: missing banner file"
124f52dfbbSDag-Erling Smørgrav( ${SSH} -F $OBJ/ssh_proxy otherhost true 2>$OBJ/banner.out && \
13ce3adf43SDag-Erling Smørgrav	cmp $OBJ/empty.in $OBJ/banner.out ) || \
14ce3adf43SDag-Erling Smørgrav	fail "missing banner file"
15ce3adf43SDag-Erling Smørgrav
16ce3adf43SDag-Erling Smørgravfor s in 0 10 100 1000 10000 100000 ; do
17ce3adf43SDag-Erling Smørgrav	if [ "$s" = "0" ]; then
18ce3adf43SDag-Erling Smørgrav		# create empty banner
19ce3adf43SDag-Erling Smørgrav		touch $OBJ/banner.in
20ce3adf43SDag-Erling Smørgrav	elif [ "$s" = "10" ]; then
21ce3adf43SDag-Erling Smørgrav		# create 10-byte banner file
22ce3adf43SDag-Erling Smørgrav		echo "abcdefghi" >$OBJ/banner.in
23ce3adf43SDag-Erling Smørgrav	else
24ce3adf43SDag-Erling Smørgrav		# increase size 10x
25ce3adf43SDag-Erling Smørgrav		cp $OBJ/banner.in $OBJ/banner.out
26ce3adf43SDag-Erling Smørgrav		for i in 0 1 2 3 4 5 6 7 8 ; do
27ce3adf43SDag-Erling Smørgrav			cat $OBJ/banner.out >> $OBJ/banner.in
28ce3adf43SDag-Erling Smørgrav		done
29ce3adf43SDag-Erling Smørgrav	fi
30ce3adf43SDag-Erling Smørgrav
31ce3adf43SDag-Erling Smørgrav	trace "test banner size $s"
32ce3adf43SDag-Erling Smørgrav	verbose "test $tid: size $s"
334f52dfbbSDag-Erling Smørgrav	( ${SSH} -F $OBJ/ssh_proxy otherhost true 2>$OBJ/banner.out && \
34ce3adf43SDag-Erling Smørgrav		cmp $OBJ/banner.in $OBJ/banner.out ) || \
35ce3adf43SDag-Erling Smørgrav		fail "banner size $s mismatch"
36ce3adf43SDag-Erling Smørgravdone
37ce3adf43SDag-Erling Smørgrav
38ce3adf43SDag-Erling Smørgravtrace "test suppress banner (-q)"
39ce3adf43SDag-Erling Smørgravverbose "test $tid: suppress banner (-q)"
40*19261079SEd Maste# ssh-log-wrapper drops "-q" to preserve debug output so use ssh directly
41*19261079SEd Maste# for just this test.
42*19261079SEd Maste( ${REAL_SSH} -q -F $OBJ/ssh_proxy otherhost true 2>$OBJ/banner.out && \
43ce3adf43SDag-Erling Smørgrav	cmp $OBJ/empty.in $OBJ/banner.out ) || \
44ce3adf43SDag-Erling Smørgrav	fail "suppress banner (-q)"
45ce3adf43SDag-Erling Smørgrav
46ce3adf43SDag-Erling Smørgravrm -f $OBJ/banner.out $OBJ/banner.in $OBJ/empty.in
47