Classes

class  Address
 list of address-based ACLs. More...
 
class  AllOf
 
class  AndNode
 
class  AnnotationStrategy
 common parent of several ACLs dealing with transaction annotations More...
 
class  Answer
 
class  AnyOf
 Configurable any-of ACL. Each ACL line is a disjuction of ACLs. More...
 
class  CharacterSetOption
 option value to configure one or more characters (e.g., -m=",;") More...
 
class  ChecklistFiller
 an interface for those capable of configuring an ACLFilledChecklist object More...
 
class  ConnectionsEncrypted
 
class  ConnMark
 
class  InnerNode
 An intermediate ACL tree node. Manages a collection of child tree nodes. More...
 
class  NotNode
 Implements the "not" or "!" operator. More...
 
class  Option
 A single option supported by an ACL: -x[=value] or –name[=value]. More...
 
class  OptionExtractor
 low-level parser that extracts but does not interpret ACL options More...
 
class  OptionsParser
 parses/validates/stores ACL options; skips/preserves parameter flags More...
 
class  OptionValue
 Stores configuration of a typical boolean flag or a single-value Option. More...
 
class  OrNode
 
class  TransactionInitiator
 transaction_initiator ACL More...
 
class  Tree
 
class  TypedOption
 a type-specific Option (e.g., a boolean –toggle or -m=SBuf) More...
 
class  TypeNameCmp
 ACL type name comparison functor. More...
 

Typedefs

typedef std::map< TypeName, Maker, TypeNameCmpMakers
 ACL makers indexed by ACL type name. More...
 
typedef const char * TypeName
 the ACL type name known to admins More...
 
typedef ACL *(* Maker) (TypeName typeName)
 a "factory" function for making ACL objects (of some ACL child type) More...
 
typedef OptionValue< CharacterSetCharacterSetOptionValue
 
typedef std::vector< ACL * > Nodes
 a collection of nodes More...
 
typedef OptionValue< bool > BooleanOptionValue
 
typedef OptionValue< SBufTextOptionValue
 
typedef TypedOption< BooleanOptionValueBooleanOption
 
typedef TypedOption< TextOptionValueTextOption
 
using Options = std::vector< const Option * >
 

Functions

static MakersTheMakers ()
 registered ACL Makers More...
 
static ACLMake (TypeName typeName)
 creates an ACL object of the named (and already registered) ACL child type More...
 
void RegisterMaker (TypeName typeName, Maker maker)
 use the given ACL Maker for all ACLs of the named type More...
 
void Init (void)
 prepares to parse ACLs configuration More...
 
void ParseFlags (const Options &options)
 
const OptionsNoOptions ()
 
const BooleanOptionCaseSensitivityOption ()
 
const char * AllowOrDeny (const Answer &action)
 

Detailed Description

ACL check answer

Typedef Documentation

◆ BooleanOption

Definition at line 202 of file Options.h.

◆ BooleanOptionValue

Definition at line 200 of file Options.h.

◆ CharacterSetOptionValue

◆ Maker

typedef ACL *(* Acl::Maker) (TypeName typeName)

Definition at line 29 of file Acl.h.

◆ Makers

typedef std::map<TypeName, Maker, TypeNameCmp> Acl::Makers

Definition at line 40 of file Acl.cc.

◆ Nodes

Definition at line 18 of file InnerNode.h.

◆ Options

using Acl::Options = typedef std::vector<const Option *>

Definition at line 214 of file Options.h.

◆ TextOption

Definition at line 203 of file Options.h.

◆ TextOptionValue

Definition at line 201 of file Options.h.

◆ TypeName

typedef const char* Acl::TypeName

Definition at line 27 of file Acl.h.

Function Documentation

◆ AllowOrDeny()

const char * Acl::AllowOrDeny ( const Answer action)
inline

◆ CaseSensitivityOption()

const Acl::BooleanOption & Acl::CaseSensitivityOption ( )

A boolean option that controls case-sensitivity (-i/+i). An enabled (-i) state is "case insensitive". A disabled (+i) and default states are "case sensitive".

Definition at line 241 of file Options.cc.

Referenced by ACLRegexData::lineOptions(), and ACLUserData::lineOptions().

◆ Init()

◆ Make()

static ACL * Acl::Make ( TypeName  typeName)
static

Definition at line 53 of file Acl.cc.

References assert, DBG_CRITICAL, debugs, self_destruct(), and TheMakers().

Referenced by ACL::ParseAclLine().

◆ NoOptions()

const Acl::Options & Acl::NoOptions ( )
Returns
an empty Options container

Definition at line 234 of file Options.cc.

Referenced by ACL::lineOptions(), ACLData< M >::lineOptions(), ACL::options(), and ACLStrategy< M >::options().

◆ ParseFlags()

void Acl::ParseFlags ( const Options options)

parses the flags part of the being-parsed ACL, filling Option values

Parameters
optionsoptions supported by the ACL as a whole (e.g., -n)

Definition at line 227 of file Options.cc.

References Acl::OptionsParser::parse().

Referenced by ACL::parseFlags().

◆ RegisterMaker()

void Acl::RegisterMaker ( TypeName  typeName,
Maker  maker 
)

Definition at line 71 of file Acl.cc.

References assert, and TheMakers().

Referenced by Init(), and testACLMaxUserIP::setUp().

◆ TheMakers()

static Makers & Acl::TheMakers ( )
static

Definition at line 44 of file Acl.cc.

Referenced by Make(), and RegisterMaker().

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors