summaryrefslogtreecommitdiff
path: root/source3/smbd/file_access.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2012-11-14 14:40:51 -0800
committerMichael Adam <obnox@samba.org>2012-11-20 01:46:27 +0100
commitc5ad5029fd87b36426927d57425d5debbb26394c (patch)
tree3a94d4a969406f95cf64ce29e65beadd3ca900fb /source3/smbd/file_access.c
parent4985332b951d8cd46c9c0cd877875ab7839b4edb (diff)
downloadsamba-c5ad5029fd87b36426927d57425d5debbb26394c.tar.gz
samba-c5ad5029fd87b36426927d57425d5debbb26394c.tar.bz2
samba-c5ad5029fd87b36426927d57425d5debbb26394c.zip
More for #9374 - Allow smb2.acls torture test to pass against smbd with a POSIX ACLs backend.
Change can_delete_directory() to can_delete_directory_fsp(), as we only ever call this from an open directory file handle. This allows us to use OpenDir_fsp() instead of OpenDir(). OpenDir() re-checks the ACL on the directory, which may refuse DIR_LIST permissions. OpenDir_fsp() does not. As this is a file-server internal check to see if the directory actually contains any files before setting delete on close, we can ignore the ACL here (Windows does). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Michael Adam <obnox@samba.org> Autobuild-User(master): Michael Adam <obnox@samba.org> Autobuild-Date(master): Tue Nov 20 01:46:28 CET 2012 on sn-devel-104
Diffstat (limited to 'source3/smbd/file_access.c')
-rw-r--r--source3/smbd/file_access.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/source3/smbd/file_access.c b/source3/smbd/file_access.c
index 0e74207b84..f4a7bb3d45 100644
--- a/source3/smbd/file_access.c
+++ b/source3/smbd/file_access.c
@@ -228,8 +228,7 @@ NTSTATUS can_set_delete_on_close(files_struct *fsp, uint32 dosmode)
return NT_STATUS_ACCESS_DENIED;
}
- return can_delete_directory(fsp->conn,
- fsp->fsp_name->base_name);
+ return can_delete_directory_fsp(fsp);
}
return NT_STATUS_OK;