PeekingPeerConnector.cc
Go to the documentation of this file.
55 CallJobHere1(83, 7, CbcPointer<PeekingPeerConnector>(peerConnect), Ssl::PeekingPeerConnector, checkForPeekAndSpliceDone, aclAnswer);
87 ACLFilledChecklist::NonBlockingCheck(std::move(acl_checklist), Ssl::PeekingPeerConnector::cbCheckForPeekAndSpliceDone, this);
99 Must(finalAction == Ssl::bumpSplice || finalAction == Ssl::bumpBump || finalAction == Ssl::bumpTerminate);
232 const auto errDetail = dynamic_cast<Security::ErrorDetail *>(error ? error->detail.getRaw() : nullptr);
296 if ((srvBio->bumpMode() == Ssl::bumpPeek || srvBio->bumpMode() == Ssl::bumpStare) && srvBio->holdWrite()) {
306 Ssl::PeekingPeerConnector::noteNegotiationError(const Security::ErrorDetailPointer &errorDetail)
354 (srvBio->bumpMode() == Ssl::bumpPeek || srvBio->bumpMode() == Ssl::bumpStare) && srvBio->holdWrite()) {
Definition: AsyncJob.h:31
void startTunneling()
Abruptly stops TLS negotiation and starts tunneling.
Definition: PeekingPeerConnector.cc:269
void setClientFeatures(Security::TlsDetails::Pointer const &details, SBuf const &hello)
Sets the random number to use in client SSL HELLO message.
Definition: bio.cc:264
void serverCertificateVerified()
Definition: PeekingPeerConnector.cc:390
virtual bool initialize(Security::SessionPointer &)
Definition: PeerConnector.cc:139
void checkForPeekAndSplice()
Definition: PeekingPeerConnector.cc:68
Definition: Acl.h:53
Definition: bio.h:70
void noteNegotiationDone(ErrorState *error) override
Definition: PeekingPeerConnector.cc:222
void applyTlsDetailsToSSL(SSL *ssl, Security::TlsDetails::Pointer const &details, Ssl::BumpMode bumpMode)
Definition: bio.cc:570
void error(char *format,...)
Security::FuturePeerContext * defaultPeerContext
Definition: SquidConfig.h:506
Ssl::BumpMode checkForPeekAndSpliceGuess() const
Guesses the final bumping decision when no ssl_bump rules match.
Definition: PeekingPeerConnector.cc:127
void handleServerCertificate()
Definition: PeekingPeerConnector.cc:368
Definition: AsyncJob.h:17
@ tlsBump3
A combination of PeerOptions and the corresponding Context.
Definition: PeerOptions.h:154
A PeerConnector for HTTP origin servers. Capable of SslBumping.
Definition: PeekingPeerConnector.h:20
Definition: bio.h:122
struct SquidConfig::@106 ssl_client
CBDATA_NAMESPACED_CLASS_INIT(Ssl, PeekingPeerConnector)
Definition: Config.h:17
static MakingPointer Make(const acl_access *a, HttpRequest *r)
Definition: FilledChecklist.h:49
PeekingPeerConnector(HttpRequestPointer &aRequest, const Comm::ConnectionPointer &aServerConn, const Comm::ConnectionPointer &aClientConn, const AsyncCallback< Security::EncryptorAnswer > &aCallback, const AccessLogEntryPointer &alp, time_t timeout=0)
Definition: PeekingPeerConnector.cc:28
int ssl_ex_index_ssl_peeked_cert
Definition: client_side.h:79
virtual void noteNegotiationError(const Security::ErrorDetailPointer &)
Called when the SSL_connect function aborts with an SSL negotiation error.
Definition: PeerConnector.cc:485
Definition: Xaction.cc:39
static void NonBlockingCheck(MakingPointer &&p, ACLCB *cb, void *data)
Definition: FilledChecklist.h:54
void switchToTunnel(HttpRequest *request, const Comm::ConnectionPointer &clientConn, const Comm::ConnectionPointer &srvConn, const SBuf &preReadServerData)
Definition: tunnel.cc:1540
Security::FuturePeerContext * peerContext() const override
Definition: PeekingPeerConnector.cc:144
Definition: ServerBump.h:33
Definition: ErrorDetail.h:39
int ssl_ex_index_server
void recordInput(bool r)
Enables or disables the input data recording, for internal analysis.
Definition: bio.h:154
void checkForPeekAndSpliceDone(Acl::Answer)
Callback function for ssl_bump acl check in step3 SSL bump step.
Definition: PeekingPeerConnector.cc:59
static void cbCheckForPeekAndSpliceDone(Acl::Answer, void *data)
A wrapper function for checkForPeekAndSpliceDone for use with acl.
Definition: PeekingPeerConnector.cc:51
bool initialize(Security::SessionPointer &) override
Definition: PeekingPeerConnector.cc:150
void checkForPeekAndSpliceMatched(const Ssl::BumpMode finalMode)
Handles the final bumping decision.
Definition: PeekingPeerConnector.cc:91
void noteNegotiationError(const Security::ErrorDetailPointer &) override
Called when the SSL_connect function aborts with an SSL negotiation error.
Definition: PeekingPeerConnector.cc:306
Definition: errorpage.h:88
void noteWantWrite() override
Definition: PeekingPeerConnector.cc:289
void resetWithoutLocking(T *t)
Reset raw pointer - unlock any previous one and save new one without locking.
Definition: LockingPointer.h:106
int ssl_ex_index_ssl_error_detail
CbcPointer< ConnStateData > clientConnectionManager
Definition: HttpRequest.h:232
#define CallJobHere1(debugSection, debugLevel, job, Class, method, arg1)
Definition: AsyncJobCalls.h:64
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