slink_name="$LOCAL_PATH/nosymlinks/source"
slink_target="$LOCAL_PATH/nosymlinks/target"
mkdir_target="$LOCAL_PATH/nosymlinks/a"
+ dir1="$LOCAL_PATH/nosymlinks/foo"
+ dir2="$LOCAL_PATH/nosymlinks/foo/bar"
+ get_target="$LOCAL_PATH/nosymlinks/foo/bar/testfile"
rm -f $slink_target
rm -f $slink_name
rm -rf $mkdir_target
+ rm -rf $dir1
touch $slink_target
ln -s $slink_target $slink_name
+ mkdir $dir1
+ mkdir $dir2
+ touch $get_target
+
# Getting a file through a symlink name should fail.
tmpfile=$PREFIX/smbclient_interactive_prompt_commands
cat > $tmpfile <<EOF
echo "failed - NT_STATUS_XXXX doing mkdir a; mkdir a\\b on \\nosymlinks"
false
fi
+
+# Ensure regular file/directory access also works.
+ cat > $tmpfile <<EOF
+cd foo\\bar
+ls
+get testfile -
+quit
+EOF
+ cmd='CLI_FORCE_INTERACTIVE=yes $SMBCLIENT "$@" -U$USERNAME%$PASSWORD //$SERVER/nosymlinks -I $SERVER_IP $ADDARGS < $tmpfile 2>&1'
+ eval echo "$cmd"
+ out=`eval $cmd`
+ ret=$?
+ rm -f $tmpfile
+
+ if [ $ret -ne 0 ] ; then
+ echo "$out"
+ echo "failed accessing nosymlinks with error $ret"
+ false
+ return
+ fi
+
+ echo "$out" | grep 'NT_STATUS'
+ ret=$?
+ if [ $ret -eq 0 ] ; then
+ echo "$out"
+ echo "failed - NT_STATUS_XXXX doing cd foo\\bar; get testfile on \\nosymlinks"
+ false
+ return
+ fi
}
LOGDIR_PREFIX=test_smbclient_s3