ServerBump.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2022 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9#ifndef _SQUID_SSL_PEEKER_H
10#define _SQUID_SSL_PEEKER_H
11
12#include "base/AsyncJob.h"
13#include "base/CbcPointer.h"
14#include "comm/forward.h"
15#include "HttpRequest.h"
16#include "ip/Address.h"
17#include "security/forward.h"
18#include "Store.h"
19#include "XactionStep.h"
20
21class ConnStateData;
22class store_client;
24
25namespace Ssl
26{
27
29
34{
36
37public:
38 explicit ServerBump(ClientHttpRequest *http, StoreEntry *e = nullptr, Ssl::BumpMode mode = Ssl::bumpServerFirst);
41 const Security::CertErrors *sslErrors() const;
42
44 bool connectedOk() const {return entry && entry->isEmpty();}
45
47 bool at(const BumpStep stp) const { return step == stp; }
48
50 bool at(const BumpStep step1, const BumpStep step2) const { return at(step1) || at(step2); }
51
58 struct {
62 } act;
64
65private:
68};
69
70} // namespace Ssl
71
72#endif
73
XactionStep
Definition: XactionStep.h:12
const Security::CertErrors * sslErrors() const
SSL [certificate validation] errors.
Definition: ServerBump.cc:66
store_client * sc
dummy client to prevent entry trimming
Definition: ServerBump.h:67
CBDATA_CLASS(ServerBump)
StoreEntry * entry
Definition: ServerBump.h:54
ServerBump(ClientHttpRequest *http, StoreEntry *e=nullptr, Ssl::BumpMode mode=Ssl::bumpServerFirst)
Definition: ServerBump.cc:23
bool at(const BumpStep stp) const
whether we are currently performing the given processing step
Definition: ServerBump.h:47
struct Ssl::ServerBump::@127 act
bumping actions at various bumping steps
Ssl::BumpMode step3
The SSL bump mode at step3.
Definition: ServerBump.h:61
Ssl::BumpMode step2
The SSL bump mode at step2.
Definition: ServerBump.h:60
bool at(const BumpStep step1, const BumpStep step2) const
whether we are currently performing one of the given processing steps
Definition: ServerBump.h:50
Ssl::BumpMode step1
The SSL bump mode at step1.
Definition: ServerBump.h:59
Security::SessionPointer serverSession
The TLS session object on server side.
Definition: ServerBump.h:66
Ssl::BumpStep step
The SSL bumping step.
Definition: ServerBump.h:63
void attachServerSession(const Security::SessionPointer &)
Sets the server TLS session object.
Definition: ServerBump.cc:60
HttpRequest::Pointer request
faked, minimal request; required by Client API
Definition: ServerBump.h:53
bool connectedOk() const
whether there was a successful connection to (and peeking at) the origin server
Definition: ServerBump.h:44
Security::CertPointer serverCert
Definition: ServerBump.h:57
bool isEmpty() const
Definition: Store.h:66
BumpMode
Definition: support.h:126
@ bumpServerFirst
Definition: support.h:126
std::shared_ptr< SSL > SessionPointer
Definition: Session.h:49
Definition: Xaction.cc:49

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors