|
|
@@ -682,17 +682,10 @@ static enum ssl_hs_wait_t ssl_lookup_session( |
|
|
|
} |
|
|
|
|
|
|
|
// Fall back to the external cache, if it exists. |
|
|
|
if (!session && (ssl->session_ctx->get_session_cb != nullptr || |
|
|
|
ssl->session_ctx->get_session_cb_legacy != nullptr)) { |
|
|
|
if (!session && ssl->session_ctx->get_session_cb != nullptr) { |
|
|
|
int copy = 1; |
|
|
|
if (ssl->session_ctx->get_session_cb != nullptr) { |
|
|
|
session.reset(ssl->session_ctx->get_session_cb(ssl, session_id, |
|
|
|
session_id_len, ©)); |
|
|
|
} else { |
|
|
|
session.reset(ssl->session_ctx->get_session_cb_legacy( |
|
|
|
ssl, const_cast<uint8_t *>(session_id), session_id_len, ©)); |
|
|
|
} |
|
|
|
|
|
|
|
session.reset(ssl->session_ctx->get_session_cb(ssl, session_id, |
|
|
|
session_id_len, ©)); |
|
|
|
if (!session) { |
|
|
|
return ssl_hs_ok; |
|
|
|
} |
|
|
@@ -1192,12 +1185,6 @@ void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, |
|
|
|
ctx->get_session_cb = cb; |
|
|
|
} |
|
|
|
|
|
|
|
void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, |
|
|
|
SSL_SESSION *(*cb)(SSL *ssl, uint8_t *id, |
|
|
|
int id_len, int *out_copy)) { |
|
|
|
ctx->get_session_cb_legacy = cb; |
|
|
|
} |
|
|
|
|
|
|
|
SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(SSL *ssl, |
|
|
|
const uint8_t *id, |
|
|
|
int id_len, |
|
|
|