#!/bin/sh | |
# $OpenBSD: scp-ssh-wrapper.sh,v 1.2 2005/12/14 04:36:39 dtucker Exp $ | |
# 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 | |
} | |
# Discard all but last argument. We use arg later. | |
while test "$1" != ""; do | |
arg="$1" | |
shift | |
done | |
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" | |
;; | |
*) | |
exec $arg | |
;; | |
esac |