[prev in list] [next in list] [prev in thread] [next in thread] 

List:       samba-cvs
Subject:    [SCM] Samba Shared Repository - branch v4-14-test updated
From:       Karolin Seeger <kseeger () samba ! org>
Date:       2021-05-21 8:00:02
Message-ID: E1lk04g-00H4MV-4T () hrx0 ! samba ! org
[Download RAW message or body]

The branch, v4-14-test has been updated
       via  42726c3f665 s3: smbd: Ensure POSIX default ACL is mapped into returned \
                Windows ACL for directory handles.
      from  5611a6999c0 lib:replace: Do not build strndup test with gcc 11 or newer

https://git.samba.org/?p=samba.git;a=shortlog;h=v4-14-test


- Log -----------------------------------------------------------------
commit 42726c3f665516a22006e2c6af8367ab377e15c4
Author: Jeremy Allison <jra@samba.org>
Date:   Mon May 17 15:34:55 2021 -0700

    s3: smbd: Ensure POSIX default ACL is mapped into returned Windows ACL for \
directory handles.  
    Remove knownfail.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=14708
    
    Signed-off-by: Jeremy Allison <jra@samba.org>
    Reviewed-by: Noel Power <npower@samba.org>
    
    Autobuild-User(master): Noel Power <npower@samba.org>
    Autobuild-Date(master): Wed May 19 09:22:56 UTC 2021 on sn-devel-184
    
    (cherry picked from commit b7f62e13933da14c381f70cd46ad13849b108e68)
    
    Autobuild-User(v4-14-test): Karolin Seeger <kseeger@samba.org>
    Autobuild-Date(v4-14-test): Fri May 21 07:59:08 UTC 2021 on sn-devel-184

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

Summary of changes:
 source3/smbd/posix_acls.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c
index c1d5b7cd047..473223ea133 100644
--- a/source3/smbd/posix_acls.c
+++ b/source3/smbd/posix_acls.c
@@ -3432,6 +3432,7 @@ NTSTATUS posix_fget_nt_acl(struct files_struct *fsp, uint32_t \
security_info,  {
 	SMB_STRUCT_STAT sbuf;
 	SMB_ACL_T posix_acl = NULL;
+	SMB_ACL_T def_acl = NULL;
 	struct pai_val *pal;
 	TALLOC_CTX *frame = talloc_stackframe();
 	NTSTATUS status;
@@ -3450,10 +3451,19 @@ NTSTATUS posix_fget_nt_acl(struct files_struct *fsp, uint32_t \
security_info,  /* Get the ACL from the fd. */
 	posix_acl = SMB_VFS_SYS_ACL_GET_FD(fsp, frame);
 
+	/* If it's a directory get the default POSIX ACL. */
+	if(fsp->fsp_flags.is_directory) {
+		def_acl = SMB_VFS_SYS_ACL_GET_FILE(fsp->conn,
+						   fsp->fsp_name,
+						   SMB_ACL_TYPE_DEFAULT,
+						   frame);
+		def_acl = free_empty_sys_acl(fsp->conn, def_acl);
+	}
+
 	pal = fload_inherited_info(fsp);
 
 	status = posix_get_nt_acl_common(fsp->conn, fsp->fsp_name->base_name,
-					 &sbuf, pal, posix_acl, NULL,
+					 &sbuf, pal, posix_acl, def_acl,
 					 security_info, mem_ctx, ppdesc);
 	TALLOC_FREE(frame);
 	return status;


-- 
Samba Shared Repository


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic