session_ctx
cache_mode = s->session_ctx->internal->session_cache_mode;
cache_mode = s->session_ctx->internal->session_cache_mode;
if (s->session_ctx->internal->remove_session_cb != NULL)
cache_mode = s->session_ctx->internal->session_cache_mode;
(void) SSL_CTX_add_session(s->session_ctx, s->session);
if (do_callback && s->session_ctx->internal->new_session_cb != NULL) {
if (!s->session_ctx->internal->new_session_cb(s, s->session))
connections = s->session_ctx->internal->stats.sess_connect_good;
connections = s->session_ctx->internal->stats.sess_accept_good;
SSL_CTX_flush_sessions(s->session_ctx, time(NULL));
if (s->session_ctx->session_timeout == 0)
ss->timeout = s->session_ctx->session_timeout;
else if (s->session_ctx->internal->generate_session_id)
cb = s->session_ctx->internal->generate_session_id;
if ((s->session_ctx->internal->session_cache_mode &
sess = lh_SSL_SESSION_retrieve(s->session_ctx->internal->sessions, &data);
s->session_ctx->internal->stats.sess_miss++;
if (s->session_ctx->internal->get_session_cb == NULL)
if ((sess = s->session_ctx->internal->get_session_cb(s,
s->session_ctx->internal->stats.sess_cb_hit++;
if (!(s->session_ctx->internal->session_cache_mode &
SSL_CTX_add_session(s->session_ctx, sess);
s->session_ctx->internal->stats.sess_timeout++;
SSL_CTX_remove_session(s->session_ctx, sess);
s->session_ctx->internal->stats.sess_hit++;