Remove opendir() VFS code from ACL modules.
authorJeremy Allison <jra@samba.org>
Mon, 31 Oct 2011 19:38:36 +0000 (12:38 -0700)
committerJeremy Allison <jra@samba.org>
Wed, 2 Nov 2011 01:13:51 +0000 (02:13 +0100)
Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Wed Nov  2 02:13:51 CET 2011 on sn-devel-104

source3/modules/vfs_acl_common.c
source3/modules/vfs_acl_tdb.c
source3/modules/vfs_acl_xattr.c

index 14ac6f7a0b5ce5dc31f2f2cba300dddf4958de40..aebf0aeedd1352673e577df3df7d9b932366508a 100644 (file)
@@ -564,41 +564,6 @@ static NTSTATUS get_parent_acl_common(vfs_handle_struct *handle,
        return status;
 }
 
-static NTSTATUS check_parent_acl_common(vfs_handle_struct *handle,
-                               const char *path,
-                               uint32_t access_mask,
-                               struct security_descriptor **pp_parent_desc)
-{
-       char *parent_name = NULL;
-       struct security_descriptor *parent_desc = NULL;
-       uint32_t access_granted = 0;
-       NTSTATUS status;
-
-       status = get_parent_acl_common(handle, path, &parent_desc);
-       if (!NT_STATUS_IS_OK(status)) {
-               return status;
-       }
-       if (pp_parent_desc) {
-               *pp_parent_desc = parent_desc;
-       }
-       status = smb1_file_se_access_check(handle->conn,
-                                       parent_desc,
-                                       get_current_nttok(handle->conn),
-                                       access_mask,
-                                       &access_granted);
-       if(!NT_STATUS_IS_OK(status)) {
-               DEBUG(10,("check_parent_acl_common: access check "
-                       "on directory %s for "
-                       "path %s for mask 0x%x returned %s\n",
-                       parent_name,
-                       path,
-                       access_mask,
-                       nt_errstr(status) ));
-               return status;
-       }
-       return NT_STATUS_OK;
-}
-
 /*********************************************************************
  Fetch a security descriptor given an fsp.
 *********************************************************************/
@@ -701,19 +666,6 @@ static NTSTATUS fset_nt_acl_common(vfs_handle_struct *handle, files_struct *fsp,
        return NT_STATUS_OK;
 }
 
-static SMB_STRUCT_DIR *opendir_acl_common(vfs_handle_struct *handle,
-                       const char *fname, const char *mask, uint32 attr)
-{
-       NTSTATUS status = check_parent_acl_common(handle, fname,
-                                       SEC_DIR_LIST, NULL);
-
-       if (!NT_STATUS_IS_OK(status)) {
-               errno = map_errno_from_nt_status(status);
-               return NULL;
-       }
-       return SMB_VFS_NEXT_OPENDIR(handle, fname, mask, attr);
-}
-
 static int acl_common_remove_object(vfs_handle_struct *handle,
                                        const char *path,
                                        bool is_directory)
index a4869c0a83851ce5db30bbb2c4446a940707b87d..647d133d3966ef641325b3ea5a61339771dd1b47 100644 (file)
@@ -400,7 +400,6 @@ static int sys_acl_set_fd_tdb(vfs_handle_struct *handle,
 static struct vfs_fn_pointers vfs_acl_tdb_fns = {
        .connect_fn = connect_acl_tdb,
        .disconnect = disconnect_acl_tdb,
-       .opendir = opendir_acl_common,
        .rmdir = rmdir_acl_tdb,
        .create_file = create_file_acl_common,
        .unlink = unlink_acl_tdb,
index 473c2fcdee78f2947fe59b179d2638a87f739730..f1a2e897e7045f097e4f74af83c64b3cca9e0c9c 100644 (file)
@@ -201,7 +201,6 @@ static int connect_acl_xattr(struct vfs_handle_struct *handle,
 
 static struct vfs_fn_pointers vfs_acl_xattr_fns = {
        .connect_fn = connect_acl_xattr,
-       .opendir = opendir_acl_common,
        .rmdir = rmdir_acl_common,
        .create_file = create_file_acl_common,
        .unlink = unlink_acl_common,