summaryrefslogtreecommitdiff
path: root/regress/putty-transfer.sh
blob: 0a4f34ee6dcedff7edbe7d37def28365767137ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#	$OpenBSD: putty-transfer.sh,v 1.1 2007/12/21 04:13:53 djm Exp $
#	Placed in the Public Domain.

tid="putty transfer data"

DATA=/bin/ls
COPY=${OBJ}/copy

set -e

if test "x$REGRESS_INTEROP_PUTTY" != "xyes" ; then
	fatal "putty interop tests not enabled"
fi

# XXX support protocol 1 too
for p in 2; do
	for c in 0 1 ; do 
	verbose "$tid: proto $p compression $c"
		rm -f ${COPY}
		cp ${OBJ}/.putty/sessions/localhost_proxy \
		    ${OBJ}/.putty/sessions/compression_$c
		echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k
		env HOME=$PWD ${PLINK} -load compression_$c -batch \
		    -i putty.rsa$p 127.0.0.1 cat ${DATA} > ${COPY}
		if [ $? -ne 0 ]; then
			fail "ssh cat $DATA failed"
		fi
		cmp ${DATA} ${COPY}		|| fail "corrupted copy"
	
		for s in 10 100 1k 32k 64k 128k 256k; do
			trace "proto $p compression $c dd-size ${s}"
			rm -f ${COPY}
			dd if=$DATA obs=${s} 2> /dev/null | \
				env HOME=$PWD ${PLINK} -load compression_$c \
				    -batch -i putty.rsa$p 127.0.0.1 \
				    "cat > ${COPY}"
			if [ $? -ne 0 ]; then
				fail "ssh cat $DATA failed"
			fi
			cmp $DATA ${COPY}	|| fail "corrupted copy"
		done
	done
done
rm -f ${COPY}