From da8805b377e361a7cab399b3c786a25f7175e7cf Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Fri, 23 Mar 2001 02:14:08 +0000 Subject: groupdb/mapping.c: include/proto.h: Fix missing (void) in proto. rpc_server/srv_samr_nt.c: Fix user private group problem by filtering out groups that clash with users. smbd/posix_acls.c: Ensure default ACE's are sensible. utils/pdbedit.c: Fix from Simo Sorce. Jeremy. (This used to be commit 29414fe0d6665642d9b5f88a35e712426376c47f) --- source3/smbd/posix_acls.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source3/smbd') diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index ddf4d06b0e..fe1c02e46c 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -425,6 +425,8 @@ static mode_t get_default_ace_mode(files_struct *fsp, int type) mode_t force_mode = lp_force_dir_security_mode(SNUM(fsp->conn)); mode_t mode = 0; + DEBUG(10,("get_default_ace_mode: force_mode = 0%o\n", (int)force_mode )); + switch(type) { case S_IRUSR: mode |= (force_mode & S_IRUSR) ? S_IRUSR : 0; @@ -443,6 +445,8 @@ static mode_t get_default_ace_mode(files_struct *fsp, int type) break; } + DEBUG(10,("get_default_ace_mode: returning mode = 0%o\n", (int)mode )); + return mode; } @@ -489,7 +493,9 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace, pace->unix_ug.uid = pst->st_uid; pace->sid = *pfile_owner_sid; /* Ensure owner has read access. */ - pace->perms = default_acl ? get_default_ace_mode(fsp, S_IRUSR): S_IRUSR; + pace->perms = default_acl ? get_default_ace_mode(fsp, S_IRUSR) : S_IRUSR; + if (pace->perms == (mode_t)0) + pace->perms = S_IRUSR; pace->attr = ALLOW_ACE; DLIST_ADD(*pp_ace, pace); -- cgit