CONFIGURATION="${12}"
PROTOCOL="${13}"
SMBCLIENT="$VALGRIND ${SMBCLIENT}"
+SMBCLIENT4="$VALGRIND ${SMBCLIENT}"4
WBINFO="$VALGRIND ${WBINFO}"
shift 13
RAWARGS="${CONFIGURATION} -m${PROTOCOL}"
# Test follow symlinks can't access symlinks
test_nosymlinks()
{
-# Setup test dirs.
- test_dir="$LOCAL_PATH/nosymlinks/test"
+ # Setup test dirs.
+ test_dir_relative="test"
+ test_dir="$LOCAL_PATH/nosymlinks/$test_dir_relative"
slink_name="$test_dir/source"
slink_target="$test_dir/target"
- foobar_dir="$test_dir/foo/bar"
+ foobar_dir_relative="foo/bar"
+ foobar_dir="$test_dir/$foobar_dir_relative"
get_target="$test_dir/foo/bar/testfile"
- rm -rf $test_dir
+ testit "smbclient4 deltree" $SMBCLIENT4 //$SERVER/nosymlinks -c 'deltree $test_dir_relative' || failed=`expr $failed + 1`
+ testit "smbclient mkdir" $SMBCLIENT //$SERVER/nosymlinks -c 'recurse;mkdir $test_dir_relative' || failed=`expr $failed + 1`
- mkdir -p $test_dir
- echo "$slink_target" > $slink_target
+ echo "$slink_target" | testit "smbclient put link target" $SMBCLIENT //$SERVER/nosymlinks -c 'put - target' || failed=`expr $failed + 1`
ln -s $slink_target $slink_name
- mkdir -p $foobar_dir
+ testit "smbclient mkdir" $SMBCLIENT //$SERVER/nosymlinks -c 'resurce;mkdir $foobar_dir_relative' || failed=`expr $failed + 1`
echo "$get_target" > $get_target
# Getting a file through a symlink name should fail.
LOCAL_RAWARGS="${CONFIGURATION} -mSMB3"
LOCAL_ADDARGS="${LOCAL_RAWARGS} $*"
- test_dir="$LOCAL_PATH/local_symlinks/test"
+ test_dir_relative="test"
+ test_dir="$LOCAL_PATH/local_symlinks/$test_dir_relative"
slink_name="$test_dir/sym_name"
+ slink_target_dir_relative="$test_dir_relative/dir1"
slink_target_dir="$test_dir/dir1"
- rm -rf $test_dir
+ testit "smbclient4 deltree" $SMBCLIENT4 //$SERVER/local_symlinks -c 'deltree $test_dir_relative' || failed=`expr $failed + 1`
+ testit "smbclient mkdir" $SMBCLIENT //$SERVER/local_nosymlinks -c 'recurse;mkdir $test_dir_relative' || failed=`expr $failed + 1`
+ testit "smbclient mkdir dir1" $SMBCLIENT //$SERVER/local_nosymlinks -c 'recurse;mkdir slink_target_dir_relative' || failed=`expr $failed + 1`
- mkdir -p $test_dir
- mkdir $slink_target_dir
ln -s $slink_target_dir $slink_name
# Can we cd into the symlink name and ls ?