#include <Arp.h>

Inheritance diagram for ACLARP:
Collaboration diagram for ACLARP:

Public Member Functions

 ACLARP (char const *)
 
 ~ACLARP () override
 
char const * typeString () const override
 
void parse () override
 parses node representation in squid.conf; dies on failures More...
 
int match (ACLChecklist *checklist) override
 Matches the actual data in checklist against this ACL. More...
 
SBufList dump () const override
 
bool empty () const override
 
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
 
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
 
ACLnext
 
bool registered
 added to the global list of ACLs via aclRegister() More...
 

Protected Types

typedef std::set< Eui::Eui48AclArpData_t
 

Protected Attributes

char const * class_
 
AclArpData_t aclArpData
 

Private Member Functions

 MEMPROXY_CLASS (ACLARP)
 
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...
 
virtual const Acl::Optionsoptions ()
 
virtual const Acl::OptionslineOptions ()
 

Detailed Description

Definition at line 18 of file Arp.h.

Member Typedef Documentation

◆ AclArpData_t

typedef std::set<Eui::Eui48> ACLARP::AclArpData_t
protected

Definition at line 34 of file Arp.h.

Constructor & Destructor Documentation

◆ ACLARP()

ACLARP::ACLARP ( char const *  theClass)

Definition at line 25 of file Arp.cc.

◆ ~ACLARP()

ACLARP::~ACLARP ( )
inlineoverride

Definition at line 24 of file Arp.h.

Member Function Documentation

◆ cacheMatchAcl()

◆ context()

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

◆ dump()

SBufList ACLARP::dump ( ) const
overridevirtual

Implements ACL.

Definition at line 120 of file Arp.cc.

References aclArpData.

◆ dumpOptions()

SBufList ACL::dumpOptions ( )
inherited
Returns
approximate options configuration

Definition at line 326 of file Acl.cc.

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

Referenced by dump_acl().

◆ empty()

bool ACLARP::empty ( ) const
overridevirtual

Implements ACL.

Definition at line 35 of file Arp.cc.

References aclArpData.

◆ FindByName()

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

◆ Initialize()

void ACL::Initialize ( )
staticinherited

Definition at line 438 of file Acl.cc.

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

Referenced by serverConnectionsOpen().

◆ isProxyAuth()

bool ACL::isProxyAuth ( ) const
virtualinherited

Reimplemented in ACLProxyAuth, ACLExternal, and ACLIdent.

Definition at line 309 of file Acl.cc.

Referenced by aclIsProxyAuth().

◆ lineOptions()

◆ match()

int ACLARP::match ( ACLChecklist checklist)
overridevirtual

Implements ACL.

Definition at line 104 of file Arp.cc.

References aclArpData, debugs, Filled(), Ip::Address::isIPv4(), Eui::Eui48::lookup(), and ACLFilledChecklist::src_addr.

◆ matches()

bool ACL::matches ( ACLChecklist checklist) const
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 146 of file Acl.cc.

References AclMatchedName, ACLChecklist::asyncInProgress(), DBG_IMPORTANT, debugs, ACLChecklist::hasAle(), ACLChecklist::hasReply(), ACLChecklist::hasRequest(), ACL::match(), ACL::name, ACL::requiresAle(), ACL::requiresReply(), ACL::requiresRequest(), and ACLChecklist::verifyAle().

Referenced by ACLChecklist::matchAndFinish(), and ACLChecklist::matchChild().

◆ matchForCache()

int ACL::matchForCache ( ACLChecklist checklist)
virtualinherited

Reimplemented in ACLProxyAuth.

Definition at line 349 of file Acl.cc.

References fatal().

Referenced by ACL::cacheMatchAcl().

◆ MEMPROXY_CLASS()

ACLARP::MEMPROXY_CLASS ( ACLARP  )
private

◆ operator delete()

void ACL::operator delete ( void *  )
inherited

Definition at line 112 of file Acl.cc.

References fatal().

◆ operator new()

void * ACL::operator new ( size_t  )
inherited

Definition at line 105 of file Acl.cc.

References fatal().

◆ options()

virtual const Acl::Options & ACL::options ( )
inlineprivatevirtualinherited
Returns
(linked) 'global' Options supported by this ACL

Reimplemented in Acl::DestinationDomainCheck, ACLDestinationIP, Acl::AnnotationCheck, Acl::ServerNameCheck, and ACLMaxUserIP.

Definition at line 105 of file Acl.h.

References Acl::NoOptions().

Referenced by ACL::dumpOptions(), and ACL::parseFlags().

◆ parse()

void ACLARP::parse ( )
overridevirtual

Implements ACL.

Definition at line 93 of file Arp.cc.

References aclArpData, aclParseArpData(), and ConfigParser::strtokFile().

◆ ParseAclLine()

◆ parseFlags()

void ACL::parseFlags ( )
inherited

Definition at line 315 of file Acl.cc.

References ACL::lineOptions(), ACL::options(), and Acl::ParseFlags().

◆ prepareForUse()

◆ requiresAle()

bool ACL::requiresAle ( ) const
privatevirtualinherited

Reimplemented in ACLExternal.

Definition at line 409 of file Acl.cc.

Referenced by ACL::matches().

◆ requiresReply()

bool ACL::requiresReply ( ) const
privatevirtualinherited

Reimplemented in Acl::HttpRepHeaderCheck, ACLHTTPStatus, and Acl::ReplyHeaderCheck< header >.

Definition at line 415 of file Acl.cc.

Referenced by ACL::matches().

◆ requiresRequest()

◆ typeString()

char const * ACLARP::typeString ( ) const
overridevirtual

Implements ACL.

Definition at line 29 of file Arp.cc.

References class_.

◆ valid()

bool ACL::valid ( ) const
virtualinherited

Reimplemented in ACLMaxConnection, ACLRandom, Acl::ServerNameCheck, ACLMaxUserIP, ACLProxyAuth, and ACLExternal.

Definition at line 140 of file Acl.cc.

Member Data Documentation

◆ aclArpData

AclArpData_t ACLARP::aclArpData
protected

Definition at line 35 of file Arp.h.

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

◆ cfgline

char* ACL::cfgline
inherited

Definition at line 88 of file Acl.h.

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

◆ class_

char const* ACLARP::class_
protected

Definition at line 33 of file Arp.h.

Referenced by typeString().

◆ name

◆ next

ACL* ACL::next
inherited

Definition at line 89 of file Acl.h.

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

◆ registered

bool ACL::registered
inherited

Definition at line 90 of file Acl.h.

Referenced by aclDeregister(), aclDestroyAcls(), and aclRegister().


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors