diff options
author | Jeremy Allison <jra@samba.org> | 2008-01-24 13:27:51 -0800 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2008-01-24 13:27:51 -0800 |
commit | b83dfaf09679b0bbd7341230e1e96b53ae5289cb (patch) | |
tree | 10442bd84341e85c30d510d7f6b711f755aa1cea /source | |
parent | 7a529c43181eb9b3926b214b2fe84aea06be7a3c (diff) | |
download | samba-b83dfaf09679b0bbd7341230e1e96b53ae5289cb.tar.gz |
The checks for OI and CI were just wrong.... Fix them. Thanks to
Jim for testing this.
Jeremy.
Diffstat (limited to 'source')
-rw-r--r-- | source/smbd/posix_acls.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/source/smbd/posix_acls.c b/source/smbd/posix_acls.c index f46d6f65185..a62fe6c75df 100644 --- a/source/smbd/posix_acls.c +++ b/source/smbd/posix_acls.c @@ -3190,20 +3190,15 @@ static NTSTATUS append_parent_acl(files_struct *fsp, /* Finally append any inherited ACEs. */ for (j = 0; j < parent_sd->dacl->num_aces; j++) { SEC_ACE *se = &parent_sd->dacl->aces[j]; - uint32 i_flags = se->flags & (SEC_ACE_FLAG_OBJECT_INHERIT| - SEC_ACE_FLAG_CONTAINER_INHERIT| - SEC_ACE_FLAG_INHERIT_ONLY); if (fsp->is_directory) { - if (i_flags == SEC_ACE_FLAG_OBJECT_INHERIT) { - /* Should only apply to a file - ignore. */ + if (!(se->flags & SEC_ACE_FLAG_CONTAINER_INHERIT)) { + /* Doesn't apply to a directory - ignore. */ continue; } } else { - if ((i_flags & (SEC_ACE_FLAG_OBJECT_INHERIT| - SEC_ACE_FLAG_INHERIT_ONLY)) != - SEC_ACE_FLAG_OBJECT_INHERIT) { - /* Should not apply to a file - ignore. */ + if (!(se->flags & SEC_ACE_FLAG_OBJECT_INHERIT)) { + /* Doesn't apply to a file - ignore. */ continue; } } |