From 25959e04c350c2b82d545ea38b18ff714acf61ba Mon Sep 17 00:00:00 2001 From: Todd Short Date: Fri, 5 Apr 2019 14:17:22 -0400 Subject: Optimize session cache flushing Sort SSL_SESSION structures by timeout in the linked list. Iterate over the linked list for timeout, stopping when no more session can be flushed. Do SSL_SESSION_free() outside of SSL_CTX lock Update timeout upon use Reviewed-by: Matt Caswell Reviewed-by: Paul Dale (Merged from https://github.com/openssl/openssl/pull/8687) --- include/openssl/ssl.h.in | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/openssl/ssl.h.in b/include/openssl/ssl.h.in index 2c34fd2a9a..9c00eb3d13 100644 --- a/include/openssl/ssl.h.in +++ b/include/openssl/ssl.h.in @@ -670,6 +670,7 @@ typedef int (*GEN_SESSION_CB) (SSL *ssl, unsigned char *id, # define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200 # define SSL_SESS_CACHE_NO_INTERNAL \ (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE) +# define SSL_SESS_CACHE_UPDATE_TIME 0x0400 LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx); # define SSL_CTX_sess_number(ctx) \ -- cgit v1.2.1