Lines Matching refs:ctx

23 static void SSL_SESSION_list_remove(SSL_CTX *ctx, SSL_SESSION *s);
24 static void SSL_SESSION_list_add(SSL_CTX *ctx, SSL_SESSION *s);
25 static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck);
352 if (RAND_bytes_ex(ssl->ctx->libctx, id, *id_len, 0) <= 0)
736 int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c)
751 if (!CRYPTO_THREAD_write_lock(ctx->lock)) {
755 s = lh_SSL_SESSION_insert(ctx->sessions, c);
760 * ctx->sessions), or we're in trouble.
764 SSL_SESSION_list_remove(ctx, s);
774 lh_SSL_SESSION_retrieve(ctx->sessions, c) == NULL) {
785 if (ctx->session_cache_mode & SSL_SESS_CACHE_UPDATE_TIME) {
798 if (SSL_CTX_sess_get_cache_size(ctx) > 0) {
799 while (SSL_CTX_sess_number(ctx) >= SSL_CTX_sess_get_cache_size(ctx)) {
800 if (!remove_session_lock(ctx, ctx->session_cache_tail, 0))
803 ssl_tsan_counter(ctx, &ctx->stats.sess_cache_full);
808 SSL_SESSION_list_add(ctx, c);
819 CRYPTO_THREAD_unlock(ctx->lock);
823 int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c)
825 return remove_session_lock(ctx, c, 1);
828 static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck)
835 if (!CRYPTO_THREAD_write_lock(ctx->lock))
838 if ((r = lh_SSL_SESSION_retrieve(ctx->sessions, c)) != NULL) {
840 r = lh_SSL_SESSION_delete(ctx->sessions, r);
841 SSL_SESSION_list_remove(ctx, r);
846 CRYPTO_THREAD_unlock(ctx->lock);
848 if (ctx->remove_session_cb != NULL)
849 ctx->remove_session_cb(ctx, c);
905 if (s->ctx->method != s->method) {
906 if (!SSL_set_ssl_method(s, s->ctx->method))
1237 static void SSL_SESSION_list_remove(SSL_CTX *ctx, SSL_SESSION *s)
1242 if (s->next == (SSL_SESSION *)&(ctx->session_cache_tail)) {
1244 if (s->prev == (SSL_SESSION *)&(ctx->session_cache_head)) {
1246 ctx->session_cache_head = NULL;
1247 ctx->session_cache_tail = NULL;
1249 ctx->session_cache_tail = s->prev;
1250 s->prev->next = (SSL_SESSION *)&(ctx->session_cache_tail);
1253 if (s->prev == (SSL_SESSION *)&(ctx->session_cache_head)) {
1255 ctx->session_cache_head = s->next;
1256 s->next->prev = (SSL_SESSION *)&(ctx->session_cache_head);
1267 static void SSL_SESSION_list_add(SSL_CTX *ctx, SSL_SESSION *s)
1272 SSL_SESSION_list_remove(ctx, s);
1274 if (ctx->session_cache_head == NULL) {
1275 ctx->session_cache_head = s;
1276 ctx->session_cache_tail = s;
1277 s->prev = (SSL_SESSION *)&(ctx->session_cache_head);
1278 s->next = (SSL_SESSION *)&(ctx->session_cache_tail);
1280 if (timeoutcmp(s, ctx->session_cache_head) >= 0) {
1285 s->next = ctx->session_cache_head;
1287 s->prev = (SSL_SESSION *)&(ctx->session_cache_head);
1288 ctx->session_cache_head = s;
1289 } else if (timeoutcmp(s, ctx->session_cache_tail) < 0) {
1291 s->prev = ctx->session_cache_tail;
1293 s->next = (SSL_SESSION *)&(ctx->session_cache_tail);
1294 ctx->session_cache_tail = s;
1300 next = ctx->session_cache_head->next;
1301 while (next != (SSL_SESSION*)&(ctx->session_cache_tail)) {
1313 s->owner = ctx;
1316 void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx,
1319 ctx->new_session_cb = cb;
1322 int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (SSL *ssl, SSL_SESSION *sess) {
1323 return ctx->new_session_cb;
1326 void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx,
1327 void (*cb) (SSL_CTX *ctx, SSL_SESSION *sess))
1329 ctx->remove_session_cb = cb;
1332 void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (SSL_CTX *ctx,
1334 return ctx->remove_session_cb;
1337 void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx,
1342 ctx->get_session_cb = cb;
1345 SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (SSL *ssl,
1349 return ctx->get_session_cb;
1352 void SSL_CTX_set_info_callback(SSL_CTX *ctx,
1355 ctx->info_callback = cb;
1358 void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type,
1360 return ctx->info_callback;
1363 void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx,
1367 ctx->client_cert_cb = cb;
1370 int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509,
1372 return ctx->client_cert_cb;
1375 void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx,
1380 ctx->app_gen_cookie_cb = cb;
1383 void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx,
1388 ctx->app_verify_cookie_cb = cb;
1415 SSL_CTX *ctx,
1420 ctx->gen_stateless_cookie_cb = cb;
1424 SSL_CTX *ctx,
1429 ctx->verify_stateless_cookie_cb = cb;