1#!/bin/sh 2# $OpenBSD: scp-ssh-wrapper.sh,v 1.3 2014/01/26 10:49:17 djm Exp $ 3# Placed in the Public Domain. 4 5printname () { 6 NAME=$1 7 save_IFS=$IFS 8 IFS=/ 9 set -- `echo "$NAME"` 10 IFS="$save_IFS" 11 while [ $# -ge 1 ] ; do 12 if [ "x$1" != "x" ]; then 13 echo "D0755 0 $1" 14 fi 15 shift; 16 done 17} 18 19# Discard all but last argument. We use arg later. 20while test "x$1" != "x"; do 21 arg="$1" 22 shift 23done 24 25BAD="../../../../../../../../../../../../../${DIR}/dotpathdir" 26 27case "$SCPTESTMODE" in 28badserver_0) 29 echo "D0755 0 /${DIR}/rootpathdir" 30 echo "C755 2 rootpathfile" 31 echo "X" 32 ;; 33badserver_1) 34 echo "D0755 0 $BAD" 35 echo "C755 2 file" 36 echo "X" 37 ;; 38badserver_2) 39 echo "D0755 0 $BAD" 40 echo "C755 2 file" 41 echo "X" 42 ;; 43badserver_3) 44 printname $BAD 45 echo "C755 2 file" 46 echo "X" 47 ;; 48badserver_4) 49 printname $BAD 50 echo "D0755 0 .." 51 echo "C755 2 file" 52 echo "X" 53 ;; 54*) 55 set -- $arg 56 shift 57 exec $SCP "$@" 58 ;; 59esac 60