TLSSessionManagerSQLite

An implementation of TLSSessionManager that saves values in a SQLite3 database file, with the session data encrypted using a passphrase.

Notes: For clients, the hostnames associated with the saved sessions are stored in the database in plaintext. This may be a serious privacy risk in some situations.

Constructors

this
this(string passphrase, RandomNumberGenerator rng, string db_filename, size_t max_sessions, Duration session_lifetime)

Destructor

~this
~this()
Undocumented in source.

Members

Functions

loadFromServerInfo
bool loadFromServerInfo(TLSServerInformation server, TLSSession session)
Undocumented in source. Be warned that the author may not have intended to support it.
loadFromSessionId
bool loadFromSessionId(Vector!ubyte session_id, TLSSession session)
Undocumented in source. Be warned that the author may not have intended to support it.
removeEntry
void removeEntry(Vector!ubyte session_id)
Undocumented in source. Be warned that the author may not have intended to support it.
save
void save(TLSSession session)
Undocumented in source. Be warned that the author may not have intended to support it.
sessionLifetime
Duration sessionLifetime()
Undocumented in source. Be warned that the author may not have intended to support it.

Inherited Members

From TLSSessionManager

loadFromSessionId
bool loadFromSessionId(Vector!ubyte session_id, TLSSession session)

Try to load a saved session (using session ID)

loadFromServerInfo
bool loadFromServerInfo(TLSServerInformation info, TLSSession session)

Try to load a saved session (using info about server)

removeEntry
void removeEntry(Vector!ubyte session_id)

Remove this session id from the cache, if it exists

save
void save(TLSSession session)

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 loadFrom* will result in a successful lookup.

sessionLifetime
Duration sessionLifetime()

Return the allowed lifetime of a session; beyond this time, sessions are not resumed. Returns 0 if unknown/no explicit expiration policy.

Meta