#include <ExternalACL.h>


Public Member Functions | |
ACLExternal (char const *) | |
ACLExternal (ACLExternal const &) | |
~ACLExternal () | |
ACLExternal & | operator= (ACLExternal const &) |
virtual ACL * | clone () const |
virtual char const * | typeString () const |
virtual void | parse () |
parses node representation in squid.conf; dies on failures More... | |
virtual int | match (ACLChecklist *checklist) |
Matches the actual data in checklist against this ACL. More... | |
virtual bool | requiresAle () const |
whether our (i.e. shallow) match() requires checklist to have a AccessLogEntry More... | |
virtual bool | requiresRequest () const |
whether our (i.e. shallow) match() requires checklist to have a request More... | |
virtual bool | isProxyAuth () const |
virtual SBufList | dump () const |
virtual bool | valid () const |
virtual bool | empty () const |
void * | operator new (size_t) |
void | operator delete (void *) |
void | context (const char *name, const char *configuration) |
sets user-specified ACL name and squid.conf context More... | |
bool | matches (ACLChecklist *checklist) const |
virtual const Acl::Options & | options () |
virtual void | parseFlags () |
configures ACL options, throwing on configuration errors More... | |
int | cacheMatchAcl (dlink_list *cache, ACLChecklist *) |
virtual int | matchForCache (ACLChecklist *checklist) |
virtual void | prepareForUse () |
SBufList | dumpOptions () |
Static Public Member Functions | |
static void | ExternalAclLookup (ACLChecklist *ch, ACLExternal *) |
static void | ParseAclLine (ConfigParser &parser, ACL **head) |
static void | Initialize () |
static ACL * | FindByName (const char *name) |
Public Attributes | |
char | name [ACL_NAME_SZ] |
char * | cfgline |
ACL * | next |
bool | registered |
added to the global list of ACLs via aclRegister() More... | |
Protected Attributes | |
external_acl_data * | data |
char const * | class_ |
Private Member Functions | |
MEMPROXY_CLASS (ACLExternal) | |
virtual bool | requiresReply () const |
whether our (i.e. shallow) match() requires checklist to have a reply More... | |
Detailed Description
Definition at line 37 of file ExternalACL.h.
Constructor & Destructor Documentation
◆ ACLExternal() [1/2]
ACLExternal::ACLExternal | ( | char const * | theClass | ) |
Definition at line 1178 of file external_acl.cc.
Referenced by clone().
◆ ACLExternal() [2/2]
ACLExternal::ACLExternal | ( | ACLExternal const & | old | ) |
Definition at line 1181 of file external_acl.cc.
◆ ~ACLExternal()
ACLExternal::~ACLExternal | ( | ) |
Definition at line 567 of file external_acl.cc.
Member Function Documentation
◆ cacheMatchAcl()
|
inherited |
Definition at line 336 of file Acl.cc.
References acl_proxy_auth_match_cache::acl_data, dlink_node::data, debugs, dlinkAddTail(), dlink_list::head, acl_proxy_auth_match_cache::link, ACL::matchForCache(), acl_proxy_auth_match_cache::matchrv, ACL::name, and dlink_node::next.
Referenced by ACLProxyAuth::matchProxyAuth().
◆ clone()
|
virtual |
Definition at line 1173 of file external_acl.cc.
References ACLExternal().
◆ context()
|
inherited |
Definition at line 157 of file Acl.cc.
References ACL_NAME_SZ, ACL::cfgline, ACL::name, safe_free, xstrdup, and xstrncpy().
Referenced by aclParseAccessLine(), aclParseAclList(), Acl::AllOf::parse(), and ParseAclWithAction().
◆ dump()
|
virtual |
Implements ACL.
Definition at line 731 of file external_acl.cc.
References arg, external_acl_data::arguments, data, external_acl_data::def, external_acl::name, and SBuf::Printf().
◆ dumpOptions()
|
inherited |
- Returns
- approximate options configuration
Definition at line 299 of file Acl.cc.
References SBufStream::buf(), SBuf::isEmpty(), and ACL::options().
Referenced by dump_acl().
◆ empty()
|
virtual |
Implements ACL.
Definition at line 562 of file external_acl.cc.
◆ ExternalAclLookup()
|
static |
Definition at line 1017 of file external_acl.cc.
References data, and ExternalACLLookup::Start().
Referenced by ExternalACLLookup::checkForAsync().
◆ FindByName()
|
staticinherited |
Definition at line 93 of file Acl.cc.
References SquidConfig::aclList, Config, debugs, ACL::name, ACL::next, and NULL.
Referenced by aclIsProxyAuth(), ExternalACLLookup::checkForAsync(), Acl::InnerNode::lineParse(), parse_ftp_epsv(), and ACL::ParseAclLine().
◆ Initialize()
|
staticinherited |
Definition at line 407 of file Acl.cc.
References SquidConfig::aclList, Config, debugs, ACL::next, and ACL::prepareForUse().
Referenced by serverConnectionsOpen().
◆ isProxyAuth()
|
virtual |
Reimplemented from ACL.
Definition at line 1194 of file external_acl.cc.
References data, external_acl_data::def, and external_acl::require_auth.
◆ match()
|
virtual |
Implements ACL.
Definition at line 707 of file external_acl.cc.
References ACCESS_ALLOWED, ACCESS_AUTH_REQUIRED, ACCESS_DENIED, ACCESS_DUNNO, aclMatchExternal(), data, Filled(), ACLChecklist::keepMatching(), and ACLChecklist::markFinished().
◆ matches()
|
inherited |
Orchestrates matching checklist against the ACL using match(), after checking preconditions and while providing debugging.
- Returns
- true if and only if there was a successful match. Updates the checklist state on match, async, and failure.
Definition at line 121 of file Acl.cc.
References AclMatchedName, ACLChecklist::asyncInProgress(), DBG_IMPORTANT, debugs, ACLChecklist::hasAle(), ACLChecklist::hasReply(), ACLChecklist::hasRequest(), ACL::match(), ACL::name, PROF_start, PROF_stop, ACL::requiresAle(), ACL::requiresReply(), ACL::requiresRequest(), and ACLChecklist::verifyAle().
Referenced by ACLChecklist::matchAndFinish(), and ACLChecklist::matchChild().
◆ matchForCache()
|
virtualinherited |
Reimplemented in ACLProxyAuth.
Definition at line 318 of file Acl.cc.
References fatal().
Referenced by ACL::cacheMatchAcl().
◆ MEMPROXY_CLASS()
|
private |
◆ operator delete()
|
inherited |
◆ operator new()
|
inherited |
◆ operator=()
ACLExternal& ACLExternal::operator= | ( | ACLExternal const & | ) |
◆ options()
|
inlinevirtualinherited |
- Returns
- (linked) Options supported by this ACL
Reimplemented in ACLMaxUserIP, ACLStrategised< M >, and ACLDestinationIP.
Definition at line 63 of file Acl.h.
References Acl::NoOptions().
Referenced by ACL::dumpOptions(), and ACL::parseFlags().
◆ parse()
|
virtual |
Implements ACL.
Definition at line 510 of file external_acl.cc.
References AclMatchedName, external_acl_data::arguments, data, external_acl_data::def, find_externalAclHelper(), external_acl_data::name, self_destruct(), ConfigParser::strtokFile(), wordlistAdd(), and xstrdup.
◆ ParseAclLine()
|
staticinherited |
Definition at line 168 of file Acl.cc.
References A, ACL_NAME_SZ, SquidConfig::aclList, AclMatchedName, aclRegister(), assert, Config, config_input_line, DBG_CRITICAL, DBG_IMPORTANT, DBG_PARSE_NOTE, debugs, ConfigParser::destruct(), fatalf(), ACL::FindByName(), head, HttpPortList, LOCAL_ARRAY, Acl::Make(), ConfigParser::NextToken(), NULL, and xstrncpy().
Referenced by parse_acl(), and testACLMaxUserIP::testParseLine().
◆ parseFlags()
|
virtualinherited |
Reimplemented in ACLIdent, ACLProxyAuth, ACLStrategised< M >, and ACLExtUser.
Definition at line 292 of file Acl.cc.
References Acl::NoFlags(), ACL::options(), and Acl::ParseFlags().
◆ prepareForUse()
|
inlinevirtualinherited |
Reimplemented in ACLStrategised< M >, ACLMaxConnection, and Acl::InnerNode.
Definition at line 79 of file Acl.h.
Referenced by ACL::Initialize().
◆ requiresAle()
|
inlinevirtual |
Reimplemented from ACL.
Definition at line 54 of file ExternalACL.h.
◆ requiresReply()
|
privatevirtualinherited |
Reimplemented in ACLStrategised< M >, and ACLHTTPStatus.
Definition at line 384 of file Acl.cc.
Referenced by ACL::matches().
◆ requiresRequest()
|
inlinevirtual |
Reimplemented from ACL.
Definition at line 55 of file ExternalACL.h.
◆ typeString()
|
virtual |
◆ valid()
|
virtual |
Reimplemented from ACL.
Definition at line 542 of file external_acl.cc.
References authenticateActiveSchemeCount(), authenticateSchemeCount(), data, DBG_CRITICAL, debugs, external_acl_data::def, and external_acl::require_auth.
Member Data Documentation
◆ cfgline
|
inherited |
Definition at line 84 of file Acl.h.
Referenced by ACL::~ACL(), ACL::context(), and Acl::AllOf::parse().
◆ class_
|
protected |
Definition at line 66 of file ExternalACL.h.
Referenced by ~ACLExternal(), and typeString().
◆ data
|
protected |
Definition at line 65 of file ExternalACL.h.
Referenced by ACLExternal(), ~ACLExternal(), dump(), ExternalAclLookup(), isProxyAuth(), match(), parse(), and valid().
◆ name
|
inherited |
Definition at line 83 of file Acl.h.
Referenced by ACL::ACL(), Acl::NotNode::NotNode(), ACL::~ACL(), ACL::cacheMatchAcl(), ACL::context(), dump_acl(), ACL::FindByName(), ACLDestinationIP::match(), ACLRandom::match(), ACL::matches(), and ACLMaxConnection::prepareForUse().
◆ next
|
inherited |
Definition at line 85 of file Acl.h.
Referenced by dump_acl(), ACL::FindByName(), and ACL::Initialize().
◆ registered
|
inherited |
Definition at line 86 of file Acl.h.
Referenced by aclDeregister(), aclDestroyAcls(), and aclRegister().
The documentation for this class was generated from the following files:
- src/ExternalACL.h
- src/external_acl.cc