The branch, master has been updated
       via  010dfbf... Fix one missing STAT -> LSTAT with POSIX pathnames in 
vfs_xattr_tdb.c. Caught by the torture tester. I love unit tests :-). Jeremy.
      from  7655282... s3: build pam_smbpass when possible

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 010dfbf1fd26718ad197e3428ed0b03111f6c9e5
Author: Jeremy Allison <[email protected]>
Date:   Fri Oct 16 16:37:20 2009 -0700

    Fix one missing STAT -> LSTAT with POSIX pathnames in vfs_xattr_tdb.c. 
Caught by the torture tester. I love unit tests :-). Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 source3/modules/vfs_xattr_tdb.c           |    8 +++++++-
 source3/script/tests/test_smbclient_s3.sh |    2 ++
 2 files changed, 9 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/modules/vfs_xattr_tdb.c b/source3/modules/vfs_xattr_tdb.c
index 55fb141..f7fbfce 100644
--- a/source3/modules/vfs_xattr_tdb.c
+++ b/source3/modules/vfs_xattr_tdb.c
@@ -630,9 +630,15 @@ static int xattr_tdb_unlink(vfs_handle_struct *handle,
                return -1;
        }
 
-       if (SMB_VFS_STAT(handle->conn, smb_fname_tmp) == -1) {
+       if (lp_posix_pathnames()) {
+               ret = SMB_VFS_LSTAT(handle->conn, smb_fname_tmp);
+       } else {
+               ret = SMB_VFS_STAT(handle->conn, smb_fname_tmp);
+       }
+       if (ret == -1) {
                goto out;
        }
+
        if (smb_fname_tmp->st.st_ex_nlink == 1) {
                /* Only remove record on last link to file. */
                remove_record = true;
diff --git a/source3/script/tests/test_smbclient_s3.sh 
b/source3/script/tests/test_smbclient_s3.sh
index b0199a3..f10bfea 100755
--- a/source3/script/tests/test_smbclient_s3.sh
+++ b/source3/script/tests/test_smbclient_s3.sh
@@ -94,6 +94,7 @@ test_bad_symlink()
 
     cat > $tmpfile <<EOF
 posix
+posix_unlink newname
 symlink badname newname
 posix_unlink newname
 quit
@@ -118,6 +119,7 @@ EOF
        # got the correct prompt .. succeed
        true
     else
+       echo "$out"
        echo failed create then delete bad symlink
        false
     fi


-- 
Samba Shared Repository

Reply via email to