diff options
author | Jeremy Allison <jra@samba.org> | 2008-11-06 01:40:21 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-11-06 01:40:21 -0800 |
commit | 24c598b1b95742961d43ff5bd61831405b561dfe (patch) | |
tree | 65cb63535ff2ac3a74e7a274ff6a73c198b93dd7 /source3/smbd | |
parent | 4af3c2830ab61e2c93faf41a7472d6132687c7c3 (diff) | |
download | samba-24c598b1b95742961d43ff5bd61831405b561dfe.tar.gz samba-24c598b1b95742961d43ff5bd61831405b561dfe.tar.bz2 samba-24c598b1b95742961d43ff5bd61831405b561dfe.zip |
Don't call FSET_NT_ACL on file create if there's no SD to set. Leave the default ACL in place.
Jeremy.
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/open.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 480352beda..3fd0d1a03a 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; |