summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2010-10-15 14:12:04 -0700
committerJeremy Allison <jra@samba.org>2010-10-15 17:38:21 -0700
commit8cad5e23b6e2440a566def6fb138d484e3b47643 (patch)
treef3b5321cfcb66886498b6d4f89d2b3cf69a7d19a
parent92adb686372a9b67e47efb5b051bc351212f1780 (diff)
downloadsamba-8cad5e23b6e2440a566def6fb138d484e3b47643.tar.gz
samba-8cad5e23b6e2440a566def6fb138d484e3b47643.tar.bz2
samba-8cad5e23b6e2440a566def6fb138d484e3b47643.zip
Fix bug #7734 - When creating files with "inherit ACLs" set to true, we neglect to apply appropriate create masks.
Jeremy.
-rw-r--r--source3/modules/vfs_default.c2
-rw-r--r--source3/smbd/open.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c
index c2907822af..2cbb84cad0 100644
--- a/source3/modules/vfs_default.c
+++ b/source3/modules/vfs_default.c
@@ -217,7 +217,7 @@ static int vfswrap_mkdir(vfs_handle_struct *handle, const char *path, mode_t mo
if (lp_inherit_acls(SNUM(handle->conn))
&& parent_dirname(talloc_tos(), path, &parent, NULL)
&& (has_dacl = directory_has_default_acl(handle->conn, parent)))
- mode = 0777;
+ mode = (0777 & lp_dir_mask(SNUM(handle->conn)));
TALLOC_FREE(parent);
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index 10e0120374..01f0cd699a 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -1997,7 +1997,7 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
if ((flags2 & O_CREAT) && lp_inherit_acls(SNUM(conn)) &&
(def_acl = directory_has_default_acl(conn, parent_dir))) {
- unx_mode = 0777;
+ unx_mode = (0777 & lp_create_mask(SNUM(conn)));
}
DEBUG(4,("calling open_file with flags=0x%X flags2=0x%X mode=0%o, "