import of openssh-5.8p1
[openssh.git] / regress / putty-transfer.sh
1 #       $OpenBSD: putty-transfer.sh,v 1.2 2008/06/30 10:31:11 djm Exp $
2 #       Placed in the Public Domain.
3
4 tid="putty transfer data"
5
6 DATA=/bin/ls
7 COPY=${OBJ}/copy
8
9 if test "x$REGRESS_INTEROP_PUTTY" != "xyes" ; then
10         echo "putty interop tests not enabled"
11         exit 0
12 fi
13
14 # XXX support protocol 1 too
15 for p in 2; do
16         for c in 0 1 ; do 
17         verbose "$tid: proto $p compression $c"
18                 rm -f ${COPY}
19                 cp ${OBJ}/.putty/sessions/localhost_proxy \
20                     ${OBJ}/.putty/sessions/compression_$c
21                 echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k
22                 env HOME=$PWD ${PLINK} -load compression_$c -batch \
23                     -i putty.rsa$p 127.0.0.1 cat ${DATA} > ${COPY}
24                 if [ $? -ne 0 ]; then
25                         fail "ssh cat $DATA failed"
26                 fi
27                 cmp ${DATA} ${COPY}             || fail "corrupted copy"
28         
29                 for s in 10 100 1k 32k 64k 128k 256k; do
30                         trace "proto $p compression $c dd-size ${s}"
31                         rm -f ${COPY}
32                         dd if=$DATA obs=${s} 2> /dev/null | \
33                                 env HOME=$PWD ${PLINK} -load compression_$c \
34                                     -batch -i putty.rsa$p 127.0.0.1 \
35                                     "cat > ${COPY}"
36                         if [ $? -ne 0 ]; then
37                                 fail "ssh cat $DATA failed"
38                         fi
39                         cmp $DATA ${COPY}       || fail "corrupted copy"
40                 done
41         done
42 done
43 rm -f ${COPY}
44