Annotation of embedaddon/rsync/testsuite/unsafe-byname.test, revision 1.1.1.2

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: 
1.1.1.2 ! misho      50: # Based on tests from unsafe-links by VladimĂ­r Michl
1.1       misho      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>