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