#include <Ip.h>

Inheritance diagram for ACLIP:
Collaboration diagram for ACLIP:

Public Types

typedef Splay< acl_ip_data * > IPSplay

Public Member Functions

void * operator new (size_t)
void operator delete (void *)
 ~ACLIP ()
virtual char const * typeString () const =0
virtual void parse ()
 parses node representation in squid.conf; dies on failures More...
virtual int match (ACLChecklist *checklist)=0
 Matches the actual data in checklist against this ACL. More...
virtual SBufList dump () const
virtual bool empty () const
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::Optionsoptions ()
virtual void parseFlags ()
 configures ACL options, throwing on configuration errors More...
virtual bool isProxyAuth () const
virtual bool valid () const
int cacheMatchAcl (dlink_list *cache, ACLChecklist *)
virtual int matchForCache (ACLChecklist *checklist)
virtual void prepareForUse ()
SBufList dumpOptions ()

Static Public Member Functions

static void ParseAclLine (ConfigParser &parser, ACL **head)
static void Initialize ()
static ACLFindByName (const char *name)

Public Attributes

char name [ACL_NAME_SZ]
char * cfgline
bool registered
 added to the global list of ACLs via aclRegister() More...

Protected Member Functions

int match (const Ip::Address &)

Protected Attributes


Private Member Functions

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 requiresReply () const
 whether our (i.e. shallow) match() requires checklist to have a reply More...

Detailed Description

Definition at line 44 of file Ip.h.

Member Typedef Documentation

◆ IPSplay

Definition at line 53 of file Ip.h.

Constructor & Destructor Documentation



Definition at line 50 of file Ip.h.

◆ ~ACLIP()


Definition at line 494 of file Ip.cc.

References data, and Splay< V >::destroy().

Member Function Documentation

◆ cacheMatchAcl()

◆ context()

void ACL::context ( const char *  name,
const char *  configuration 

◆ dump()

SBufList ACLIP::dump ( ) const

Implements ACL.

Definition at line 510 of file Ip.cc.

References IpAclDumpVisitor::contents, data, and Splay< V >::visit().

◆ dumpOptions()

SBufList ACL::dumpOptions ( )
approximate options configuration

Definition at line 299 of file Acl.cc.

References SBufStream::buf(), SBuf::isEmpty(), and ACL::options().

Referenced by dump_acl().

◆ empty()

bool ACLIP::empty ( ) const

Implements ACL.

Definition at line 518 of file Ip.cc.

References data, and Splay< V >::empty().

◆ FindByName()

ACL * ACL::FindByName ( const char *  name)

◆ Initialize()

void ACL::Initialize ( )

Definition at line 407 of file Acl.cc.

References SquidConfig::aclList, Config, debugs, ACL::next, and ACL::prepareForUse().

Referenced by serverConnectionsOpen().

◆ isProxyAuth()

bool ACL::isProxyAuth ( ) const

Reimplemented in ACLIdent, ACLExternal, and ACLProxyAuth.

Definition at line 286 of file Acl.cc.

Referenced by aclIsProxyAuth().

◆ match() [1/2]

virtual int ACLIP::match ( ACLChecklist checklist)
pure virtual

◆ match() [2/2]

int ACLIP::match ( const Ip::Address clientip)

◆ matches()

bool ACL::matches ( ACLChecklist checklist) const

Orchestrates matching checklist against the ACL using match(), after checking preconditions and while providing debugging.

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

int ACL::matchForCache ( ACLChecklist checklist)

Reimplemented in ACLProxyAuth.

Definition at line 318 of file Acl.cc.

References fatal().

Referenced by ACL::cacheMatchAcl().

◆ operator delete()

void ACLIP::operator delete ( void *  )

Definition at line 29 of file Ip.cc.

References fatal().

◆ operator new()

void * ACLIP::operator new ( size_t  )

Definition at line 22 of file Ip.cc.

References fatal().

◆ options()

virtual const Acl::Options& ACL::options ( )
(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()

void ACLIP::parse ( )

◆ ParseAclLine()

◆ parseFlags()

void ACL::parseFlags ( )

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

virtual void ACL::prepareForUse ( )

Reimplemented in ACLStrategised< M >, ACLMaxConnection, and Acl::InnerNode.

Definition at line 79 of file Acl.h.

Referenced by ACL::Initialize().

◆ requiresAle()

bool ACL::requiresAle ( ) const

Reimplemented in ACLExternal.

Definition at line 378 of file Acl.cc.

Referenced by ACL::matches().

◆ requiresReply()

bool ACL::requiresReply ( ) const

Reimplemented in ACLStrategised< M >, and ACLHTTPStatus.

Definition at line 384 of file Acl.cc.

Referenced by ACL::matches().

◆ requiresRequest()

bool ACL::requiresRequest ( ) const

Reimplemented in ACLExternal, ACLProxyAuth, ACLMaxUserIP, Acl::TransactionInitiator, and ACLStrategised< M >.

Definition at line 390 of file Acl.cc.

Referenced by ACL::matches().

◆ typeString()

virtual char const* ACLIP::typeString ( ) const
pure virtual

Implements ACL.

Implemented in ACLSourceIP, ACLLocalIP, and ACLDestinationIP.

◆ valid()

bool ACL::valid ( ) const

Reimplemented in ACLExternal, ACLProxyAuth, ACLMaxUserIP, ACLStrategised< M >, ACLRandom, and ACLMaxConnection.

Definition at line 115 of file Acl.cc.

Member Data Documentation

◆ cfgline

char* ACL::cfgline

Definition at line 84 of file Acl.h.

Referenced by ACL::~ACL(), ACL::context(), and Acl::AllOf::parse().

◆ data

IPSplay* ACLIP::data

Definition at line 65 of file Ip.h.

Referenced by ~ACLIP(), dump(), empty(), match(), and parse().

◆ name

◆ next

ACL* ACL::next

Definition at line 85 of file Acl.h.

Referenced by dump_acl(), ACL::FindByName(), and ACL::Initialize().

◆ registered

bool ACL::registered

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:






Web Site Translations