From f7696717800e82193e2b1ab1b3467e117306a769 Mon Sep 17 00:00:00 2001 From: Matthew McGillis Date: Fri, 4 Jun 2010 17:48:40 -0700 Subject: [PATCH] Fix bug with incorrect flag values for inherited ace in some cases. --- source3/utils/smbcacls.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source3/utils/smbcacls.c b/source3/utils/smbcacls.c index 0c7a72263a1..46361add764 100644 --- a/source3/utils/smbcacls.c +++ b/source3/utils/smbcacls.c @@ -1026,6 +1026,9 @@ static int inherit(struct cli_state *cli, const char *filename, parent = get_secdesc(cli,parentname); for (i=0;idacl->num_aces;i++) { struct security_ace *ace=&parent->dacl->aces[i]; + /* Add inherited flag to all aces */ + ace->flags=ace->flags| + SEC_ACE_FLAG_INHERITED_ACE; if ((oldattr & aDIR) == aDIR) { if ((ace->flags & SEC_ACE_FLAG_CONTAINER_INHERIT) == SEC_ACE_FLAG_CONTAINER_INHERIT) { @@ -1034,6 +1037,8 @@ static int inherit(struct cli_state *cli, const char *filename, } else { if ((ace->flags & SEC_ACE_FLAG_OBJECT_INHERIT) == SEC_ACE_FLAG_OBJECT_INHERIT) { + /* clear flags for files */ + ace->flags=0; add_ace(&old->dacl, ace); } } -- 2.11.4.GIT