From 5238df0b73f164bd833c75ac8f549bfb50197f4e Mon Sep 17 00:00:00 2001 From: robertc <> Date: Tue, 18 Feb 2003 17:15:27 +0000 Subject: [PATCH] Summary: ACL bugfix - prevent multiple async calls. Keywords: acl checking on failed-and-needing-async-lookups with the ! operator, leads to multiple lookups being needed. So, we stop processing the current checklist when a async state is detected. --- src/ACLChecklist.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ACLChecklist.cc b/src/ACLChecklist.cc index 4b16baac99..2ff64154ab 100644 --- a/src/ACLChecklist.cc +++ b/src/ACLChecklist.cc @@ -1,5 +1,5 @@ /* - * $Id: ACLChecklist.cc,v 1.4 2003/02/17 07:01:34 robertc Exp $ + * $Id: ACLChecklist.cc,v 1.5 2003/02/18 10:15:27 robertc Exp $ * * DEBUG: section 28 Access Control * AUTHOR: Duane Wessels @@ -223,7 +223,7 @@ ACLChecklist::matchAclList(const acl_list * head, bool const fast) bool nodeMatched = node->matches(this); if (fast) changeState(NullState::Instance()); - if (!nodeMatched) { + if (!nodeMatched || state_ != NullState::Instance()) { debug(28, 3) ("aclmatchAclList: returning false (AND list entry failed to match)\n"); PROF_stop(aclMatchAclList); return false; -- 2.47.3