Botan 2.19.1
Crypto and TLS for C&
|
#include <tls_session_manager.h>
Public Member Functions | |
bool | load_from_server_info (const Server_Information &info, Session &session) override |
bool | load_from_session_id (const std::vector< uint8_t > &session_id, Session &session) override |
size_t | remove_all () override |
void | remove_entry (const std::vector< uint8_t > &session_id) override |
void | save (const Session &session_data) override |
std::chrono::seconds | session_lifetime () const override |
Session_Manager_In_Memory (RandomNumberGenerator &rng, size_t max_sessions=1000, std::chrono::seconds session_lifetime=std::chrono::seconds(7200)) | |
An implementation of Session_Manager that saves values in memory.
Definition at line 108 of file tls_session_manager.h.
Botan::TLS::Session_Manager_In_Memory::Session_Manager_In_Memory | ( | RandomNumberGenerator & | rng, |
size_t | max_sessions = 1000 , |
||
std::chrono::seconds | session_lifetime = std::chrono::seconds(7200) |
||
) |
rng | a RNG used for generating session key and for session encryption |
max_sessions | a hint on the maximum number of sessions to keep in memory at any one time. (If zero, don't cap) |
session_lifetime | sessions are expired after this many seconds have elapsed from initial handshake. |
Definition at line 17 of file tls_session_manager_memory.cpp.
|
overridevirtual |
Try to load a saved session (using info about server)
info | the information about the server |
session | will be set to the saved session data (if found), or not modified if not found |
Implements Botan::TLS::Session_Manager.
Definition at line 66 of file tls_session_manager_memory.cpp.
|
overridevirtual |
Try to load a saved session (using session ID)
session_id | the session identifier we are trying to resume |
session | will be set to the saved session data (if found), or not modified if not found |
Implements Botan::TLS::Session_Manager.
Definition at line 58 of file tls_session_manager_memory.cpp.
References Botan::hex_encode().
|
overridevirtual |
Remove all sessions from the cache, return number of sessions deleted
Implements Botan::TLS::Session_Manager.
Definition at line 99 of file tls_session_manager_memory.cpp.
References Botan::RandomNumberGenerator::random_vec().
|
overridevirtual |
Remove this session id from the cache, if it exists
Implements Botan::TLS::Session_Manager.
Definition at line 88 of file tls_session_manager_memory.cpp.
References Botan::hex_encode().
|
overridevirtual |
Save a session on a best effort basis; the manager may not in fact be able to save the session for whatever reason; this is not an error. Caller cannot assume that calling save followed immediately by load_from_* will result in a successful lookup.
session | to save |
Implements Botan::TLS::Session_Manager.
Definition at line 108 of file tls_session_manager_memory.cpp.
References Botan::TLS::CLIENT, Botan::TLS::Server_Information::empty(), Botan::TLS::Session::encrypt(), Botan::hex_encode(), Botan::TLS::Session::server_info(), Botan::TLS::Session::session_id(), and Botan::TLS::Session::side().
|
inlineoverridevirtual |
Return the allowed lifetime of a session; beyond this time, sessions are not resumed. Returns 0 if unknown/no explicit expiration policy.
Implements Botan::TLS::Session_Manager.
Definition at line 136 of file tls_session_manager.h.