Namespaces | |
namespace | Acl |
Classes | |
class | ACL |
class | acl_proxy_auth_match_cache |
class | ACLAdaptationServiceData |
class | ACLAnnotationData |
class | ACLARP |
class | ACLASN |
class | ACLCertificateData |
class | ACLChecklist |
class | DestinationDomainLookup |
class | ACLFilledChecklist |
class | ACLHasComponentData |
struct | acl_httpstatus_data |
class | ACLHTTPStatus |
class | ACLLocalIP |
class | ACLMaxConnection |
class | ACLNoteData |
class | ACLSquidErrorData |
class | IdentLookup |
class | ACLIdent |
Enumerations | |
enum | aclMatchCode { ACCESS_DENIED , ACCESS_ALLOWED , ACCESS_DUNNO , ACCESS_AUTH_REQUIRED } |
Functions | |
void | asnInit (void) |
void | asnFreeMemory (void) |
void | aclRegister (ACL *acl) |
void | aclDestroyAccessList (acl_access **list) |
void | aclDestroyAcls (ACL **) |
called to delete ALL Acls. More... | |
void | aclDestroyAclList (ACLList **) |
void | aclParseAccessLine (const char *directive, ConfigParser &parser, Acl::Tree **) |
template<class Any > | |
size_t | aclParseAclList (ConfigParser &parser, Acl::Tree **tree, const Any any) |
Template to convert various context labels to strings. More... | |
int | aclIsProxyAuth (const char *name) |
err_type | aclGetDenyInfoPage (AclDenyInfoList **head, const char *name, int redirect_allowed) |
void | aclParseDenyInfoLine (AclDenyInfoList **) |
void | aclDestroyDenyInfoList (AclDenyInfoList **) |
wordlist * | aclDumpGeneric (const ACL *) |
void | aclCacheMatchFlush (dlink_list *cache) |
void | dump_acl_access (StoreEntry *entry, const char *name, acl_access *head) |
void | dump_acl_list (StoreEntry *entry, ACLList *head) |
Variables | |
const char * | AclMatchedName |
Detailed Description
- These functions are responsible for allowing or denying a request, based on a number of different parameters. These parameters include the client's IP address, the hostname of the requested resource, the request method, etc. Some of the necessary information may not be immediately available, for example the origin server's IP address. In these cases, the ACL routines initiate lookups for the necessary information and continues the access control checks when the information is available.
Enumeration Type Documentation
◆ aclMatchCode
enum aclMatchCode |
Function Documentation
◆ aclCacheMatchFlush()
void aclCacheMatchFlush | ( | dlink_list * | cache | ) |
Definition at line 391 of file Acl.cc.
References dlink_node::data, debugs, dlinkDelete(), dlink_list::head, and dlink_node::next.
Referenced by Auth::User::~User(), and Auth::CredentialsCache::doConfigChangeCleanup().
◆ aclDestroyAccessList()
void aclDestroyAccessList | ( | acl_access ** | list | ) |
Definition at line 276 of file Gadgets.cc.
References assert, and debugs.
Referenced by CachePeer::~CachePeer(), ClientDelayPool::~ClientDelayPool(), DelayPool::~DelayPool(), HttpUpgradeProtocolAccess::~HttpUpgradeProtocolAccess(), MessageDelayPool::~MessageDelayPool(), HttpUpgradeProtocolAccess::NamedGuard::~NamedGuard(), free_acl_access(), and header_mangler_clean().
◆ aclDestroyAclList()
void aclDestroyAclList | ( | ACLList ** | list | ) |
Definition at line 267 of file Gadgets.cc.
References assert, and debugs.
Referenced by acl_nfmark::~acl_nfmark(), acl_tos::~acl_tos(), AclSizeLimit::~AclSizeLimit(), Acl::Address::~Address(), FormattedLog::~FormattedLog(), sslproxy_cert_adapt::~sslproxy_cert_adapt(), sslproxy_cert_sign::~sslproxy_cert_sign(), Note::Value::~Value(), and free_HeaderWithAclList().
◆ aclDestroyAcls()
void aclDestroyAcls | ( | ACL ** | head | ) |
Definition at line 249 of file Gadgets.cc.
References aclDeregister(), assert, debugs, head, ACL::registered, and RegisteredAcls.
Referenced by free_acl().
◆ aclDestroyDenyInfoList()
void aclDestroyDenyInfoList | ( | AclDenyInfoList ** | list | ) |
Definition at line 289 of file Gadgets.cc.
References debugs, and AclDenyInfoList::next.
◆ aclDumpGeneric()
◆ aclGetDenyInfoPage()
err_type aclGetDenyInfoPage | ( | AclDenyInfoList ** | head, |
const char * | name, | ||
int | redirect_allowed | ||
) |
Definition at line 39 of file Gadgets.cc.
References A, debugs, ERR_NONE, and head.
Referenced by ClientRequestContext::clientAccessCheckDone(), Client::handleAdaptationBlocked(), clientReplyContext::processReplyAccessResult(), and FwdState::Start().
◆ aclIsProxyAuth()
int aclIsProxyAuth | ( | const char * | name | ) |
Definition at line 70 of file Gadgets.cc.
References debugs, ACL::FindByName(), and ACL::isProxyAuth().
Referenced by ClientRequestContext::clientAccessCheckDone().
◆ aclParseAccessLine()
void aclParseAccessLine | ( | const char * | directive, |
ConfigParser & | parser, | ||
Acl::Tree ** | |||
) |
Parses a single line of a "action followed by acls" directive (e.g., http_access).
◆ aclParseAclList()
|
inline |
Definition at line 41 of file Gadgets.h.
References aclParseAclList().
◆ aclParseDenyInfoLine()
void aclParseDenyInfoLine | ( | AclDenyInfoList ** | head | ) |
Definition at line 100 of file Gadgets.cc.
References A, B, cfg_filename, config_input_line, config_lineno, ConfigParser::CurrentLocation(), DBG_CRITICAL, debugs, head, and ConfigParser::NextToken().
Referenced by parse_denyinfo().
◆ aclRegister()
void aclRegister | ( | ACL * | acl | ) |
Register an ACL object for future deletion. Repeated registrations are OK.
Definition at line 221 of file Gadgets.cc.
References ACL::registered, and RegisteredAcls.
Referenced by Acl::InnerNode::add(), Acl::AllOf::parse(), and ACL::ParseAclLine().
◆ asnFreeMemory()
void asnFreeMemory | ( | void | ) |
Definition at line 206 of file Asn.cc.
References AS_tree_head, destroyRadixNode(), and squid_rn_walktree().
Referenced by serverConnectionsClose().
◆ asnInit()
void asnInit | ( | void | ) |
Definition at line 190 of file Asn.cc.
References AS_tree_head, asnRegisterWithCacheManager(), squid_max_keylen, squid_rn_init(), and squid_rn_inithead().
Referenced by serverConnectionsOpen().
◆ dump_acl_access()
void dump_acl_access | ( | StoreEntry * | entry, |
const char * | name, | ||
acl_access * | head | ||
) |
Definition at line 1516 of file cache_cf.cc.
References Acl::AllowOrDeny(), dump_SBufList(), and head.
Referenced by DelayPool::dump(), MessageDelayPool::dump(), ClientDelayPool::dump(), dump_peer(), Adaptation::Config::DumpAccess(), and header_mangler_dump_access().
◆ dump_acl_list()
void dump_acl_list | ( | StoreEntry * | entry, |
ACLList * | head | ||
) |
Definition at line 1508 of file cache_cf.cc.
References dump_SBufList(), and head.
Referenced by Note::dump(), dump_access_log(), dump_acl_address(), dump_acl_b_size_t(), dump_acl_tos(), dump_HeaderWithAclList(), dump_sslproxy_cert_adapt(), and dump_sslproxy_cert_sign().
Variable Documentation
◆ AclMatchedName
|
extern |
XXX: find a way to remove or at least use a refcounted ACL pointer
Definition at line 29 of file Acl.cc.
Referenced by ACL::~ACL(), aclDomainCompare(), ExternalACLLookup::checkForAsync(), ClientRequestContext::clientAccessCheckDone(), acl_httpstatus_data::compare(), ClientHttpRequest::handleAdaptationBlock(), icpDenyAccess(), Acl::DestinationAsnCheck::match(), Acl::DestinationDomainCheck::match(), Acl::SourceDomainCheck::match(), ACLDestinationIP::match(), ACL::matches(), acl_ip_data::NetworkCompare(), ACLProtocolData::parse(), ACLExternal::parse(), ACL::ParseAclLine(), ACLChecklist::preCheck(), clientReplyContext::processReplyAccessResult(), Acl::SetKey(), and FwdState::Start().