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_rename.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'source4/ntvfs/posix/pvfs_rename.c') diff --git a/source4/ntvfs/posix/pvfs_rename.c b/source4/ntvfs/posix/pvfs_rename.c index 5296811f02..432716130c 100644 --- a/source4/ntvfs/posix/pvfs_rename.c +++ b/source4/ntvfs/posix/pvfs_rename.c @@ -37,7 +37,8 @@ NTSTATUS pvfs_do_rename(struct pvfs_state *pvfs, uint32_t mask; NTSTATUS status; - if (pvfs_sys_rename(pvfs, name1->full_name, name2) == -1) { + if (pvfs_sys_rename(pvfs, name1->full_name, name2, + name1->allow_override) == -1) { return pvfs_map_errno(pvfs, errno); } @@ -624,7 +625,7 @@ static NTSTATUS pvfs_rename_nt(struct ntvfs_module_context *ntvfs, case RENAME_FLAG_COPY: status = pvfs_access_check_parent(pvfs, req, name2, SEC_DIR_ADD_FILE); NT_STATUS_NOT_OK_RETURN(status); - return pvfs_copy_file(pvfs, name1, name2); + return pvfs_copy_file(pvfs, name1, name2, name1->allow_override && name2->allow_override); case RENAME_FLAG_MOVE_CLUSTER_INFORMATION: DEBUG(3,(__location__ ": Invalid rename cluster for %s\n", -- cgit