9#ifndef SQUID_SRC_ACL_ACL_H
10#define SQUID_SRC_ACL_ACL_H
34void SetKey(
SBuf &keyStorage,
const char *keyParameterName,
const char *newKey);
67 return !(*
this == aCode);
122 o <<
"AUTH_REQUIRED";
129void DumpNamedAcls(std::ostream &,
const char *directiveName, NamedAcls *);
int kind
the matched custom access list verb (or zero)
const SBuf & lastCheckDescription() const
describes the ACL that was evaluated last while obtaining this answer (for debugging)
bool operator!=(const aclMatchCode aCode) const
bool conflicted() const
whether Squid is uncertain about the allowed() or denied() answer
aclMatchCode code
ACCESS_* code.
bool operator==(const aclMatchCode aCode) const
Answer(const aclMatchCode aCode, int aKind=0)
bool implicit
whether we were computed by the "negate the last explicit action" rule
std::optional< SBuf > lastCheckedName
the name of the ACL (if any) that was evaluated last while obtaining this answer
acl_proxy_auth_match_cache(int matchRv, void *aclData)
MEMPROXY_CLASS(acl_proxy_auth_match_cache)
void RegisterMaker(TypeName typeName, Maker maker)
use the given Acl::Node Maker for all ACLs of the named type
void DumpNamedAcls(std::ostream &, const char *directiveName, NamedAcls *)
report the given list of "acl" directives (using squid.conf syntax)
Node *(*)(TypeName typeName) Maker
a "factory" function for making Acl::Node objects (of some Node child type)
const char * TypeName
the ACL type name known to admins
void SetKey(SBuf &keyStorage, const char *keyParameterName, const char *newKey)
std::ostream & operator<<(std::ostream &o, const Answer &a)
void FreeNamedAcls(NamedAcls **)
delete the given list of "acl" directives