freebsd-dev/crypto/openssh/regress/scp-ssh-wrapper.sh

60 lines
914 B
Bash
Raw Normal View History

2004-10-28 16:03:53 +00:00
#!/bin/sh
2014-03-22 15:23:38 +00:00
# $OpenBSD: scp-ssh-wrapper.sh,v 1.3 2014/01/26 10:49:17 djm Exp $
2004-10-28 16:03:53 +00:00
# Placed in the Public Domain.
printname () {
NAME=$1
save_IFS=$IFS
IFS=/
set -- `echo "$NAME"`
IFS="$save_IFS"
while [ $# -ge 1 ] ; do
if [ "x$1" != "x" ]; then
echo "D0755 0 $1"
fi
shift;
done
}
2006-03-22 19:46:12 +00:00
# Discard all but last argument. We use arg later.
2014-01-30 10:56:49 +00:00
while test "x$1" != "x"; do
2006-03-22 19:46:12 +00:00
arg="$1"
shift
done
2004-10-28 16:03:53 +00:00
BAD="../../../../../../../../../../../../../${DIR}/dotpathdir"
case "$SCPTESTMODE" in
badserver_0)
echo "D0755 0 /${DIR}/rootpathdir"
echo "C755 2 rootpathfile"
echo "X"
;;
badserver_1)
echo "D0755 0 $BAD"
echo "C755 2 file"
echo "X"
;;
badserver_2)
echo "D0755 0 $BAD"
echo "C755 2 file"
echo "X"
;;
badserver_3)
printname $BAD
echo "C755 2 file"
echo "X"
;;
badserver_4)
printname $BAD
echo "D0755 0 .."
echo "C755 2 file"
echo "X"
;;
*)
2014-01-30 10:56:49 +00:00
set -- $arg
shift
exec $SCP "$@"
2004-10-28 16:03:53 +00:00
;;
esac