#include "squid.h"
#include "anyp/PortCfg.h"
#include "base/RunnersRegistry.h"
#include "CachePeer.h"
#include "debug/Stream.h"
#include "fd.h"
#include "fde.h"
#include "ipc/MemMap.h"
#include "security/Session.h"
#include "SquidConfig.h"
#include "ssl/bio.h"
Go to the source code of this file.
Classes | |
class | SharedSessionCacheRr |
initializes shared memory segments used by MemStore More... | |
Macros | |
#define | SSL_SESSION_ID_SIZE 32 |
#define | SSL_SESSION_MAX_SIZE 10*1024 |
Functions | |
static int | tls_read_method (int fd, char *buf, int len) |
static int | tls_write_method (int fd, const char *buf, int len) |
static bool | CreateSession (const Security::ContextPointer &ctx, const Comm::ConnectionPointer &conn, Security::PeerOptions &opts, Security::Io::Type type, const char *squidCtx) |
static bool | isTlsServer () |
static int | store_session_cb (SSL *, SSL_SESSION *session) |
static void | remove_session_cb (SSL_CTX *, SSL_SESSION *sessionID) |
static SSL_SESSION * | get_session_cb (SSL *, unsigned char *sessionID, int len, int *copy) |
static void | initializeSessionCache () |
DefineRunnerRegistrator (SharedSessionCacheRr) | |
Variables | |
static Ipc::MemMap * | SessionCache = nullptr |
static const char * | SessionCacheName = "tls_session_cache" |
Macro Definition Documentation
◆ SSL_SESSION_ID_SIZE
#define SSL_SESSION_ID_SIZE 32 |
Definition at line 23 of file Session.cc.
◆ SSL_SESSION_MAX_SIZE
#define SSL_SESSION_MAX_SIZE 10*1024 |
Definition at line 24 of file Session.cc.
Function Documentation
◆ CreateSession()
|
static |
Definition at line 102 of file Session.cc.
References Security::Io::BIO_TO_SERVER, conn, Ssl::Bio::Create(), DBG_IMPORTANT, debugs, Security::ErrorString(), fd_note(), fd_table, Comm::IsConnOpen(), Ssl::Bio::Link(), Security::NewSessionObject(), tls_read_method(), tls_write_method(), and Security::PeerOptions::updateSessionOptions().
Referenced by Security::CreateClientSession(), and Security::CreateServerSession().
◆ DefineRunnerRegistrator()
DefineRunnerRegistrator | ( | SharedSessionCacheRr | ) |
◆ get_session_cb()
|
static |
Definition at line 341 of file Session.cc.
References Ipc::MemMap::closeForReading(), debugs, Ipc::MemMap::openForReading(), SessionCache, and squid_curtime.
Referenced by Security::SetSessionCacheCallbacks().
◆ initializeSessionCache()
|
static |
Definition at line 388 of file Session.cc.
References assert, Config, HttpPortList, IamWorkerProcess(), MEMMAP_SLOT_DATA_SIZE, MEMMAP_SLOT_KEY_SIZE, SessionCache, SessionCacheName, SquidConfig::sessionCacheSize, Security::SetSessionCacheCallbacks(), SquidConfig::SSL, SSL_SESSION_ID_SIZE, and SSL_SESSION_MAX_SIZE.
Referenced by SharedSessionCacheRr::useConfig().
◆ isTlsServer()
|
static |
Definition at line 272 of file Session.cc.
References HttpPortList.
Referenced by SharedSessionCacheRr::create(), and SharedSessionCacheRr::useConfig().
◆ remove_session_cb()
|
static |
Definition at line 319 of file Session.cc.
References Ipc::MemMap::closeForReading(), debugs, Ipc::MemMap::free(), Ipc::MemMap::openForReading(), and SessionCache.
Referenced by Security::SetSessionCacheCallbacks().
◆ store_session_cb()
|
static |
Definition at line 286 of file Session.cc.
References assert, Ipc::MemMap::closeForWriting(), Config, debugs, MEMMAP_SLOT_DATA_SIZE, MEMMAP_SLOT_KEY_SIZE, Ipc::MemMap::openForWriting(), SquidConfig::session_ttl, SessionCache, squid_curtime, SquidConfig::SSL, and SSL_SESSION_get_id().
Referenced by Security::SetSessionCacheCallbacks().
◆ tls_read_method()
Definition at line 33 of file Session.cc.
References debugs, fd_table, and VALGRIND_MAKE_MEM_DEFINED.
Referenced by CreateSession().
◆ tls_write_method()
Definition at line 63 of file Session.cc.
References debugs, and fd_table.
Referenced by CreateSession().
Variable Documentation
◆ SessionCache
|
static |
Definition at line 27 of file Session.cc.
Referenced by get_session_cb(), initializeSessionCache(), remove_session_cb(), Security::SetSessionCacheCallbacks(), store_session_cb(), and SharedSessionCacheRr::useConfig().
◆ SessionCacheName
|
static |
Definition at line 28 of file Session.cc.
Referenced by SharedSessionCacheRr::create(), and initializeSessionCache().