From 3bd6513884f1f02fe5638a424bcb1948f0921853 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Thu, 27 Oct 2011 16:48:13 -0700 Subject: Remove the order dependency in parent_override_delete(), just check for & not ==. --- source3/smbd/open.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'source3') diff --git a/source3/smbd/open.c b/source3/smbd/open.c index 6dab55d100..42edddcaf9 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -65,7 +65,7 @@ NTSTATUS smb1_file_se_access_check(struct connection_struct *conn, } /**************************************************************************** - If the requester wanted DELETE_ACCESS and was only rejected because + If the requester wanted DELETE_ACCESS and was rejected because the file ACL didn't include DELETE_ACCESS, see if the parent ACL ovverrides this. ****************************************************************************/ @@ -76,7 +76,7 @@ static bool parent_override_delete(connection_struct *conn, uint32_t rejected_mask) { if ((access_mask & DELETE_ACCESS) && - (rejected_mask == DELETE_ACCESS) && + (rejected_mask & DELETE_ACCESS) && can_delete_file_in_directory(conn, smb_fname)) { return true; } -- cgit