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::Node 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 | NamedAcls |
parsed "acl aclname ..." directives indexed by aclname More... | |
class | Node |
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 | ParsingContext |
CodeContext of the being-parsed acl directive. More... | |
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 | ServerNameMatcher |
GeneralNameMatcher for matching configured ACL parameters. 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 | SplayInserter |
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::Node 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::Node makers indexed by Node type name. More... | |
using | TypeName = const char * |
the ACL type name known to admins More... | |
using | Maker = Node *(*)(TypeName typeName) |
a "factory" function for making Acl::Node objects (of some Node child type) More... | |
typedef OptionValue< CharacterSet > | CharacterSetOptionValue |
using | TreePointer = RefCount< Acl::Tree > |
reconfiguration-safe storage of ACL rules More... | |
using | Nodes = std::vector< Node::Pointer > |
operands of a boolean ACL expression, in configuration/evaluation order 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::Node Makers More... | |
static Acl::Node * | Make (TypeName typeName) |
creates an Acl::Node object of the named (and already registered) Node child type More... | |
void | RegisterMaker (TypeName typeName, Maker maker) |
use the given Acl::Node 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 | DumpNamedAcls (std::ostream &, const char *directiveName, NamedAcls *) |
report the given list of "acl" directives (using squid.conf syntax) More... | |
void | FreeNamedAcls (NamedAcls **) |
delete the given list of "acl" directives More... | |
void | Init (void) |
prepares to parse ACLs configuration More... | |
const Tree & | ToTree (const TreePointer *cfg) |
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::Node check answer
Typedef Documentation
◆ BooleanOption
◆ BooleanOptionValue
typedef OptionValue<bool> Acl::BooleanOptionValue |
◆ CharacterSetOptionValue
Definition at line 18 of file CharacterSetOption.h.
◆ Maker
using Acl::Maker = typedef Node *(*)(TypeName typeName) |
◆ Makers
typedef std::map<TypeName, Maker, TypeNameCmp> Acl::Makers |
◆ Nodes
using Acl::Nodes = typedef std::vector<Node::Pointer> |
Definition at line 19 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 |
◆ TreePointer
using Acl::TreePointer = typedef RefCount<Acl::Tree> |
◆ TypeName
using Acl::TypeName = typedef const char * |
Function Documentation
◆ AllowOrDeny()
|
inline |
Definition at line 53 of file Tree.h.
References Acl::Answer::allowed().
Referenced by Security::KeyLog::dump(), dump_acl_access(), dump_ftp_epsv(), dump_http_upgrade_request_protocols(), and Note::printAsNoteDirective().
◆ 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().
◆ DumpNamedAcls()
void Acl::DumpNamedAcls | ( | std::ostream & | os, |
const char * | directiveName, | ||
NamedAcls * | namedAcls | ||
) |
◆ FreeNamedAcls()
void Acl::FreeNamedAcls | ( | NamedAcls ** | namedAcls | ) |
Definition at line 346 of file Acl.cc.
References assert.
Referenced by free_acl(), and TestACLMaxUserIP::testParseLine().
◆ Init()
void Acl::Init | ( | void | ) |
Definition at line 189 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 61 of file Acl.cc.
References assert, debugs, Here, TheMakers(), and ToSBuf().
Referenced by Acl::Node::ParseNamed(), and Mgr::RegisterAction().
◆ NoOptions()
const Acl::Options & Acl::NoOptions | ( | ) |
- Returns
- an empty Options container
Definition at line 234 of file Options.cc.
Referenced by ACLData< X509 * >::lineOptions(), Acl::Node::lineOptions(), and Acl::Node::options().
◆ operator<<() [1/3]
std::ostream & Acl::operator<< | ( | std::ostream & | os, |
const Option & | option | ||
) |
Definition at line 248 of file Options.cc.
References Acl::Option::print().
◆ operator<<() [2/3]
std::ostream & Acl::operator<< | ( | std::ostream & | os, |
const Options & | options | ||
) |
Definition at line 255 of file Options.cc.
◆ operator<<() [3/3]
|
inline |
Definition at line 109 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::Node::parseFlags().
◆ RegisterMaker()
Definition at line 92 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 100 of file Acl.cc.
References SBuf::caseCmp(), Debug::Extra(), Here, SBuf::isEmpty(), and ToSBuf().
Referenced by ACLHTTPHeaderData::parse(), ACLNoteData::parse(), and ACLCertificateData::parse().
◆ TheMakers()
|
static |
Definition at line 52 of file Acl.cc.
Referenced by Make(), and RegisterMaker().
◆ ToTree()
const Acl::Tree & Acl::ToTree | ( | const TreePointer * | cfg | ) |
convenient and safe access to a stored (and parsed/configured) Tree
- Returns
- **cfg or *cfg->getRaw() \prec cfg points to a non-nil TreePointer object; ACL parsing code is written so that ToTree() caller may just check that cfg itself is not nil (because parsing code never stores nil TreePointer objects).
Definition at line 123 of file Gadgets.cc.
References Assure.
Referenced by aclDestroyAccessList(), aclParseAccessLine(), Security::KeyLog::dump(), dump_acl_access(), dump_acl_list(), dump_AuthSchemes(), dump_ftp_epsv(), dump_http_upgrade_request_protocols(), dump_on_unsupported_protocol(), dump_sslproxy_ssl_bump(), and Note::printAsNoteDirective().
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products