#include <FilledChecklist.h>

Inheritance diagram for ACLFilledChecklist:
Collaboration diagram for ACLFilledChecklist:

Public Types

using MakingPointer = std::unique_ptr< ACLFilledChecklist >
 
using AsyncStarter = void(ACLFilledChecklist &, const Acl::Node &)
 a function that initiates asynchronous ACL checks; see goAsync() More...
 

Public Member Functions

 ACLFilledChecklist ()
 
 ACLFilledChecklist (const acl_access *, HttpRequest *)
 
 ~ACLFilledChecklist () override
 
void setRequest (HttpRequest *)
 configure client request-related fields for the first time More...
 
void updateAle (const AccessLogEntry::Pointer &)
 
ConnStateDataconn () const
 The client connection manager. More...
 
int fd () const
 The client side fd. It uses conn() if available. More...
 
void setConn (ConnStateData *)
 set either conn More...
 
void fd (int aDescriptor)
 set the client side FD More...
 
const HttpReplyreply () const
 
void updateReply (const HttpReply::Pointer &)
 
bool destinationDomainChecked () const
 
void markDestinationDomainChecked ()
 
bool sourceDomainChecked () const
 
void markSourceDomainChecked ()
 
bool hasRequest () const override
 
bool hasReply () const override
 
bool hasAle () const override
 
void syncAle (HttpRequest *adaptedRequest, const char *logUri) const override
 assigns uninitialized adapted_request and url ALE components More...
 
void verifyAle () const override
 warns if there are uninitialized ALE components and fills them More...
 
const Acl::AnswerfastCheck ()
 
const Acl::AnswerfastCheck (const ACLList *)
 
bool goAsync (AsyncStarter, const Acl::Node &)
 
bool matchChild (const Acl::InnerNode *parent, Acl::Nodes::const_iterator pos)
 
bool keepMatching () const
 Whether we should continue to match tree nodes or stop/pause. More...
 
bool finished () const
 whether markFinished() was called More...
 
bool asyncInProgress () const
 async call has been started and has not finished (or failed) yet More...
 
void markFinished (const Acl::Answer &newAnswer, const char *reason)
 
const Acl::AnswercurrentAnswer () const
 
bool bannedAction (const Acl::Answer &action) const
 whether the action is banned or not More...
 
void banAction (const Acl::Answer &action)
 add action to the list of banned actions More...
 
void changeAcl (const acl_access *)
 change the current ACL list More...
 
void setLastCheckedName (const SBuf &name)
 remember the name of the last ACL being evaluated More...
 
void resumeNonBlockingCheck ()
 

Static Public Member Functions

static MakingPointer Make (const acl_access *a, HttpRequest *r)
 
static void NonBlockingCheck (MakingPointer &&p, ACLCB *cb, void *data)
 

Public Attributes

Ip::Address src_addr
 
Ip::Address dst_addr
 
Ip::Address my_addr
 
SBuf dst_peer_name
 
char * dst_rdns
 
HttpRequest::Pointer request
 
Auth::UserRequest::Pointer auth_user_request
 
char * snmp_community
 
CbcPointer< Security::CertErrorssslErrors
 
Security::CertPointer serverCert
 
AccessLogEntry::Pointer al
 info for the future access.log, and external ACL More...
 
ExternalACLEntryPointer extacl_entry
 
err_type requestErrorType
 
ACLCBcallback
 
void * callback_data
 

Protected Member Functions

void nonBlockingCheck (ACLCB *callback, void *callback_data)
 

Private Types

enum  NodeMatchingResult {
  nmrMatch,
  nmrMismatch,
  nmrFinished,
  nmrNeedsAsync
}
 possible outcomes when trying to match a single ACL node in a list More...
 
enum  AsyncStage {
  asyncNone,
  asyncStarting,
  asyncRunning,
  asyncFailed
}
 

Private Member Functions

 CBDATA_CLASS_WITH_MAKE (ACLFilledChecklist)
 
 ACLFilledChecklist (const ACLFilledChecklist &)
 not implemented; will cause link failures if used More...
 
ACLFilledChecklistoperator= (const ACLFilledChecklist &)
 not implemented; will cause link failures if used More...
 
void checkCallback (const char *abortReason)
 
void matchAndFinish ()
 performs (or resumes) an ACL tree match and, if successful, sets the action More...
 
Acl::TreePointer swapAcl (const acl_access *)
 change the current ACL list More...
 
void preCheck (const char *what)
 prepare for checking ACLs; called once per check More...
 
bool prepNonBlocking ()
 common parts of nonBlockingCheck() and resumeNonBlockingCheck() More...
 
void completeNonBlocking ()
 
void calcImplicitAnswer ()
 
bool callerGone ()
 

Private Attributes

ConnStateDataconn_
 hack: client-to-Squid connection manager (if any) More...
 
int fd_
 
HttpReply::Pointer reply_
 response added by updateReply() or nil More...
 
bool destinationDomainChecked_
 
bool sourceDomainChecked_
 
Acl::TreePointer accessList
 
bool asyncCaller_
 whether the caller supports async/slow ACLs More...
 
bool occupied_
 whether a check (fast or non-blocking) is in progress More...
 
bool finished_
 
Acl::Answer answer_
 
AsyncStage asyncStage_
 
Breadcrumb matchLoc_
 location of the node running matches() now More...
 
Breadcrumb asyncLoc_
 currentNode_ that called goAsync() More...
 
unsigned asyncLoopDepth_
 how many times the current async state has resumed More...
 
std::stack< BreadcrumbmatchPath
 suspended (due to an async lookup) matches() in the ACL tree More...
 
std::vector< Acl::AnswerbannedActions_
 the list of actions which must ignored during acl checks More...
 
std::optional< SBuflastCheckedName_
 the name of the last evaluated ACL (if any ACLs were evaluated) More...
 

Detailed Description

ACLChecklist filled with specific data, representing Squid and transaction state for access checks along with some data-specific checking methods

Definition at line 33 of file FilledChecklist.h.

Member Typedef Documentation

◆ AsyncStarter

using ACLChecklist::AsyncStarter = void (ACLFilledChecklist &, const Acl::Node &)
inherited

Definition at line 36 of file Checklist.h.

◆ MakingPointer

Unlike regular Foo::Pointer types, this smart pointer is meant for use during checklist configuration only, when it provides exception safety. Any other/long-term checklist storage requires CbcPointer or equivalent.

Definition at line 41 of file FilledChecklist.h.

Member Enumeration Documentation

◆ AsyncStage

enum ACLChecklist::AsyncStage
privateinherited
Enumerator
asyncNone 
asyncStarting 
asyncRunning 
asyncFailed 

Definition at line 204 of file Checklist.h.

◆ NodeMatchingResult

enum ACLChecklist::NodeMatchingResult
privateinherited
Enumerator
nmrMatch 
nmrMismatch 
nmrFinished 
nmrNeedsAsync 

Definition at line 190 of file Checklist.h.

Constructor & Destructor Documentation

◆ ACLFilledChecklist() [1/3]

ACLFilledChecklist::ACLFilledChecklist ( )

Definition at line 27 of file FilledChecklist.cc.

References dst_addr, my_addr, Ip::Address::setEmpty(), and src_addr.

Referenced by Make().

◆ ACLFilledChecklist() [2/3]

ACLFilledChecklist::ACLFilledChecklist ( const acl_access A,
HttpRequest http_request 
)

◆ ~ACLFilledChecklist()

ACLFilledChecklist::~ACLFilledChecklist ( )
override

◆ ACLFilledChecklist() [3/3]

ACLFilledChecklist::ACLFilledChecklist ( const ACLFilledChecklist )
private

Member Function Documentation

◆ asyncInProgress()

◆ banAction()

void ACLChecklist::banAction ( const Acl::Answer action)
inherited

Definition at line 358 of file Checklist.cc.

References ACLChecklist::bannedActions_.

◆ bannedAction()

bool ACLChecklist::bannedAction ( const Acl::Answer action) const
inherited

Definition at line 350 of file Checklist.cc.

References ACLChecklist::bannedActions_, debugs, and Acl::Answer::kind.

Referenced by Acl::Tree::bannedAction().

◆ calcImplicitAnswer()

void ACLChecklist::calcImplicitAnswer ( )
privateinherited

When no rules matched, the answer is the inversion of the last rule action (or ACCESS_DUNNO if the reversal is not possible).

Definition at line 326 of file Checklist.cc.

References ACCESS_ALLOWED, ACCESS_DENIED, ACCESS_DUNNO, ACLChecklist::accessList, debugs, Acl::Tree::lastAction(), and ACLChecklist::markFinished().

Referenced by ACLChecklist::completeNonBlocking(), and ACLChecklist::fastCheck().

◆ callerGone()

bool ACLChecklist::callerGone ( )
privateinherited

Definition at line 344 of file Checklist.cc.

References ACLChecklist::callback_data, and cbdataReferenceValid().

Referenced by ACLChecklist::prepNonBlocking().

◆ CBDATA_CLASS_WITH_MAKE()

ACLFilledChecklist::CBDATA_CLASS_WITH_MAKE ( ACLFilledChecklist  )
private

◆ changeAcl()

void ACLChecklist::changeAcl ( const acl_access replacement)
inherited

◆ checkCallback()

void ACLChecklist::checkCallback ( const char *  abortReason)
privateinherited

Calls non-blocking check callback with the answer and destroys self. If abortReason is provided, sets the final answer to ACCESS_DUNNO.

Definition at line 146 of file Checklist.cc.

References ACCESS_DUNNO, Assure, ACLChecklist::callback, ACLChecklist::callback_data, cbdataReferenceValidDone, ACLChecklist::currentAnswer(), ACLChecklist::finished(), ACLChecklist::markFinished(), and ACLChecklist::occupied_.

Referenced by ACLChecklist::completeNonBlocking(), ACLChecklist::nonBlockingCheck(), and ACLChecklist::prepNonBlocking().

◆ completeNonBlocking()

◆ conn()

◆ currentAnswer()

const Acl::Answer& ACLChecklist::currentAnswer ( ) const
inlineinherited

◆ destinationDomainChecked()

bool ACLFilledChecklist::destinationDomainChecked ( ) const

Definition at line 161 of file FilledChecklist.cc.

References destinationDomainChecked_.

Referenced by markDestinationDomainChecked().

◆ fastCheck() [1/2]

const Acl::Answer & ACLChecklist::fastCheck ( )
inherited

Perform a blocking (immediate) check for a list of allow/deny rules. Each rule comes with a list of ACLs.

The first rule where all ACLs match wins. If there is such a rule, the result becomes that rule keyword (ACCESS_ALLOWED or ACCESS_DENIED).

If there are rules but all ACL lists mismatch, an implicit rule is used Its result is the negation of the keyword of the last seen rule.

Some ACLs may stop the check prematurely by setting an exceptional check result (e.g., ACCESS_AUTH_REQUIRED) instead of declaring a match or mismatch.

Some ACLs may require an async lookup which is prohibited by this method. In this case, the exceptional check result of ACCESS_DUNNO is immediately returned.

If there are no rules to check at all, the result becomes ACCESS_DUNNO.

Definition at line 298 of file Checklist.cc.

References ACLChecklist::accessList, ACLChecklist::asyncCaller_, ACLChecklist::calcImplicitAnswer(), ACLChecklist::currentAnswer(), debugs, ACLChecklist::finished(), ACLChecklist::matchAndFinish(), ACLChecklist::occupied_, and ACLChecklist::preCheck().

Referenced by accessLogLogTo(), aclFindNfMarkConfig(), aclMapTOS(), Client::blockCaching(), clientReplyContext::blockedHit(), ConnStateData::buildSslCertGenerationParams(), HttpReply::calcMaxBodySize(), Adaptation::Icap::Launcher::canRepeat(), FwdState::connectStart(), DelayId::DelayClient(), HttpStateData::finishingBrokenPost(), HttpStateData::forwardUpgrade(), getOutgoingAddress(), HttpRequest::getRangeOffsetLimit(), HttpStateData::handle1xx(), Ftp::Server::handleUploadRequest(), htcpAccessAllowed(), httpHdrAdd(), httpHdrMangle(), icpAccessAllowed(), ClientHttpRequest::logRequest(), HttpRequest::manager(), Note::match(), StoreClient::onCollapsingPath(), peerAllowedToUse(), Http::One::Server::processParsedRequest(), ConnStateData::proxyProtocolValidateClient(), schemesConfig(), Ftp::Client::sendPassive(), Http::Stream::sendStartOfMessage(), ConnStateData::serveDelayedError(), Security::KeyLogger::shouldLog(), snmpDecodePacket(), ssl_verify_cb(), FwdState::Start(), ConnStateData::tunnelOnError(), tunnelStart(), and ConnStateData::whenClientIpKnown().

◆ fastCheck() [2/2]

const Acl::Answer & ACLChecklist::fastCheck ( const ACLList list)
inherited

Perform a blocking (immediate) check whether a list of ACLs matches. This method is meant to be used with squid.conf ACL-driven options that lack allow/deny keywords and are tested one ACL list at a time. Whether the checks for other occurrences of the same option continue after this call is up to the caller and option semantics.

If all ACLs match, the result becomes ACCESS_ALLOWED.

If all ACLs mismatch, the result becomes ACCESS_DENIED.

Some ACLs may stop the check prematurely by setting an exceptional check result (e.g., ACCESS_AUTH_REQUIRED) instead of declaring a match or mismatch.

Some ACLs may require an async lookup which is prohibited by this method. In this case, the exceptional check result of ACCESS_DUNNO is immediately returned.

If there are no ACLs to check at all, the result becomes ACCESS_ALLOWED.

Definition at line 273 of file Checklist.cc.

References ACCESS_DENIED, ACLChecklist::accessList, ACLChecklist::asyncCaller_, ACLChecklist::changeAcl(), ACLChecklist::currentAnswer(), ACLChecklist::finished(), ACLChecklist::markFinished(), ACLChecklist::matchAndFinish(), ACLChecklist::occupied_, ACLChecklist::preCheck(), and ACLChecklist::swapAcl().

◆ fd() [1/2]

int ACLFilledChecklist::fd ( ) const

Definition at line 146 of file FilledChecklist.cc.

References conn(), and fd_.

◆ fd() [2/2]

void ACLFilledChecklist::fd ( int  aDescriptor)

Definition at line 153 of file FilledChecklist.cc.

References assert, conn(), and fd_.

◆ finished()

◆ goAsync()

bool ACLChecklist::goAsync ( AsyncStarter  starter,
const Acl::Node acl 
)
inherited

◆ hasAle()

bool ACLFilledChecklist::hasAle ( ) const
inlineoverridevirtual

Implements ACLChecklist.

Definition at line 92 of file FilledChecklist.h.

References al.

◆ hasReply()

bool ACLFilledChecklist::hasReply ( ) const
inlineoverridevirtual

Implements ACLChecklist.

Definition at line 91 of file FilledChecklist.h.

References reply_.

Referenced by Acl::ConnectionsEncrypted::match(), and verifyAle().

◆ hasRequest()

bool ACLFilledChecklist::hasRequest ( ) const
inlineoverridevirtual

Implements ACLChecklist.

Definition at line 90 of file FilledChecklist.h.

References request.

◆ keepMatching()

◆ Make()

static MakingPointer ACLFilledChecklist::Make ( const acl_access a,
HttpRequest r 
)
inlinestatic

◆ markDestinationDomainChecked()

void ACLFilledChecklist::markDestinationDomainChecked ( )

◆ markFinished()

void ACLChecklist::markFinished ( const Acl::Answer newAnswer,
const char *  reason 
)
inherited

◆ markSourceDomainChecked()

void ACLFilledChecklist::markSourceDomainChecked ( )

Definition at line 180 of file FilledChecklist.cc.

References assert, ACLChecklist::finished(), sourceDomainChecked(), and sourceDomainChecked_.

Referenced by LookupDone().

◆ matchAndFinish()

◆ matchChild()

bool ACLChecklist::matchChild ( const Acl::InnerNode parent,
Acl::Nodes::const_iterator  pos 
)
inherited

◆ nonBlockingCheck()

void ACLChecklist::nonBlockingCheck ( ACLCB callback_,
void *  callback_data_ 
)
protectedinherited

Start a non-blocking (async) check for a list of allow/deny rules. Each rule comes with a list of ACLs.

The callback specified will be called with the result of the check.

The first rule where all ACLs match wins. If there is such a rule, the result becomes that rule keyword (ACCESS_ALLOWED or ACCESS_DENIED).

If there are rules but all ACL lists mismatch, an implicit rule is used. Its result is the negation of the keyword of the last seen rule.

Some ACLs may stop the check prematurely by setting an exceptional check result (e.g., ACCESS_AUTH_REQUIRED) instead of declaring a match or mismatch.

If there are no rules to check at all, the result becomes ACCESS_DUNNO. Calling this method with no rules to check wastes a lot of CPU cycles and will result in a DBG_CRITICAL debugging message.

Kick off a non-blocking (slow) ACL access list test

NP: this should probably be made Async now.

The ACL list should NEVER be NULL when calling this method. Always caller should check for NULL and handle appropriate to its needs first. We cannot select a sensible default for all callers here.

Definition at line 206 of file Checklist.cc.

References ACLChecklist::accessList, ACLChecklist::asyncCaller_, ACLChecklist::asyncInProgress(), ACLChecklist::callback, ACLChecklist::callback_data, cbdataReference, ACLChecklist::checkCallback(), ACLChecklist::completeNonBlocking(), DBG_CRITICAL, debugs, ACLChecklist::matchAndFinish(), ACLChecklist::preCheck(), and ACLChecklist::prepNonBlocking().

◆ NonBlockingCheck()

static void ACLFilledChecklist::NonBlockingCheck ( MakingPointer &&  p,
ACLCB cb,
void *  data 
)
inlinestatic

Start a non-blocking (async) check for a list of allow/deny rules. Each rule comes with a list of ACLs.

The callback specified will be called with the result of the check.

The first rule where all ACLs match wins. If there is such a rule, the result becomes that rule keyword (ACCESS_ALLOWED or ACCESS_DENIED).

If there are rules but all ACL lists mismatch, an implicit rule is used. Its result is the negation of the keyword of the last seen rule.

Some ACLs may stop the check prematurely by setting an exceptional check result (e.g., ACCESS_AUTH_REQUIRED) instead of declaring a match or mismatch.

If there are no rules to check at all, the result becomes ACCESS_DUNNO. Calling this method with no rules to check wastes a lot of CPU cycles and will result in a DBG_CRITICAL debugging message.

Kick off a non-blocking (slow) ACL access list test

NP: this should probably be made Async now. This public nonBlockingCheck() wrapper should be paired with Make(). The pair prevents exception-caused Checklist memory leaks in caller code.

Definition at line 54 of file FilledChecklist.h.

Referenced by Adaptation::AccessCheck::checkCandidates(), Ssl::PeekingPeerConnector::checkForPeekAndSplice(), ClientRequestContext::checkNoCache(), ClientRequestContext::clientAccessCheck(), ClientRequestContext::clientAccessCheck2(), clientFollowXForwardedForCheck(), ClientRequestContext::clientRedirectStart(), ClientRequestContext::clientStoreIdStart(), ConnStateData::postHttpsAccept(), clientReplyContext::processReplyAccess(), PeerSelector::selectMore(), ClientRequestContext::sslBumpAccessCheck(), and ConnStateData::startPeekAndSplice().

◆ operator=()

ACLFilledChecklist& ACLFilledChecklist::operator= ( const ACLFilledChecklist )
private

◆ preCheck()

void ACLChecklist::preCheck ( const char *  what)
privateinherited

Called first (and once) by all checks to initialize their state.

Definition at line 56 of file Checklist.cc.

References assert, ACLChecklist::asyncLoopDepth_, debugs, ACLChecklist::finished_, ACLChecklist::lastCheckedName_, and ACLChecklist::occupied_.

Referenced by ACLChecklist::fastCheck(), and ACLChecklist::nonBlockingCheck().

◆ prepNonBlocking()

bool ACLChecklist::prepNonBlocking ( )
privateinherited

◆ reply()

const HttpReply& ACLFilledChecklist::reply ( ) const
inline

response added by updateReply() \prec hasReply()

Definition at line 78 of file FilledChecklist.h.

References reply_.

Referenced by Acl::ConnectionsEncrypted::match().

◆ resumeNonBlockingCheck()

◆ setConn()

void ACLFilledChecklist::setConn ( ConnStateData aConn)

◆ setLastCheckedName()

void ACLChecklist::setLastCheckedName ( const SBuf name)
inlineinherited

Definition at line 128 of file Checklist.h.

References ACLChecklist::lastCheckedName_.

Referenced by Acl::Node::matches().

◆ setRequest()

◆ sourceDomainChecked()

bool ACLFilledChecklist::sourceDomainChecked ( ) const

Definition at line 174 of file FilledChecklist.cc.

References sourceDomainChecked_.

Referenced by markSourceDomainChecked().

◆ swapAcl()

Acl::TreePointer ACLChecklist::swapAcl ( const acl_access replacement)
privateinherited
Returns
old accessList pointer (that may be nil)

Definition at line 193 of file Checklist.cc.

References ACLChecklist::accessList, and ACLChecklist::changeAcl().

Referenced by ACLChecklist::fastCheck().

◆ syncAle()

◆ updateAle()

void ACLFilledChecklist::updateAle ( const AccessLogEntry::Pointer a)

Remembers the given ALE (if it is not nil) or does nothing (otherwise). When (and only when) remembering ALE, populates other still-unset fields with ALE-derived information, so that the caller does not have to.

Definition at line 242 of file FilledChecklist.cc.

References al, AccessLogEntry::reply, request, AccessLogEntry::request, setRequest(), and updateReply().

Referenced by Client::blockCaching(), clientAclChecklistFill(), HttpStateData::handle1xx(), httpHdrAdd(), httpHdrMangle(), icapLogLog(), ClientHttpRequest::logRequest(), Note::match(), and peerAllowedToUse().

◆ updateReply()

void ACLFilledChecklist::updateReply ( const HttpReply::Pointer r)

◆ verifyAle()

Member Data Documentation

◆ accessList

◆ al

◆ answer_

Acl::Answer ACLChecklist::answer_
privateinherited

Definition at line 202 of file Checklist.h.

Referenced by ACLChecklist::currentAnswer(), and ACLChecklist::markFinished().

◆ asyncCaller_

bool ACLChecklist::asyncCaller_
privateinherited

◆ asyncLoc_

Breadcrumb ACLChecklist::asyncLoc_
privateinherited

Definition at line 207 of file Checklist.h.

Referenced by ACLChecklist::goAsync(), and ACLChecklist::matchChild().

◆ asyncLoopDepth_

unsigned ACLChecklist::asyncLoopDepth_
privateinherited

◆ asyncStage_

AsyncStage ACLChecklist::asyncStage_
privateinherited

◆ auth_user_request

◆ bannedActions_

std::vector<Acl::Answer> ACLChecklist::bannedActions_
privateinherited

Definition at line 215 of file Checklist.h.

Referenced by ACLChecklist::banAction(), and ACLChecklist::bannedAction().

◆ callback

ACLCB* ACLChecklist::callback
inherited

Definition at line 168 of file Checklist.h.

Referenced by ACLChecklist::checkCallback(), and ACLChecklist::nonBlockingCheck().

◆ callback_data

void* ACLChecklist::callback_data
inherited

◆ conn_

ConnStateData* ACLFilledChecklist::conn_
private

Definition at line 131 of file FilledChecklist.h.

Referenced by conn(), setConn(), and ~ACLFilledChecklist().

◆ destinationDomainChecked_

bool ACLFilledChecklist::destinationDomainChecked_
private

Definition at line 136 of file FilledChecklist.h.

Referenced by destinationDomainChecked(), and markDestinationDomainChecked().

◆ dst_addr

◆ dst_peer_name

SBuf ACLFilledChecklist::dst_peer_name

◆ dst_rdns

char* ACLFilledChecklist::dst_rdns

Definition at line 101 of file FilledChecklist.h.

Referenced by ~ACLFilledChecklist().

◆ extacl_entry

ExternalACLEntryPointer ACLFilledChecklist::extacl_entry

Definition at line 126 of file FilledChecklist.h.

Referenced by ACLExternal::aclMatchExternal(), and ACLExternal::LookupDone().

◆ fd_

int ACLFilledChecklist::fd_
private

may be available when conn_ is not

Definition at line 132 of file FilledChecklist.h.

Referenced by fd().

◆ finished_

bool ACLChecklist::finished_
privateinherited

◆ lastCheckedName_

std::optional<SBuf> ACLChecklist::lastCheckedName_
privateinherited

◆ matchLoc_

Breadcrumb ACLChecklist::matchLoc_
privateinherited

Definition at line 206 of file Checklist.h.

Referenced by ACLChecklist::goAsync(), and ACLChecklist::matchChild().

◆ matchPath

std::stack<Breadcrumb> ACLChecklist::matchPath
privateinherited

◆ my_addr

◆ occupied_

bool ACLChecklist::occupied_
privateinherited

◆ reply_

HttpReply::Pointer ACLFilledChecklist::reply_
private

Definition at line 134 of file FilledChecklist.h.

Referenced by hasReply(), reply(), updateReply(), and verifyAle().

◆ request

◆ requestErrorType

err_type ACLFilledChecklist::requestErrorType

Definition at line 128 of file FilledChecklist.h.

Referenced by ConnStateData::tunnelOnError().

◆ serverCert

Security::CertPointer ACLFilledChecklist::serverCert

Peer certificate being checked by ssl_verify_cb() and by Security::PeerConnector class. In other contexts, the peer certificate is retrieved via ALE or ConnStateData::serverBump.

Definition at line 122 of file FilledChecklist.h.

Referenced by Security::PeerConnector::fillChecklist(), and ssl_verify_cb().

◆ snmp_community

char* ACLFilledChecklist::snmp_community

Definition at line 109 of file FilledChecklist.h.

Referenced by snmpDecodePacket().

◆ sourceDomainChecked_

bool ACLFilledChecklist::sourceDomainChecked_
private

Definition at line 137 of file FilledChecklist.h.

Referenced by markSourceDomainChecked(), and sourceDomainChecked().

◆ src_addr

◆ sslErrors

CbcPointer<Security::CertErrors> ACLFilledChecklist::sslErrors

TLS server [certificate validation] errors, in undefined order. The errors are accumulated as Squid goes through validation steps and server certificates. They are cleared on connection retries. For sslproxy_cert_error checks, contains just the current/last error.

Definition at line 117 of file FilledChecklist.h.

Referenced by ConnStateData::fillConnectionLevelDetails(), ConnStateData::serveDelayedError(), and ssl_verify_cb().


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

 

Introduction

Documentation

Support

Miscellaneous