Collaboration diagram for Access Controls:




class  ACL
class  acl_proxy_auth_match_cache
class  ACLAdaptationServiceStrategy
class  ACLAdaptationServiceData
class  ACLAnnotateClientStrategy
class  ACLAnnotateTransactionStrategy
class  ACLAnnotationData
class  ACLARP
class  ACLASN
class  ACLAtStepStrategy
class  ACLCertificateStrategy
class  ACLCertificateData
class  ACLChecklist
class  ACLDestinationASNStrategy
class  ACLDestinationDomainStrategy
class  DestinationDomainLookup
class  ACLFilledChecklist
class  ACLHasComponentStrategy
class  ACLHasComponentData
class  ACLHierCodeStrategy
class  ACLHTTPRepHeaderStrategy
class  ACLHTTPReqHeaderStrategy
struct  acl_httpstatus_data
class  ACLHTTPStatus
class  ACLLocalIP
class  ACLLocalPortStrategy
class  ACLMaxConnection
class  ACLMethodStrategy
class  ACLNoteStrategy
class  ACLNoteData
class  ACLServerCertificateStrategy
class  ACLSquidErrorData
class  IdentLookup
class  ACLIdent


enum  aclMatchCode {


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 **)
void aclParseAclList (ConfigParser &parser, Acl::Tree **, const char *label)
template<class Any >
void 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 **)
wordlistaclDumpGeneric (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)


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


Definition at line 101 of file Acl.h.

Function Documentation

◆ aclCacheMatchFlush()

void aclCacheMatchFlush ( dlink_list cache)

◆ aclDestroyAccessList()

◆ aclDestroyAclList()

◆ aclDestroyAcls()

void aclDestroyAcls ( ACL **  )

Definition at line 249 of file

References aclDeregister(), assert, debugs, head, NULL, ACL::registered, and RegisteredAcls.

Referenced by free_acl().

◆ aclDestroyDenyInfoList()

void aclDestroyDenyInfoList ( AclDenyInfoList **  )

Definition at line 289 of file

References debugs, AclDenyInfoList::next, and NULL.

◆ aclDumpGeneric()

wordlist* aclDumpGeneric ( const ACL )

◆ aclGetDenyInfoPage()

err_type aclGetDenyInfoPage ( AclDenyInfoList **  head,
const char *  name,
int  redirect_allowed 

◆ aclIsProxyAuth()

int aclIsProxyAuth ( const char *  name)

Definition at line 72 of file

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() [1/2]

void aclParseAclList ( ConfigParser parser,
Acl::Tree **  ,
const char *  label 

Parses a single line of a "some context followed by acls" directive (e.g., note n v). The label parameter identifies the context (for debugging).

Definition at line 190 of file

References Acl::Tree::add(), Packable::appendf(), assert, cfg_directive, config_input_line, MemBuf::content(), ACL::context(), MemBuf::init(), Acl::InnerNode::lineParse(), and MemBuf::terminate().

Referenced by aclParseAclList(), Notes::parse(), parse_access_log(), parse_acl_address(), parse_acl_b_size_t(), parse_acl_tos(), parse_HeaderWithAclList(), parse_sslproxy_cert_adapt(), and parse_sslproxy_cert_sign().

◆ aclParseAclList() [2/2]

template<class Any >
void aclParseAclList ( ConfigParser parser,
Acl::Tree **  tree,
const Any  any 

Definition at line 41 of file Gadgets.h.

References aclParseAclList(), and buf.

◆ aclParseDenyInfoLine()

void aclParseDenyInfoLine ( AclDenyInfoList **  )

◆ aclRegister()

void aclRegister ( ACL acl)

Register an ACL object for future deletion. Repeated registrations are OK.

Definition at line 221 of file

References ACL::registered, and RegisteredAcls.

Referenced by Acl::InnerNode::add(), and ACL::ParseAclLine().

◆ asnFreeMemory()

void asnFreeMemory ( void  )

Definition at line 210 of file

References AS_tree_head, destroyRadixNode(), and squid_rn_walktree().

Referenced by serverConnectionsClose(), and SquidShutdown().

◆ asnInit()

void asnInit ( void  )

◆ dump_acl_access()

void dump_acl_access ( StoreEntry entry,
const char *  name,
acl_access head 

◆ dump_acl_list()

Variable Documentation

◆ AclMatchedName






Web Site Translations