The branch, master has been updated via 24c598b1b95742961d43ff5bd61831405b561dfe (commit) from 4af3c2830ab61e2c93faf41a7472d6132687c7c3 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 24c598b1b95742961d43ff5bd61831405b561dfe Author: Jeremy Allison <[EMAIL PROTECTED]> Date: Thu Nov 6 01:40:21 2008 -0800 Don't call FSET_NT_ACL on file create if there's no SD to set. Leave the default ACL in place. Jeremy. ----------------------------------------------------------------------- Summary of changes: source3/modules/vfs_acl_xattr.c | 4 ---- source3/smbd/open.c | 7 ++++++- 2 files changed, 6 insertions(+), 5 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/modules/vfs_acl_xattr.c b/source3/modules/vfs_acl_xattr.c index 9d9ea01..c6fb0b5 100644 --- a/source3/modules/vfs_acl_xattr.c +++ b/source3/modules/vfs_acl_xattr.c @@ -528,10 +528,6 @@ static NTSTATUS fset_nt_acl_xattr(vfs_handle_struct *handle, files_struct *fsp, CONST_DISCARD(struct security_descriptor *,psd)); } - if (!psd->owner_sid && !psd->group_sid && !(psd->type & SEC_DESC_DACL_PRESENT)) { - return NT_STATUS_OK; - } - status = SMB_VFS_NEXT_FSET_NT_ACL(handle, fsp, security_info_sent, psd); if (!NT_STATUS_IS_OK(status)) { return status; diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 480352b..3fd0d1a 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -2923,7 +2923,12 @@ NTSTATUS create_file_unixpath(connection_struct *conn, security_acl_map_generic(sd->dacl, &file_generic_mapping); security_acl_map_generic(sd->sacl, &file_generic_mapping); - status = SMB_VFS_FSET_NT_ACL(fsp, sec_info_sent, sd); + if (sec_info_sent & (OWNER_SECURITY_INFORMATION| + GROUP_SECURITY_INFORMATION| + DACL_SECURITY_INFORMATION| + SACL_SECURITY_INFORMATION)) { + status = SMB_VFS_FSET_NT_ACL(fsp, sec_info_sent, sd); + } fsp->access_mask = saved_access_mask; -- Samba Shared Repository