2004-06-16 12:15:59 +02:00
|
|
|
#!/bin/sh
|
2014-02-28 00:23:26 +01:00
|
|
|
# $OpenBSD: scp-ssh-wrapper.sh,v 1.3 2014/01/26 10:49:17 djm Exp $
|
2004-06-16 12:15:59 +02: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
|
|
|
|
}
|
|
|
|
|
2005-12-14 05:39:20 +01:00
|
|
|
# Discard all but last argument. We use arg later.
|
2014-01-24 04:27:04 +01:00
|
|
|
while test "x$1" != "x"; do
|
2005-12-14 05:39:20 +01:00
|
|
|
arg="$1"
|
|
|
|
shift
|
|
|
|
done
|
2004-06-16 12:15:59 +02: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-24 04:27:04 +01:00
|
|
|
set -- $arg
|
|
|
|
shift
|
|
|
|
exec $SCP "$@"
|
2004-06-16 12:15:59 +02:00
|
|
|
;;
|
|
|
|
esac
|