]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - crypto/openssh/regress/sftp-badcmds.sh
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / crypto / openssh / regress / sftp-badcmds.sh
1 #       $OpenBSD: sftp-badcmds.sh,v 1.6 2013/05/17 10:26:26 dtucker Exp $
2 #       Placed in the Public Domain.
3
4 tid="sftp invalid commands"
5
6 DATA2=/bin/sh${EXEEXT}
7 NONEXIST=/NONEXIST.$$
8 GLOBFILES=`(cd /bin;echo l*)`
9
10 rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd
11
12 rm -f ${COPY}
13 verbose "$tid: get nonexistent"
14 echo "get $NONEXIST $COPY" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \
15         || fail "get nonexistent failed"
16 test -f ${COPY} && fail "existing copy after get nonexistent"
17
18 rm -f ${COPY}.dd/*
19 verbose "$tid: glob get to nonexistent directory"
20 echo "get /bin/l* $NONEXIST" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \
21         || fail "get nonexistent failed"
22 for x in $GLOBFILES; do
23         test -f ${COPY}.dd/$x && fail "existing copy after get nonexistent"
24 done
25
26 rm -f ${COPY}
27 verbose "$tid: put nonexistent"
28 echo "put $NONEXIST $COPY" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \
29         || fail "put nonexistent failed"
30 test -f ${COPY} && fail "existing copy after put nonexistent"
31
32 rm -f ${COPY}.dd/*
33 verbose "$tid: glob put to nonexistent directory"
34 echo "put /bin/l* ${COPY}.dd" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \
35         || fail "put nonexistent failed"
36 for x in $GLOBFILES; do
37         test -f ${COPY}.dd/$x && fail "existing copy after nonexistent"
38 done
39
40 rm -f ${COPY}
41 verbose "$tid: rename nonexistent"
42 echo "rename $NONEXIST ${COPY}.1" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \
43         || fail "rename nonexist failed"
44 test -f ${COPY}.1 && fail "file exists after rename nonexistent"
45
46 rm -rf ${COPY} ${COPY}.dd
47 cp $DATA $COPY
48 mkdir ${COPY}.dd
49 verbose "$tid: rename target exists (directory)"
50 echo "rename $COPY ${COPY}.dd" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 \
51         || fail "rename target exists (directory) failed"
52 test -f ${COPY} || fail "oldname missing after rename target exists (directory)"
53 test -d ${COPY}.dd || fail "newname missing after rename target exists (directory)"
54 cmp $DATA ${COPY} >/dev/null 2>&1 || fail "corrupted oldname after rename target exists (directory)"
55
56 rm -f ${COPY}.dd/*
57 rm -rf ${COPY}
58 cp ${DATA2} ${COPY}
59 verbose "$tid: glob put files to local file"
60 echo "put /bin/l* $COPY" | ${SFTP} -D ${SFTPSERVER} >/dev/null 2>&1 
61 cmp ${DATA2} ${COPY} || fail "put successed when it should have failed"
62
63 rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COPY}.dd
64
65