Classes | |
class | AdaptationServiceCheck |
an "adaptation_service" ACL More... | |
class | Address |
list of address-based ACLs. More... | |
class | AllOf |
class | AndNode |
class | AnnotateClientCheck |
an "annotate_client" ACL More... | |
class | AnnotateTransactionCheck |
an "annotate_transaction" ACL More... | |
class | AnnotationCheck |
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 | AtStepCheck |
an "at_step" ACL More... | |
class | CertificateErrorCheck |
an "ssl_error" ACL 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 | ClientCertificateCheck |
a "user_cert" or "ca_cert" ACL More... | |
class | ConnectionsEncrypted |
class | ConnMark |
class | CurrentTimeCheck |
a "time" ACL More... | |
class | DestinationAsnCheck |
a "dst_as" ACL More... | |
class | DestinationDomainCheck |
a "dstdomain" or "dstdom_regex" ACL More... | |
class | FinalizedParameterizedNode |
class | HasComponentCheck |
a "has" ACL More... | |
class | HierCodeCheck |
a "hier_code" ACL More... | |
class | HttpRepHeaderCheck |
a "rep_header" ACL More... | |
class | HttpReqHeaderCheck |
a "req_header" ACL More... | |
class | InnerNode |
An intermediate ACL tree node. Manages a collection of child tree nodes. More... | |
class | LocalPortCheck |
a "localport" ACL More... | |
class | MethodCheck |
a "method" ACL More... | |
class | MyPortNameCheck |
a "myportname" ACL More... | |
class | NoteCheck |
a "note" ACL 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 | ParameterizedNode |
class | PeerNameCheck |
a "peername" or "peername_regex" ACL More... | |
class | ProtocolCheck |
a "proto" ACL More... | |
class | ReplyHeaderCheck |
matches the value of a given reply header (e.g., "rep_mime_type" ACL) More... | |
class | RequestHeaderCheck |
matches the value of a given request header (e.g., "browser" or "referer_regex") More... | |
class | ServerCertificateCheck |
a "server_cert_fingerprint" ACL More... | |
class | ServerNameCheck |
an "ssl::server_name" or "ssl::server_name_regex" ACL More... | |
class | SnmpCommunityCheck |
an "snmp_community" ACL More... | |
class | SourceAsnCheck |
a "src_as" ACL More... | |
class | SourceDomainCheck |
a "srcdomain" or "srcdom_regex" ACL More... | |
class | SquidErrorCheck |
a "squid_error" ACL More... | |
class | TagCheck |
a "tag" ACL More... | |
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... | |
class | UrlCheck |
a "url_regex" ACL More... | |
class | UrlLoginCheck |
a "urllogin" ACL More... | |
class | UrlPathCheck |
a "urlpath_regex" ACL More... | |
class | UrlPortCheck |
a "port" ACL 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 | SetKey (SBuf &keyStorage, const char *keyParameterName, const char *newKey) |
std::ostream & | operator<< (std::ostream &o, const Answer a) |
void | Init (void) |
prepares to parse ACLs configuration More... | |
void | ParseFlags (const Options &options) |
const Options & | NoOptions () |
const BooleanOption & | CaseSensitivityOption () |
std::ostream & | operator<< (std::ostream &, const Option &) |
std::ostream & | operator<< (std::ostream &, const Options &) |
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 191 of file AclRegs.cc.
References Ssl::GetX509CAAttribute, Ssl::GetX509Fingerprint, Ssl::GetX509UserAttribute, Acl::FinalizedParameterizedNode< Parent >::PreferAllocatorLabelPrefix(), 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< M >::lineOptions(), and ACL::options().
◆ operator<<() [1/3]
std::ostream & Acl::operator<< | ( | std::ostream & | os, |
const Option & | option | ||
) |
Definition at line 247 of file Options.cc.
References Acl::Option::print().
◆ operator<<() [2/3]
std::ostream & Acl::operator<< | ( | std::ostream & | os, |
const Options & | options | ||
) |
Definition at line 254 of file Options.cc.
◆ operator<<() [3/3]
|
inline |
Definition at line 176 of file Acl.h.
References ACCESS_ALLOWED, ACCESS_AUTH_REQUIRED, ACCESS_DENIED, and ACCESS_DUNNO.
◆ 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 MyTestProgram::startup().
◆ SetKey()
void Acl::SetKey | ( | SBuf & | keyStorage, |
const char * | keyParameterName, | ||
const char * | newKey | ||
) |
Validate and store the ACL key parameter for ACL types declared using "acl aclname type key argument..." declaration that require unique key values (if any) for each aclname+type combination. Key comparison is case-insensitive.
Definition at line 79 of file Acl.cc.
References AclMatchedName, SBuf::caseCmp(), Debug::Extra(), Here, SBuf::isEmpty(), and ToSBuf().
Referenced by ACLCertificateData::parse(), ACLHTTPHeaderData::parse(), and ACLNoteData::parse().
◆ TheMakers()
|
static |
Definition at line 44 of file Acl.cc.
Referenced by Make(), and RegisterMaker().