smbd: use metadata_fsp() with SMB_VFS_FGET_NT_ACL()
authorRalph Boehme <slow@samba.org>
Fri, 29 Jul 2022 12:49:56 +0000 (14:49 +0200)
committerVolker Lendecke <vl@samba.org>
Wed, 10 Aug 2022 15:32:35 +0000 (15:32 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15126
MR: https://gitlab.com/samba-team/samba/-/merge_requests/2643

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
selftest/knownfail.d/samba3.blackbox.delete_stream [deleted file]
source3/rpc_server/srvsvc/srv_srvsvc_nt.c
source3/smbd/dir.c
source3/smbd/file_access.c
source3/smbd/open.c
source3/smbd/pysmbd.c
source3/torture/cmd_vfs.c

diff --git a/selftest/knownfail.d/samba3.blackbox.delete_stream b/selftest/knownfail.d/samba3.blackbox.delete_stream
deleted file mode 100644 (file)
index 22c996a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-^samba3.blackbox.delete_stream.delete stream\(fileserver\)
index c5b39ed9cb6211b842301d2453d52c1b5ca2674a..07bfb7591471dd5b9cb0a8d19b50476186e98787 100644 (file)
@@ -2579,7 +2579,7 @@ WERROR _srvsvc_NetGetFileSecurity(struct pipes_struct *p,
                goto error_exit;
        }
 
-       nt_status = SMB_VFS_FGET_NT_ACL(fsp,
+       nt_status = SMB_VFS_FGET_NT_ACL(metadata_fsp(fsp),
                                       (SECINFO_OWNER
                                        |SECINFO_GROUP
                                        |SECINFO_DACL), sd_buf, &sd_buf->sd);
index 9aa0a768c7a57155a4cc4094a72b5eaf88a4efe3..04dfef00d952a147f2fb4b9b7b48394e7921601b 100644 (file)
@@ -1263,7 +1263,7 @@ static bool user_can_read_fsp(struct files_struct *fsp)
                return false;
         }
 
-       status = SMB_VFS_FGET_NT_ACL(fsp,
+       status = SMB_VFS_FGET_NT_ACL(metadata_fsp(fsp),
                        (SECINFO_OWNER |
                         SECINFO_GROUP |
                         SECINFO_DACL),
index e3c8a1e2b67edd3205b0dd7f88e7ca12c3679cac..476aead590dcd3399e67aab21ba790b2914d1aa7 100644 (file)
@@ -158,7 +158,7 @@ bool directory_has_default_acl_fsp(struct files_struct *fsp)
        unsigned int i;
        NTSTATUS status;
 
-       status = SMB_VFS_FGET_NT_ACL(fsp,
+       status = SMB_VFS_FGET_NT_ACL(metadata_fsp(fsp),
                                SECINFO_DACL,
                                talloc_tos(),
                                &secdesc);
index 45b1abb11245e6aa9d24eee4618740e623f8188c..a091ce8f9ec4c1bc50a7cae11b19f11a0687dc2b 100644 (file)
@@ -296,7 +296,7 @@ NTSTATUS smbd_check_access_rights_fsp(struct files_struct *dirfsp,
                return status;
        }
 
-       status = SMB_VFS_FGET_NT_ACL(fsp,
+       status = SMB_VFS_FGET_NT_ACL(metadata_fsp(fsp),
                                     (SECINFO_OWNER |
                                      SECINFO_GROUP |
                                      SECINFO_DACL),
@@ -3253,7 +3253,7 @@ static NTSTATUS smbd_calculate_maximum_allowed_access_fsp(
                return NT_STATUS_OK;
        }
 
-       status = SMB_VFS_FGET_NT_ACL(fsp,
+       status = SMB_VFS_FGET_NT_ACL(metadata_fsp(fsp),
                                     (SECINFO_OWNER |
                                        SECINFO_GROUP |
                                        SECINFO_DACL),
index ed079b5e938fec0cc57d1a4e3286217809477aa3..6209c6626d2be350ecc65850a5e66fd51844fc61 100644 (file)
@@ -317,7 +317,7 @@ static NTSTATUS get_nt_acl_conn(TALLOC_CTX *mem_ctx,
                return status;
        }
 
-       status = SMB_VFS_FGET_NT_ACL(smb_fname->fsp,
+       status = SMB_VFS_FGET_NT_ACL(metadata_fsp(smb_fname->fsp),
                                security_info_wanted,
                                mem_ctx,
                                sd);
index 896197fbd5cb3f0ad93a8cf0b75a0ad66b1dec44..8d38a7a9ee7a784a98a39f09c9b9b2d895d72bfc 100644 (file)
@@ -1624,7 +1624,7 @@ static NTSTATUS cmd_fget_nt_acl(struct vfs_state *vfs, TALLOC_CTX *mem_ctx,
                return NT_STATUS_OK;
        }
 
-       status = SMB_VFS_FGET_NT_ACL(vfs->files[fd],
+       status = SMB_VFS_FGET_NT_ACL(metadata_fsp(vfs->files[fd]),
                                     SECINFO_OWNER | SECINFO_GROUP | SECINFO_DACL,
                                     talloc_tos(), &sd);
        if (!NT_STATUS_IS_OK(status)) {