From 3c4af39aa506a25fc6d6753dbe34e4e1c0dd0b43 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Thu, 1 Dec 2011 13:40:49 +1100 Subject: s4-ntvfs: added allow_override check based on use of NT ACL This disables the posix permission override if the calculated permissions did not come from a NT ACL. Autobuild-User: Andrew Tridgell Autobuild-Date: Thu Dec 1 05:14:49 CET 2011 on sn-devel-104 --- source4/ntvfs/posix/pvfs_setfileinfo.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source4/ntvfs/posix/pvfs_setfileinfo.c') diff --git a/source4/ntvfs/posix/pvfs_setfileinfo.c b/source4/ntvfs/posix/pvfs_setfileinfo.c index cbb5c7853c..3c9b18d91c 100644 --- a/source4/ntvfs/posix/pvfs_setfileinfo.c +++ b/source4/ntvfs/posix/pvfs_setfileinfo.c @@ -534,7 +534,7 @@ NTSTATUS pvfs_setfileinfo(struct ntvfs_module_context *ntvfs, } mode = pvfs_fileperms(pvfs, newstats.dos.attrib); if (!(h->name->dos.attrib & FILE_ATTRIBUTE_DIRECTORY)) { - if (pvfs_sys_fchmod(pvfs, h->fd, mode) == -1) { + if (pvfs_sys_fchmod(pvfs, h->fd, mode, h->name->allow_override) == -1) { return pvfs_map_errno(pvfs, errno); } } @@ -859,7 +859,7 @@ NTSTATUS pvfs_setpathinfo(struct ntvfs_module_context *ntvfs, newstats.dos.attrib |= (name->dos.attrib & FILE_ATTRIBUTE_DIRECTORY); if (newstats.dos.attrib != name->dos.attrib) { mode_t mode = pvfs_fileperms(pvfs, newstats.dos.attrib); - if (pvfs_sys_chmod(pvfs, name->full_name, mode) == -1) { + if (pvfs_sys_chmod(pvfs, name->full_name, mode, name->allow_override) == -1) { return pvfs_map_errno(pvfs, errno); } change_mask |= FILE_NOTIFY_CHANGE_ATTRIBUTES; -- cgit