[SCM] Samba Shared Repository - branch v4-13-test updated

Karolin Seeger kseeger at samba.org
Fri May 21 08:51:01 UTC 2021


The branch, v4-13-test has been updated
       via  abcddbae481 s3: smbd: Ensure POSIX default ACL is mapped into returned Windows ACL for directory handles.
      from  46c071544f1 VERSION: Bump version up to 4.13.10...

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


- Log -----------------------------------------------------------------
commit abcddbae481034e35da7062e46ac86bc1c0b37d1
Author: Jeremy Allison <jra at 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 at samba.org>
    Reviewed-by: Noel Power <npower at samba.org>
    
    Autobuild-User(master): Noel Power <npower at 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-13-test): Karolin Seeger <kseeger at samba.org>
    Autobuild-Date(v4-13-test): Fri May 21 08:50:20 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 db2d36a89a1..1e39261828b 100644
--- a/source3/smbd/posix_acls.c
+++ b/source3/smbd/posix_acls.c
@@ -3475,6 +3475,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;
@@ -3493,10 +3494,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



More information about the samba-cvs mailing list