/*
- * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
*
* Squid software is distributed under GPLv2+ license and includes
* contributions from numerous individuals and organizations.
{
assert (!asyncInProgress());
- cbdataReferenceDone(accessList);
+ changeAcl(nullptr);
debugs(28, 4, "ACLChecklist::~ACLChecklist: destroyed " << this);
}
// Concurrent checks are not supported, but sequential checks are, and they
// may use a mixture of fastCheck(void) and fastCheck(list) calls.
- const Acl::Tree * const savedList = accessList;
-
- accessList = cbdataReference(list);
+ const Acl::Tree * const savedList = changeAcl(list);
// assume DENY/ALLOW on mis/matches due to action-free accessList
// matchAndFinish() takes care of the ALLOW case
if (!finished())
markFinished(ACCESS_DENIED, "ACLs failed to match");
- cbdataReferenceDone(accessList);
- accessList = savedList;
+ changeAcl(savedList);
occupied_ = false;
PROF_stop(aclCheckFast);
return currentAnswer();
ACLChecklist::bannedAction(const allow_t &action) const
{
const bool found = std::find(bannedActions_.begin(), bannedActions_.end(), action) != bannedActions_.end();
- debugs(28, 5, "Action '" << action << "/" << action.kind << (found ? " is " : "is not") << " banned");
+ debugs(28, 5, "Action '" << action << "/" << action.kind << (found ? "' is " : "' is not") << " banned");
return found;
}