context_storage.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2017 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_CONTEXT_STORAGE_H
10 #define SQUID_SSL_CONTEXT_STORAGE_H
11 
12 #if USE_OPENSSL
13 
14 #include "base/LruMap.h"
15 #include "CacheManager.h"
16 #include "ip/Address.h"
17 #include "mgr/Action.h"
18 #include "mgr/Command.h"
19 #include "security/forward.h"
20 #include "SquidTime.h"
21 #include "ssl/gadgets.h"
22 
23 #include <list>
24 #include <map>
25 #if HAVE_OPENSSL_SSL_H
26 #include <openssl/ssl.h>
27 #endif
28 
30 #define SSL_CTX_SIZE 1024
31 
32 namespace Ssl
33 {
34 
39 {
40 public:
42  static Pointer Create(const Mgr::Command::Pointer &cmd);
43  virtual void dump (StoreEntry *sentry);
48  virtual bool aggregatable() const { return false; }
49 };
50 
52 
55 {
57 public:
61  void addLocalStorage(Ip::Address const & address, size_t size_of_store);
65  void reconfigureStart();
66 private:
68  void reconfigureFinish();
70  std::map<Ip::Address, size_t> configureStorage;
73  std::map<Ip::Address, LocalContextStorage *> storage;
74 };
75 
78 } //namespace Ssl
79 #endif // USE_OPENSSL
80 
81 #endif // SQUID_SSL_CONTEXT_STORAGE_H
82 
std::map< Ip::Address, size_t > configureStorage
Storage used on configure or reconfigure.
virtual bool aggregatable() const
void reconfigureFinish()
Called by getLocalStorage method.
CertificateStorageAction(const Mgr::Command::Pointer &cmd)
GlobalContextStorage TheGlobalContextStorage
Global cache for store all SSL server certificates.
Class for storing/manipulating LocalContextStorage per local listening address/port.
Definition: LruMap.h:17
void addLocalStorage(Ip::Address const &address, size_t size_of_store)
Create new SSL context storage for the local listening address/port.
void reconfigureStart()
When reconfigring should be called this method.
const CommandPointer cmd
the command that caused this action
Definition: Action.h:86
LruMap< SBuf, Security::ContextPointer, SSL_CTX_SIZE > LocalContextStorage
LocalContextStorage * getLocalStorage(Ip::Address const &address)
Return the local storage for the given listening address/port.
static Pointer Create(const Mgr::Command::Pointer &cmd)
virtual void dump(StoreEntry *sentry)
std::map< Ip::Address, LocalContextStorage * > storage
Map for storing all local ip address and their local storages.

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors