LIBRESSL-SSL_CTX_SESS_SET_CACHE_SIZE(3)

πŸ“¦ version 4.4.0, in alpine 3.24, arch rolling

okay so this is the SSL_CTX_SESS_SET_CACHE_S(3) page from the Library Functions Manual, and it's literally your group chat for wrangling session cache size πŸ’…βœ¨

πŸŽ€ NAME πŸŽ€

SSL_CTX_sess_set_cache_size, SSL_CTX_sess_get_cache_size β€” manipulate session cache size

✨ SYNOPSIS ✨

library β€œlibssl” libcrypto #include <openssl/ssl.h>

long
SSL_CTX_sess_set_cache_size(SSL_CTX *ctx, long t);

long
SSL_CTX_sess_get_cache_size(SSL_CTX *ctx);

🌸 DESCRIPTION 🌸

okay bestie, here's the tea β˜•: SSL_CTX_sess_set_cache_size() sets the size of the internal session cache of context ctx to t. that's the whole assignment, slay πŸ’–

SSL_CTX_sess_get_cache_size() returns the currently valid session cache size β€” like, β€œhey, how big is the cache rn?” energy πŸ¦‹

the internal session cache size is SSL_SESSION_CACHE_MAX_SIZE_DEFAULT, currently 1024Γ—20, so that up to 20000 sessions can be held. iconic capacity, no cap πŸ‘‘

you can modify this size using the SSL_CTX_sess_set_cache_size() call. a special case is the size 0, which is used for unlimited size. zero means unlimited here, so don't come for me about math class πŸ’€

if adding the session makes the cache exceed its size, then unused sessions are dropped from the end of the cache. cache space may also be reclaimed by calling SSL_CTX_flush_sessions(3) to remove expired sessions. spring cleaning, but make it TLS 🧹✨

if the size of the session cache is reduced and more sessions are already in the session cache, old session will be removed the next time a session shall be added. this removal is not synchronized with the expiration of sessions. so yeah, it's giving β€œcleanup happens on the next add,” not β€œinstant cleanup,” and it is not synchronized with the expiration of sessions β€” lowkey important, don't forget it 🫢

πŸ’œ RETURN VALUES πŸ’œ

  • SSL_CTX_sess_set_cache_size() returns the previously valid size.
  • SSL_CTX_sess_get_cache_size() returns the currently valid size.

πŸ¦‹ SEE ALSO πŸ¦‹

ssl(3), SSL_CTX_ctrl(3), SSL_CTX_flush_sessions(3), SSL_CTX_sess_number(3), SSL_CTX_set_session_cache_mode(3)

🌈 HISTORY 🌈

SSL_CTX_sess_set_cache_size() and SSL_CTX_sess_get_cache_size() first appeared in SSLeay 0.9.0 and have been available since OpenBSD 2.4. vintage behavior, honestly πŸ‘‘


kisses and cache hugs πŸŽ€ this page is from Debian, dated June 8, 2025, and the footer tag is SSL_CTX_SESS_SET_CACHE_SIZE(3) πŸ’–

πŸ“¦ where this page comes from