#include <AclMaxUserIp.h>

Inheritance diagram for ACLMaxUserIP:
Collaboration diagram for ACLMaxUserIP:

Public Member Functions

 ACLMaxUserIP (char const *theClass)
 
char const * typeString () const override
 
const Acl::Optionsoptions () override
 
void parse () override
 parses node representation in squid.conf; dies on failures More...
 
int match (ACLChecklist *cl) override
 Matches the actual data in checklist against this ACL. More...
 
SBufList dump () const override
 
bool empty () const override
 
bool valid () const override
 
bool requiresRequest () const override
 whether our (i.e. shallow) match() requires checklist to have a request More...
 
int getMaximum () const
 
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
 
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

Acl::BooleanOptionValue beStrict
 Enforce "one user, one device" policy? More...
 
char name [ACL_NAME_SZ]
 
char * cfgline
 
ACLnext
 
bool registered
 added to the global list of ACLs via aclRegister() More...
 

Private Member Functions

 MEMPROXY_CLASS (ACLMaxUserIP)
 
int match (Auth::UserRequest::Pointer auth_user_request, Ip::Address const &src_addr)
 
virtual bool requiresAle () const
 whether our (i.e. shallow) match() requires checklist to have a AccessLogEntry More...
 
virtual bool requiresReply () const
 whether our (i.e. shallow) match() requires checklist to have a reply More...
 
virtual const Acl::OptionslineOptions ()
 

Private Attributes

char const * class_
 
int maximum
 

Detailed Description

Definition at line 17 of file AclMaxUserIp.h.

Constructor & Destructor Documentation

◆ ACLMaxUserIP()

ACLMaxUserIP::ACLMaxUserIP ( char const *  theClass)
explicit

Definition at line 21 of file AclMaxUserIp.cc.

Member Function Documentation

◆ cacheMatchAcl()

◆ context()

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

◆ dump()

SBufList ACLMaxUserIP::dump ( ) const
overridevirtual

Implements ACL.

Definition at line 145 of file AclMaxUserIp.cc.

References maximum, and SBuf::Printf().

◆ 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 ACLMaxUserIP::empty ( ) const
overridevirtual

Implements ACL.

Definition at line 33 of file AclMaxUserIp.cc.

◆ FindByName()

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

◆ getMaximum()

int ACLMaxUserIP::getMaximum ( ) const
inline

Definition at line 33 of file AclMaxUserIp.h.

References maximum.

Referenced by TestACLMaxUserIP::testDefaults(), and TestACLMaxUserIP::testParseLine().

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

◆ match() [2/2]

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

ACLMaxUserIP::MEMPROXY_CLASS ( ACLMaxUserIP  )
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()

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

Reimplemented from ACL.

Definition at line 45 of file AclMaxUserIp.cc.

References beStrict, and Acl::TypedOption< Recipient >::linkWith().

◆ parse()

void ACLMaxUserIP::parse ( )
overridevirtual

Implements ACL.

Definition at line 54 of file AclMaxUserIp.cc.

References DBG_IMPORTANT, debugs, maximum, ConfigParser::strtokFile(), and xatoi().

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

bool ACLMaxUserIP::requiresRequest ( ) const
inlineoverridevirtual

Reimplemented from ACL.

Definition at line 31 of file AclMaxUserIp.h.

◆ typeString()

char const * ACLMaxUserIP::typeString ( ) const
overridevirtual

Implements ACL.

Definition at line 27 of file AclMaxUserIp.cc.

References class_.

◆ valid()

bool ACLMaxUserIP::valid ( ) const
overridevirtual

Reimplemented from ACL.

Definition at line 39 of file AclMaxUserIp.cc.

References maximum.

Referenced by TestACLMaxUserIP::testDefaults(), and TestACLMaxUserIP::testParseLine().

Member Data Documentation

◆ beStrict

Acl::BooleanOptionValue ACLMaxUserIP::beStrict

◆ 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* ACLMaxUserIP::class_
private

Definition at line 42 of file AclMaxUserIp.h.

Referenced by typeString().

◆ maximum

int ACLMaxUserIP::maximum
private

Definition at line 43 of file AclMaxUserIp.h.

Referenced by dump(), getMaximum(), match(), parse(), and valid().

◆ 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