File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / rsync / testsuite / unsafe-byname.test
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Wed Mar 17 00:32:36 2021 UTC (3 years, 3 months ago) by misho
Branches: rsync, MAIN
CVS tags: v3_2_3, HEAD
rsync 3.2.3

    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>