Checklist.cc
Go to the documentation of this file.
70 ACLChecklist::matchChild(const Acl::InnerNode * const current, const Acl::Nodes::const_iterator pos)
117 debugs(28, 2, this << " a slow ACL resumes by going async again! (loop #" << asyncLoopDepth_ << ")");
217 debugs(28, DBG_CRITICAL, "SECURITY ERROR: ACL " << this << " checked with nothing to match against!!");
352 const bool found = std::find(bannedActions_.begin(), bannedActions_.end(), action) != bannedActions_.end();
void(ACLFilledChecklist &, const Acl::Node &) AsyncStarter
a function that initiates asynchronous ACL checks; see goAsync()
Definition: Checklist.h:36
Answer winningAction() const
Returns the corresponding action after a successful tree match.
Definition: Tree.cc:15
Definition: Acl.h:53
std::stack< Breadcrumb > matchPath
suspended (due to an async lookup) matches() in the ACL tree
Definition: Checklist.h:213
void banAction(const Acl::Answer &action)
add action to the list of banned actions
Definition: Checklist.cc:358
std::optional< SBuf > lastCheckedName_
the name of the last evaluated ACL (if any ACLs were evaluated)
Definition: Checklist.h:218
An intermediate Acl::Node tree node. Manages a collection of child tree nodes.
Definition: InnerNode.h:22
Position of a child node within an Acl::Node tree.
Definition: Checklist.h:177
bool asyncInProgress() const
async call has been started and has not finished (or failed) yet
Definition: Checklist.h:101
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
Definition: FilledChecklist.h:146
std::vector< Acl::Answer > bannedActions_
the list of actions which must ignored during acl checks
Definition: Checklist.h:215
void markFinished(const Acl::Answer &newAnswer, const char *reason)
Definition: Checklist.cc:45
bool resumeMatchingAt(ACLChecklist *checklist, Acl::Nodes::const_iterator pos) const
Resumes matching (suspended by an async call) at the given position.
Definition: InnerNode.cc:96
void preCheck(const char *what)
prepare for checking ACLs; called once per check
Definition: Checklist.cc:56
unsigned asyncLoopDepth_
how many times the current async state has resumed
Definition: Checklist.h:208
void matchAndFinish()
performs (or resumes) an ACL tree match and, if successful, sets the action
Definition: Checklist.cc:257
bool prepNonBlocking()
common parts of nonBlockingCheck() and resumeNonBlockingCheck()
Definition: Checklist.cc:21
std::optional< SBuf > lastCheckedName
the name of the ACL (if any) that was evaluated last while obtaining this answer
Definition: Acl.h:105
bool matchChild(const Acl::InnerNode *parent, Acl::Nodes::const_iterator pos)
Definition: Checklist.cc:70
void nonBlockingCheck(ACLCB *callback, void *callback_data)
Definition: Checklist.cc:206
bool bannedAction(const Acl::Answer &action) const
whether the action is banned or not
Definition: Checklist.cc:350
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products