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