2004-10-28 16:03:53 +00:00
|
|
|
#!/bin/sh
|
2006-03-22 19:46:12 +00:00
|
|
|
# $OpenBSD: scp-ssh-wrapper.sh,v 1.2 2005/12/14 04:36:39 dtucker 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.
|
|
|
|
while test "$1" != ""; do
|
|
|
|
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"
|
|
|
|
;;
|
|
|
|
*)
|
2006-03-22 19:46:12 +00:00
|
|
|
exec $arg
|
2004-10-28 16:03:53 +00:00
|
|
|
;;
|
|
|
|
esac
|