#include <AclProxyAuth.h>


| Public Types | |
| using | Pointer = RefCount< Node > | 
| Public Member Functions | |
| ~ACLProxyAuth () override | |
| ACLProxyAuth (ACLData< char const * > *, char const *) | |
| const char * | typeString () const override | 
| void | parse () override | 
| parses node representation in squid.conf; dies on failures  More... | |
| bool | isProxyAuth () const override | 
| int | match (ACLChecklist *checklist) override | 
| Matches the actual data in checklist against this Acl::Node.  More... | |
| SBufList | dump () const override | 
| bool | valid () const override | 
| bool | empty () const override | 
| bool | requiresRequest () const override | 
| whether our (i.e. shallow) match() requires checklist to have a request  More... | |
| int | matchForCache (ACLChecklist *checklist) override | 
| void * | operator new (size_t) | 
| void | operator delete (void *) | 
| void | context (const SBuf &aName, const char *configuration) | 
| sets user-specified ACL name and squid.conf context  More... | |
| bool | matches (ACLChecklist *checklist) const | 
| void | parseFlags () | 
| configures Acl::Node options, throwing on configuration errors  More... | |
| int | cacheMatchAcl (dlink_list *cache, ACLChecklist *) | 
| virtual void | prepareForUse () | 
| void | dumpWhole (const char *directiveName, std::ostream &) | 
| Static Public Member Functions | |
| static void | StartLookup (ACLFilledChecklist &, const Acl::Node &) | 
| static void | ParseNamedAcl (ConfigParser &, NamedAcls *&) | 
| parses acl directive parts that follow directive name (i.e. "acl")  More... | |
| static void | Initialize () | 
| static Acl::Node * | FindByName (const SBuf &) | 
| A configured ACL with a given name or nil.  More... | |
| Public Attributes | |
| SBuf | name | 
| char * | cfgline = nullptr | 
| Private Member Functions | |
| MEMPROXY_CLASS (ACLProxyAuth) | |
| const Acl::Options & | lineOptions () override | 
| int | matchProxyAuth (ACLChecklist *) | 
| virtual bool | requiresAle () const | 
| whether our (i.e. shallow) match() requires checklist to have a AccessLogEntry  More... | |
| virtual bool | requiresReply () const | 
| whether our (i.e. shallow) match() requires checklist to have a reply  More... | |
| virtual const Acl::Options & | options () | 
| Static Private Member Functions | |
| static void | LookupDone (void *data) | 
| static void | ParseNamed (ConfigParser &, NamedAcls &, const SBuf &name) | 
| parses acl directive parts that follow aclname  More... | |
| Private Attributes | |
| ACLData< char const * > * | data | 
| const char * | type_ | 
Detailed Description
Definition at line 18 of file AclProxyAuth.h.
Member Typedef Documentation
◆ Pointer
| 
 | inherited | 
Constructor & Destructor Documentation
◆ ~ACLProxyAuth()
| 
 | override | 
Definition at line 24 of file AclProxyAuth.cc.
References data.
◆ ACLProxyAuth()
| ACLProxyAuth::ACLProxyAuth | ( | ACLData< char const * > * | newData, | 
| char const * | theType | ||
| ) | 
Definition at line 29 of file AclProxyAuth.cc.
Member Function Documentation
◆ cacheMatchAcl()
| 
 | inherited | 
Definition at line 401 of file Acl.cc.
References acl_proxy_auth_match_cache::acl_data, dlink_node::data, debugs, dlinkAddTail(), dlink_list::head, acl_proxy_auth_match_cache::link, acl_proxy_auth_match_cache::matchrv, and dlink_node::next.
Referenced by matchProxyAuth().
◆ context()
| 
 | inherited | 
Definition at line 220 of file Acl.cc.
References safe_free, and xstrdup.
Referenced by aclParseAccessLine(), aclParseAclList(), Acl::AllOf::parse(), and ParseAclWithAction().
◆ dump()
| 
 | overridevirtual | 
Implements Acl::Node.
Definition at line 78 of file AclProxyAuth.cc.
References data, and ACLData< M >::dump().
◆ dumpWhole()
| 
 | inherited | 
◆ empty()
| 
 | overridevirtual | 
Implements Acl::Node.
Definition at line 84 of file AclProxyAuth.cc.
References data, and ACLData< M >::empty().
◆ FindByName()
Definition at line 159 of file Acl.cc.
References assert, Config, debugs, and SquidConfig::namedAcls.
Referenced by aclIsProxyAuth(), Acl::InnerNode::lineParse(), parse_ftp_epsv(), and TestACLMaxUserIP::testParseLine().
◆ Initialize()
| 
 | staticinherited | 
Definition at line 471 of file Acl.cc.
References Config, debugs, and SquidConfig::namedAcls.
Referenced by serverConnectionsOpen().
◆ isProxyAuth()
| 
 | inlineoverridevirtual | 
Reimplemented from Acl::Node.
Definition at line 31 of file AclProxyAuth.h.
◆ lineOptions()
| 
 | overrideprivatevirtual | 
- Returns
- (linked) "line" Options supported by this Acl::Node
- See also
- Acl::Node::options()
Reimplemented from Acl::Node.
Definition at line 41 of file AclProxyAuth.cc.
References data, and ACLData< M >::lineOptions().
◆ LookupDone()
| 
 | staticprivate | 
Definition at line 117 of file AclProxyAuth.cc.
References ACLFilledChecklist::auth_user_request, ACLFilledChecklist::conn(), data, Filled(), ACLChecklist::resumeNonBlockingCheck(), ConnStateData::setAuth(), and Auth::UserRequest::valid().
Referenced by StartLookup().
◆ match()
| 
 | overridevirtual | 
Implements Acl::Node.
Definition at line 53 of file AclProxyAuth.cc.
References ACCESS_ALLOWED, ACCESS_AUTH_REQUIRED, ACCESS_DENIED, ACCESS_DUNNO, AuthenticateAcl(), ACLChecklist::keepMatching(), ACLChecklist::markFinished(), and matchProxyAuth().
◆ matches()
| 
 | inherited | 
Orchestrates matching checklist against the Acl::Node using match(), after checking preconditions and while providing debugging.
- Returns
- true if and only if there was a successful match. Updates the checklist state on match, async, and failure.
Definition at line 189 of file Acl.cc.
References ACLChecklist::asyncInProgress(), DBG_IMPORTANT, debugs, ACLChecklist::hasAle(), ACLChecklist::hasReply(), ACLChecklist::hasRequest(), ACLChecklist::setLastCheckedName(), and ACLChecklist::verifyAle().
Referenced by ACLChecklist::matchAndFinish().
◆ matchForCache()
| 
 | overridevirtual | 
Reimplemented from Acl::Node.
Definition at line 136 of file AclProxyAuth.cc.
References assert, ACLFilledChecklist::auth_user_request, data, Filled(), ACLData< M >::match(), and Auth::UserRequest::username().
◆ matchProxyAuth()
| 
 | private | 
Definition at line 148 of file AclProxyAuth.cc.
References ACLFilledChecklist::auth_user_request, authenticateUserAuthenticated(), Acl::Node::cacheMatchAcl(), Filled(), HttpRequest::flags, ACLFilledChecklist::request, RequestFlags::sslBumped, and Auth::UserRequest::user().
Referenced by match().
◆ MEMPROXY_CLASS()
| 
 | private | 
◆ operator delete()
| 
 | inherited | 
◆ operator new()
| 
 | inherited | 
◆ options()
| 
 | inlineprivatevirtualinherited | 
- Returns
- (linked) 'global' Options supported by this Acl::Node
Reimplemented in Acl::ServerNameCheck, Acl::DestinationDomainCheck, Acl::AnnotationCheck, ACLMaxUserIP, and ACLDestinationIP.
Definition at line 98 of file Node.h.
References Acl::NoOptions().
◆ parse()
| 
 | overridevirtual | 
Implements Acl::Node.
Definition at line 47 of file AclProxyAuth.cc.
References data, and ACLData< M >::parse().
◆ parseFlags()
| 
 | inherited | 
Definition at line 360 of file Acl.cc.
References Acl::ParseFlags().
◆ ParseNamed()
| 
 | staticprivateinherited | 
Definition at line 253 of file Acl.cc.
References Assure, SBuf::cmp(), config_input_line, DBG_CRITICAL, DBG_IMPORTANT, DBG_PARSE_NOTE, debugs, ConfigParser::destruct(), fatalf(), HttpPortList, Acl::Make(), and ConfigParser::NextToken().
◆ ParseNamedAcl()
| 
 | staticinherited | 
Definition at line 229 of file Acl.cc.
References CallParser(), DBG_CRITICAL, debugs, ConfigParser::destruct(), RefCount< C >::Make(), and ConfigParser::NextToken().
Referenced by parse_acl(), and TestACLMaxUserIP::testParseLine().
◆ prepareForUse()
| 
 | inlinevirtualinherited | 
Reimplemented in Acl::ParameterizedNode< P >, Acl::ParameterizedNode< ACLData< const Security::CertErrors * > >, Acl::ParameterizedNode< ACLData< ACLChecklist * > >, Acl::ParameterizedNode< ACLData< const char * > >, Acl::ParameterizedNode< ACLData< XactionStep > >, Acl::ParameterizedNode< ACLData< AnyP::ProtocolType > >, Acl::ParameterizedNode< ACLData< NotePairs::Entry * > >, Acl::ParameterizedNode< ACLData< HttpRequestMethod > >, Acl::ParameterizedNode< ACLData< int > >, Acl::ParameterizedNode< ACLData< err_type > >, Acl::ParameterizedNode< ACLData< const HttpHeader & > >, Acl::ParameterizedNode< ACLData< X509 * > >, Acl::ParameterizedNode< ACLTimeData >, Acl::ParameterizedNode< ACLData< hier_code > >, Acl::InnerNode, and ACLMaxConnection.
◆ requiresAle()
| 
 | privatevirtualinherited | 
Reimplemented in ACLExternal.
◆ requiresReply()
| 
 | privatevirtualinherited | 
Reimplemented in ACLHTTPStatus, Acl::ReplyHeaderCheck< header >, and Acl::HttpRepHeaderCheck.
◆ requiresRequest()
| 
 | inlineoverridevirtual | 
Reimplemented from Acl::Node.
Definition at line 36 of file AclProxyAuth.h.
◆ StartLookup()
| 
 | static | 
Definition at line 106 of file AclProxyAuth.cc.
References ACLFilledChecklist::al, assert, ACLFilledChecklist::auth_user_request, debugs, RefCount< C >::getRaw(), LookupDone(), ACLFilledChecklist::request, Auth::UserRequest::start(), and Auth::UserRequest::valid().
Referenced by AuthenticateAcl().
◆ typeString()
| 
 | overridevirtual | 
◆ valid()
| 
 | overridevirtual | 
Reimplemented from Acl::Node.
Definition at line 90 of file AclProxyAuth.cc.
References authenticateActiveSchemeCount(), authenticateSchemeCount(), DBG_CRITICAL, and debugs.
Member Data Documentation
◆ cfgline
◆ data
| 
 | private | 
Definition at line 46 of file AclProxyAuth.h.
Referenced by dump(), empty(), lineOptions(), LookupDone(), matchForCache(), parse(), and ~ACLProxyAuth().
◆ name
| 
 | inherited | 
Either aclname parameter from the explicitly configured acl directive or a label generated for an internal ACL tree node. All Node objects corresponding to one Squid configuration have unique names. See also: context() and FindByName().
Definition at line 81 of file Node.h.
Referenced by aclDestroyAccessList(), Acl::AnnotateClientCheck::match(), Acl::AnnotateTransactionCheck::match(), ACLRandom::match(), Acl::SourceDomainCheck::match(), ACLDestinationIP::match(), Acl::NotNode::NotNode(), ACLExternal::parse(), and ACLMaxConnection::prepareForUse().
◆ type_
| 
 | private | 
Definition at line 47 of file AclProxyAuth.h.
Referenced by typeString().
The documentation for this class was generated from the following files:
- src/auth/AclProxyAuth.h
- src/auth/AclProxyAuth.cc
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
