The branch, v4-7-test has been updated via 5bb2b9c vfs_zfsacl: fix compilation error from 8a313c8 winbindd: let normalize_name_map() call find_domain_from_name_noinit()
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-7-test - Log ----------------------------------------------------------------- commit 5bb2b9c9a3e296e84130b85718a0bb1f037588e8 Author: Ralph Boehme <s...@samba.org> Date: Sat Oct 28 16:13:16 2017 +0200 vfs_zfsacl: fix compilation error Bug: https://bugzilla.samba.org/show_bug.cgi?id=6133 Signed-off-by: Ralph Boehme <s...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Thu Nov 2 03:16:11 CET 2017 on sn-devel-144 (cherry picked from commit 11da1e5c056c92fd7f51ecce0285628cac65f174) Autobuild-User(v4-7-test): Karolin Seeger <ksee...@samba.org> Autobuild-Date(v4-7-test): Thu Dec 7 14:19:57 CET 2017 on sn-devel-144 ----------------------------------------------------------------------- Summary of changes: source3/modules/vfs_zfsacl.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/modules/vfs_zfsacl.c b/source3/modules/vfs_zfsacl.c index dd0f343..2e277c6 100644 --- a/source3/modules/vfs_zfsacl.c +++ b/source3/modules/vfs_zfsacl.c @@ -51,6 +51,7 @@ static NTSTATUS zfs_get_nt_acl_common(struct connection_struct *conn, SMB_STRUCT_STAT sbuf; const SMB_STRUCT_STAT *psbuf = NULL; int ret; + bool is_dir; if (VALID_STAT(smb_fname->st)) { psbuf = &smb_fname->st; @@ -65,10 +66,7 @@ static NTSTATUS zfs_get_nt_acl_common(struct connection_struct *conn, } psbuf = &sbuf; } - - if (S_ISDIR(psbuf->st_ex_mode) && (ace->aceMask & SMB_ACE4_ADD_FILE)) { - ace->aceMask |= SMB_ACE4_DELETE_CHILD; - } + is_dir = S_ISDIR(psbuf->st_ex_mode); /* read the number of file aces */ if((naces = acl(smb_fname->base_name, ACE_GETACLCNT, 0, NULL)) == -1) { @@ -115,6 +113,10 @@ static NTSTATUS zfs_get_nt_acl_common(struct connection_struct *conn, aceprop.aceMask |= SMB_ACE4_SYNCHRONIZE; } + if (is_dir && (aceprop.aceMask & SMB_ACE4_ADD_FILE)) { + aceprop.aceMask |= SMB_ACE4_DELETE_CHILD; + } + if(aceprop.aceFlags & ACE_OWNER) { aceprop.flags = SMB_ACE4_ID_SPECIAL; aceprop.who.special_id = SMB_ACE4_WHO_OWNER; -- Samba Shared Repository