#include <Acl.h>

Collaboration diagram for Acl::Answer:

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 More...
 
const SBuflastCheckDescription () const
 describes the ACL that was evaluated last while obtaining this answer (for debugging) More...
 

Public Attributes

aclMatchCode code = ACCESS_DUNNO
 ACCESS_* code. More...
 
int kind = 0
 the matched custom access list verb (or zero) More...
 
bool implicit = false
 whether we were computed by the "negate the last explicit action" rule More...
 
std::optional< SBuflastCheckedName
 the name of the ACL (if any) that was evaluated last while obtaining this answer More...
 

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(), 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:

 

Introduction

Documentation

Support

Miscellaneous