diff options
author | Jeremy Allison <jra@samba.org> | 2008-10-30 16:13:03 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-10-30 16:13:03 -0700 |
commit | 8c1a90c2e319270cb2cab7ed995a61a9902c884d (patch) | |
tree | 15a519006f9862f623e84339aa2b41e931251b0e /source3/smbd | |
parent | af216fdfc87935305df6752eeebc40e5e41cd8d8 (diff) | |
download | samba-8c1a90c2e319270cb2cab7ed995a61a9902c884d.tar.gz samba-8c1a90c2e319270cb2cab7ed995a61a9902c884d.tar.bz2 samba-8c1a90c2e319270cb2cab7ed995a61a9902c884d.zip |
Start moving us closer to passing S4 RAW-ACL test using the vfs_acl_xattr module. Inheritance fails at the moment though.
Jeremy.
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/open.c | 9 | ||||
-rw-r--r-- | source3/smbd/posix_acls.c | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/source3/smbd/open.c b/source3/smbd/open.c index d858fb969f..1564525005 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -1206,6 +1206,15 @@ NTSTATUS open_file_ntcreate(connection_struct *conn, create_disposition, create_options, unx_mode, oplock_request)); + if ((access_mask & FILE_READ_DATA)||(access_mask & FILE_WRITE_DATA)) { + DEBUG(10, ("open_file_ntcreate: adding FILE_READ_ATTRIBUTES " + "to requested access_mask 0x%x, new mask 0x%x", + access_mask, + access_mask | FILE_READ_ATTRIBUTES )); + + access_mask |= FILE_READ_ATTRIBUTES; + } + if ((req == NULL) && ((oplock_request & INTERNAL_OPEN_ONLY) == 0)) { DEBUG(0, ("No smb request but not an internal only open!\n")); return NT_STATUS_INTERNAL_ERROR; diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 848d3e4a6d..cccf3087f7 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -725,7 +725,7 @@ static int map_acl_perms_to_permset(connection_struct *conn, mode_t mode, SMB_AC Function to create owner and group SIDs from a SMB_STRUCT_STAT. ****************************************************************************/ -static void create_file_sids(const SMB_STRUCT_STAT *psbuf, DOM_SID *powner_sid, DOM_SID *pgroup_sid) +void create_file_sids(const SMB_STRUCT_STAT *psbuf, DOM_SID *powner_sid, DOM_SID *pgroup_sid) { uid_to_sid( powner_sid, psbuf->st_uid ); gid_to_sid( pgroup_sid, psbuf->st_gid ); |