12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #! /bin/sh
- # Copyright (C) 2002 by Martin Pool
- # Call directly into unsafe_symlink and test its handling of various filenames
- . "$suitedir/rsync.fns"
- test_unsafe() {
- # $1 is the target of a symlink
- # $2 is the directory we're copying
- # $3 is the expected outcome: "safe" if the link lies within $2,
- # or "unsafe" otherwise
- result=`"$TOOLDIR/t_unsafe" "$1" "$2"` || test_fail "Failed to check $1 $2"
- if [ "$result" != "$3" ]
- then
- test_fail "t_unsafe $1 $2 returned \"$result\", expected \"$3\""
- fi
- }
- test_unsafe file from safe
- test_unsafe dir/file from safe
- test_unsafe dir/./file from safe
- test_unsafe dir/. from safe
- test_unsafe dir/ from safe
- test_unsafe /etc/passwd from unsafe
- test_unsafe //../etc/passwd from unsafe
- test_unsafe //./etc/passwd from unsafe
- test_unsafe ./foo from safe
- test_unsafe ../foo from unsafe
- test_unsafe ../dest from/dir safe
- test_unsafe .. from/file safe
- test_unsafe ../.. from/file unsafe
- test_unsafe dir/.. from safe
- test_unsafe dir/../.. from unsafe
- test_unsafe '' from unsafe
- # Based on tests from unsafe-links by Vladimír Michl
- test_unsafe ../../unsafe/unsafefile from/safe unsafe
- test_unsafe ../files/file1 from/safe safe
- test_unsafe ../../unsafe/unsafefile safe unsafe
- test_unsafe ../files/file1 safe unsafe
- test_unsafe ../../unsafe/unsafefile `pwd`/from/safe safe
- test_unsafe ../files/file1 `pwd`/from/safe safe
|