Annotation of embedaddon/rsync/testsuite/unsafe-byname.test, revision 1.1
1.1 ! misho 1: #! /bin/sh
! 2:
! 3: # Copyright (C) 2002 by Martin Pool
! 4:
! 5: # Call directly into unsafe_symlink and test its handling of various filenames
! 6:
! 7: . "$suitedir/rsync.fns"
! 8:
! 9: test_unsafe() {
! 10: # $1 is the target of a symlink
! 11: # $2 is the directory we're copying
! 12: # $3 is the expected outcome: "safe" if the link lies within $2,
! 13: # or "unsafe" otherwise
! 14:
! 15: result=`"$TOOLDIR/t_unsafe" "$1" "$2"` || test_fail "Failed to check $1 $2"
! 16: if [ "$result" != "$3" ]
! 17: then
! 18: test_fail "t_unsafe $1 $2 returned \"$result\", expected \"$3\""
! 19: fi
! 20: }
! 21:
! 22: test_unsafe file from safe
! 23: test_unsafe dir/file from safe
! 24: test_unsafe dir/./file from safe
! 25: test_unsafe dir/. from safe
! 26: test_unsafe dir/ from safe
! 27:
! 28: test_unsafe /etc/passwd from unsafe
! 29: test_unsafe //../etc/passwd from unsafe
! 30: test_unsafe //./etc/passwd from unsafe
! 31:
! 32: test_unsafe ./foo from safe
! 33: test_unsafe ../foo from unsafe
! 34: test_unsafe ./../foo from unsafe
! 35: test_unsafe .//../foo from unsafe
! 36: test_unsafe ./../foo from/.. unsafe
! 37: test_unsafe ../dest from/dir safe
! 38: test_unsafe ../../dest from//dir unsafe
! 39: test_unsafe ..//../dest from/dir unsafe
! 40:
! 41: test_unsafe .. from/file safe
! 42: test_unsafe ../.. from/file unsafe
! 43: test_unsafe ..//.. from//file unsafe
! 44: test_unsafe dir/.. from safe
! 45: test_unsafe dir/../.. from unsafe
! 46: test_unsafe dir/..//.. from unsafe
! 47:
! 48: test_unsafe '' from unsafe
! 49:
! 50: # Based on tests from unsafe-links by Vladimír Michl
! 51: test_unsafe ../../unsafe/unsafefile from/safe unsafe
! 52: test_unsafe ..//../unsafe/unsafefile from/safe unsafe
! 53: test_unsafe ../files/file1 from/safe safe
! 54:
! 55: test_unsafe ../../unsafe/unsafefile safe unsafe
! 56: test_unsafe ../files/file1 safe unsafe
! 57:
! 58: test_unsafe ../../unsafe/unsafefile `pwd`/from/safe safe
! 59: test_unsafe ../files/file1 `pwd`/from/safe safe
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>