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, TypeNameCmp > | Makers |
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< CharacterSet > | CharacterSetOptionValue |
typedef std::vector< ACL * > | Nodes |
a collection of nodes More... | |
typedef OptionValue< bool > | BooleanOptionValue |
typedef OptionValue< SBuf > | TextOptionValue |
typedef TypedOption< BooleanOptionValue > | BooleanOption |
typedef TypedOption< TextOptionValue > | TextOption |
using | Options = std::vector< const Option * > |
Functions | |
static Makers & | TheMakers () |
registered ACL Makers More... | |
static ACL * | Make (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 Options & | NoOptions () |
const BooleanOption & | CaseSensitivityOption () |
const char * | AllowOrDeny (const Answer &action) |
Detailed Description
ACL check answer
Typedef Documentation
◆ BooleanOption
◆ BooleanOptionValue
typedef OptionValue<bool> Acl::BooleanOptionValue |
◆ CharacterSetOptionValue
Definition at line 18 of file CharacterSetOption.h.
◆ Maker
◆ Makers
typedef std::map<TypeName, Maker, TypeNameCmp> Acl::Makers |
◆ Nodes
typedef std::vector<ACL*> Acl::Nodes |
Definition at line 18 of file InnerNode.h.
◆ Options
using Acl::Options = typedef std::vector<const Option *> |
◆ TextOption
typedef TypedOption<TextOptionValue> Acl::TextOption |
◆ TextOptionValue
typedef OptionValue<SBuf> Acl::TextOptionValue |
◆ TypeName
typedef const char* Acl::TypeName |
Function Documentation
◆ AllowOrDeny()
|
inline |
Definition at line 53 of file Tree.h.
References action().
Referenced by Security::KeyLog::dump(), dump_acl_access(), dump_ftp_epsv(), and dump_http_upgrade_request_protocols().
◆ 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()
void Acl::Init | ( | void | ) |
Definition at line 114 of file AclRegs.cc.
References Ssl::GetX509CAAttribute, Ssl::GetX509Fingerprint, Ssl::GetX509UserAttribute, and RegisterMaker().
Referenced by Rock::SwapDirRr::create(), AnyP::UriScheme::FindProtocolType(), Ipc::MemMap::Init(), Ssl::Helper::Reconfigure(), Ssl::CertValidationHelper::Reconfigure(), and SquidMain().
◆ Make()
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< X509 * >::lineOptions(), ACL::options(), and ACLStrategy< X509 * >::options().
◆ ParseFlags()
void Acl::ParseFlags | ( | const Options & | options | ) |
parses the flags part of the being-parsed ACL, filling Option values
- Parameters
-
options options 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()
Definition at line 71 of file Acl.cc.
References assert, and TheMakers().
Referenced by Init(), and testACLMaxUserIP::setUp().
◆ TheMakers()
|
static |
Definition at line 44 of file Acl.cc.
Referenced by Make(), and RegisterMaker().