Squid Web Cache master
Loading...
Searching...
No Matches
Acl::Answer Class Reference

#include <Acl.h>

Public Member Functions

 Answer (const aclMatchCode aCode, int aKind=0)
 
 Answer ()=default
 
bool operator== (const aclMatchCode aCode) const
 
bool operator!= (const aclMatchCode aCode) const
 
bool operator== (const Answer &allow) const
 
 operator aclMatchCode () const
 
bool allowed () const
 
bool denied () const
 
bool conflicted () const
 whether Squid is uncertain about the allowed() or denied() answer
 
const SBuf & lastCheckDescription () const
 describes the ACL that was evaluated last while obtaining this answer (for debugging)
 

Public Attributes

aclMatchCode code = ACCESS_DUNNO
 ACCESS_* code.
 
int kind = 0
 the matched custom access list verb (or zero)
 
bool implicit = false
 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
 

Detailed Description

Definition at line 53 of file Acl.h.

Constructor & Destructor Documentation

◆ Answer() [1/2]

Acl::Answer::Answer ( const aclMatchCode  aCode,
int  aKind = 0 
)
inline

Definition at line 58 of file Acl.h.

◆ Answer() [2/2]

Acl::Answer::Answer ( )
default

Member Function Documentation

◆ allowed()

bool Acl::Answer::allowed ( ) const
inline

Whether an "allow" rule matched. If in doubt, use this popular method. Also use this method to treat exceptional ACCESS_DUNNO and ACCESS_AUTH_REQUIRED outcomes as if a "deny" rule matched. See also: denied().

Definition at line 82 of file Acl.h.

References ACCESS_ALLOWED, and code.

Referenced by accessLogLogTo(), aclFindNfMarkConfig(), aclMapTOS(), Acl::AllowOrDeny(), Client::blockCaching(), clientReplyContext::blockedHit(), ConnStateData::buildSslCertGenerationParams(), HttpReply::calcMaxBodySize(), Adaptation::Icap::Launcher::canRepeat(), Ssl::PeekingPeerConnector::checkForPeekAndSpliceDone(), ClientRequestContext::clientAccessCheckDone(), clientFollowXForwardedForCheck(), clientRedirectAccessCheckDone(), clientStoreIdAccessCheckDone(), conflicted(), FwdState::connectStart(), DelayId::DelayClient(), external_acl_entry_expired(), external_acl_grace_expired(), HttpStateData::finishingBrokenPost(), getOutgoingAddress(), HttpRequest::getRangeOffsetLimit(), HttpStateData::handle1xx(), Ftp::Server::handleUploadRequest(), htcpAccessAllowed(), httpHdrAdd(), httpHdrMangle(), httpsSslBumpAccessCheckDone(), httpsSslBumpStep2AccessCheckDone(), ClientHttpRequest::logRequest(), HttpRequest::manager(), external_acl::maybeCacheable(), Adaptation::AccessCheck::noteAnswer(), StoreClient::onCollapsingPath(), peerAllowedToUse(), Http::One::Server::processParsedRequest(), clientReplyContext::processReplyAccessResult(), ConnStateData::proxyProtocolValidateClient(), Ftp::Client::sendPassive(), ConnStateData::serveDelayedError(), Security::KeyLogger::shouldLog(), snmpDecodePacket(), ssl_verify_cb(), and ClientRequestContext::sslBumpAccessCheckDone().

◆ conflicted()

bool Acl::Answer::conflicted ( ) const
inline

Definition at line 91 of file Acl.h.

References allowed(), and denied().

Referenced by clientFollowXForwardedForCheck().

◆ denied()

bool Acl::Answer::denied ( ) const
inline

Whether a "deny" rule matched. Avoid this rarely used method. Use this method (only) to treat exceptional ACCESS_DUNNO and ACCESS_AUTH_REQUIRED outcomes as if an "allow" rule matched. See also: allowed().

Definition at line 88 of file Acl.h.

References ACCESS_DENIED, and code.

Referenced by ClientRequestContext::checkNoCacheDone(), conflicted(), FwdState::Start(), and tunnelStart().

◆ lastCheckDescription()

const SBuf & Acl::Answer::lastCheckDescription ( ) const

◆ operator aclMatchCode()

Acl::Answer::operator aclMatchCode ( ) const
inline

Definition at line 74 of file Acl.h.

References code.

◆ operator!=()

bool Acl::Answer::operator!= ( const aclMatchCode  aCode) const
inline

Definition at line 66 of file Acl.h.

◆ operator==() [1/2]

bool Acl::Answer::operator== ( const aclMatchCode  aCode) const
inline

Definition at line 62 of file Acl.h.

References code.

◆ operator==() [2/2]

bool Acl::Answer::operator== ( const Answer &  allow) const
inline

Definition at line 70 of file Acl.h.

References code, and kind.

Member Data Documentation

◆ code

aclMatchCode Acl::Answer::code = ACCESS_DUNNO

Definition at line 96 of file Acl.h.

Referenced by allowed(), denied(), operator aclMatchCode(), operator==(), and operator==().

◆ implicit

bool Acl::Answer::implicit = false

Definition at line 102 of file Acl.h.

◆ kind

◆ lastCheckedName


The documentation for this class was generated from the following files: