summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2008-10-30 16:13:03 -0700
committerJeremy Allison <jra@samba.org>2008-10-30 16:13:03 -0700
commit8c1a90c2e319270cb2cab7ed995a61a9902c884d (patch)
tree15a519006f9862f623e84339aa2b41e931251b0e /source3/smbd
parentaf216fdfc87935305df6752eeebc40e5e41cd8d8 (diff)
downloadsamba-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.c9
-rw-r--r--source3/smbd/posix_acls.c2
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 );