summaryrefslogtreecommitdiff
path: root/source3/modules/vfs_acl_tdb.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-01-12 16:04:44 -0800
committerJeremy Allison <jra@samba.org>2010-01-12 16:04:44 -0800
commit47c1d9b39f292772e8d8f7a737ddff6c8bdfdeae (patch)
treea032c194ae17b0634df31def0b125fc4db894f2e /source3/modules/vfs_acl_tdb.c
parent2f30aea3324f32f9b8555e961256fc1280da2871 (diff)
downloadsamba-47c1d9b39f292772e8d8f7a737ddff6c8bdfdeae.tar.gz
samba-47c1d9b39f292772e8d8f7a737ddff6c8bdfdeae.tar.bz2
samba-47c1d9b39f292772e8d8f7a737ddff6c8bdfdeae.zip
Fix bug #6876 - Delete of an object whose parent folder does not have delete rights fails even if the delete right is set on the object.
Final fix for the vfs_acl_xattr and vfs_acl_tdb code. Ensure we can delete a file even if the underlying POSIX permissions don't allow it, if the Windows permissions do. Jeremy.
Diffstat (limited to 'source3/modules/vfs_acl_tdb.c')
-rw-r--r--source3/modules/vfs_acl_tdb.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source3/modules/vfs_acl_tdb.c b/source3/modules/vfs_acl_tdb.c
index a1088ab63c..2afe69d764 100644
--- a/source3/modules/vfs_acl_tdb.c
+++ b/source3/modules/vfs_acl_tdb.c
@@ -265,7 +265,7 @@ static int unlink_acl_tdb(vfs_handle_struct *handle,
goto out;
}
- ret = SMB_VFS_NEXT_UNLINK(handle, smb_fname_tmp);
+ ret = unlink_acl_common(handle, smb_fname_tmp);
if (ret == -1) {
goto out;
@@ -413,6 +413,7 @@ static struct vfs_fn_pointers vfs_acl_tdb_fns = {
.connect_fn = connect_acl_tdb,
.opendir = opendir_acl_common,
.mkdir = mkdir_acl_common,
+ .rmdir = rmdir_acl_common,
.open = open_acl_common,
.create_file = create_file_acl_common,
.unlink = unlink_acl_tdb,