Collaboration diagram for Access Controls:

Classes

class  ACL
 
class  allow_t
 
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
 

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 **)
 
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 lables 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)
 

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

Enumerator
ACCESS_DENIED 
ACCESS_ALLOWED 
ACCESS_DUNNO 
ACCESS_AUTH_REQUIRED 

Definition at line 101 of file Acl.h.

Function Documentation

void aclCacheMatchFlush ( dlink_list cache)
void aclDestroyAcls ( ACL **  )

Definition at line 257 of file Gadgets.cc.

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

Referenced by free_acl().

void aclDestroyDenyInfoList ( AclDenyInfoList **  )
wordlist* aclDumpGeneric ( const ACL )
int aclIsProxyAuth ( const char *  name)

Definition at line 74 of file Gadgets.cc.

References a, debugs, ACL::FindByName(), and ACL::isProxyAuth().

Referenced by ClientRequestContext::clientAccessCheckDone().

void aclParseAccessLine ( const char *  directive,
ConfigParser parser,
Acl::Tree **   
)

Parses a single line of a "action followed by acls" directive (e.g., http_access).

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 198 of file Gadgets.cc.

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().

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

Definition at line 41 of file Gadgets.h.

References aclParseAclList(), and buf.

void aclRegister ( ACL acl)

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

Definition at line 229 of file Gadgets.cc.

References ACL::registered, and RegisteredAcls.

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

void asnFreeMemory ( void  )

Definition at line 219 of file Asn.cc.

References destroyRadixNode(), and squid_rn_walktree().

Referenced by serverConnectionsClose(), and SquidShutdown().

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

Variable Documentation

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors