Lines Matching refs:ctx
24 static void SSL_SESSION_list_remove(SSL_CTX *ctx, SSL_SESSION *s);
25 static void SSL_SESSION_list_add(SSL_CTX *ctx, SSL_SESSION *s);
26 static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck);
328 if (RAND_bytes_ex(ssl->ctx->libctx, id, *id_len, 0) <= 0) in def_generate_session_id()
726 int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c) in SSL_CTX_add_session() argument
742 if (!CRYPTO_THREAD_write_lock(ctx->lock)) { in SSL_CTX_add_session()
746 s = lh_SSL_SESSION_insert(ctx->sessions, c); in SSL_CTX_add_session()
755 SSL_SESSION_list_remove(ctx, s); in SSL_CTX_add_session()
765 lh_SSL_SESSION_retrieve(ctx->sessions, c) == NULL) { in SSL_CTX_add_session()
776 if (ctx->session_cache_mode & SSL_SESS_CACHE_UPDATE_TIME) { in SSL_CTX_add_session()
789 if (SSL_CTX_sess_get_cache_size(ctx) > 0) { in SSL_CTX_add_session()
790 while (SSL_CTX_sess_number(ctx) >= SSL_CTX_sess_get_cache_size(ctx)) { in SSL_CTX_add_session()
791 if (!remove_session_lock(ctx, ctx->session_cache_tail, 0)) in SSL_CTX_add_session()
794 ssl_tsan_counter(ctx, &ctx->stats.sess_cache_full); in SSL_CTX_add_session()
799 SSL_SESSION_list_add(ctx, c); in SSL_CTX_add_session()
810 CRYPTO_THREAD_unlock(ctx->lock); in SSL_CTX_add_session()
814 int SSL_CTX_remove_session(SSL_CTX *ctx, SSL_SESSION *c) in SSL_CTX_remove_session() argument
816 return remove_session_lock(ctx, c, 1); in SSL_CTX_remove_session()
819 static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *c, int lck) in remove_session_lock() argument
826 if (!CRYPTO_THREAD_write_lock(ctx->lock)) in remove_session_lock()
829 if ((r = lh_SSL_SESSION_retrieve(ctx->sessions, c)) != NULL) { in remove_session_lock()
831 r = lh_SSL_SESSION_delete(ctx->sessions, r); in remove_session_lock()
832 SSL_SESSION_list_remove(ctx, r); in remove_session_lock()
837 CRYPTO_THREAD_unlock(ctx->lock); in remove_session_lock()
839 if (ctx->remove_session_cb != NULL) in remove_session_lock()
840 ctx->remove_session_cb(ctx, c); in remove_session_lock()
1277 static void SSL_SESSION_list_remove(SSL_CTX *ctx, SSL_SESSION *s) in SSL_SESSION_list_remove() argument
1282 if (s->next == (SSL_SESSION *)&(ctx->session_cache_tail)) { in SSL_SESSION_list_remove()
1284 if (s->prev == (SSL_SESSION *)&(ctx->session_cache_head)) { in SSL_SESSION_list_remove()
1286 ctx->session_cache_head = NULL; in SSL_SESSION_list_remove()
1287 ctx->session_cache_tail = NULL; in SSL_SESSION_list_remove()
1289 ctx->session_cache_tail = s->prev; in SSL_SESSION_list_remove()
1290 s->prev->next = (SSL_SESSION *)&(ctx->session_cache_tail); in SSL_SESSION_list_remove()
1293 if (s->prev == (SSL_SESSION *)&(ctx->session_cache_head)) { in SSL_SESSION_list_remove()
1295 ctx->session_cache_head = s->next; in SSL_SESSION_list_remove()
1296 s->next->prev = (SSL_SESSION *)&(ctx->session_cache_head); in SSL_SESSION_list_remove()
1307 static void SSL_SESSION_list_add(SSL_CTX *ctx, SSL_SESSION *s) in SSL_SESSION_list_add() argument
1312 SSL_SESSION_list_remove(ctx, s); in SSL_SESSION_list_add()
1314 if (ctx->session_cache_head == NULL) { in SSL_SESSION_list_add()
1315 ctx->session_cache_head = s; in SSL_SESSION_list_add()
1316 ctx->session_cache_tail = s; in SSL_SESSION_list_add()
1317 s->prev = (SSL_SESSION *)&(ctx->session_cache_head); in SSL_SESSION_list_add()
1318 s->next = (SSL_SESSION *)&(ctx->session_cache_tail); in SSL_SESSION_list_add()
1320 if (timeoutcmp(s, ctx->session_cache_head) >= 0) { in SSL_SESSION_list_add()
1325 s->next = ctx->session_cache_head; in SSL_SESSION_list_add()
1327 s->prev = (SSL_SESSION *)&(ctx->session_cache_head); in SSL_SESSION_list_add()
1328 ctx->session_cache_head = s; in SSL_SESSION_list_add()
1329 } else if (timeoutcmp(s, ctx->session_cache_tail) < 0) { in SSL_SESSION_list_add()
1331 s->prev = ctx->session_cache_tail; in SSL_SESSION_list_add()
1333 s->next = (SSL_SESSION *)&(ctx->session_cache_tail); in SSL_SESSION_list_add()
1334 ctx->session_cache_tail = s; in SSL_SESSION_list_add()
1340 next = ctx->session_cache_head->next; in SSL_SESSION_list_add()
1341 while (next != (SSL_SESSION*)&(ctx->session_cache_tail)) { in SSL_SESSION_list_add()
1353 s->owner = ctx; in SSL_SESSION_list_add()
1356 void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, in SSL_CTX_sess_set_new_cb() argument
1359 ctx->new_session_cb = cb; in SSL_CTX_sess_set_new_cb()
1362 int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)) (SSL *ssl, SSL_SESSION *sess) { in SSL_CTX_sess_get_new_cb() argument
1363 return ctx->new_session_cb; in SSL_CTX_sess_get_new_cb()
1366 void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, in SSL_CTX_sess_set_remove_cb() argument
1367 void (*cb) (SSL_CTX *ctx, SSL_SESSION *sess)) in SSL_CTX_sess_set_remove_cb()
1369 ctx->remove_session_cb = cb; in SSL_CTX_sess_set_remove_cb()
1372 void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)) (SSL_CTX *ctx, in SSL_CTX_sess_get_remove_cb() argument
1374 return ctx->remove_session_cb; in SSL_CTX_sess_get_remove_cb()
1377 void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, in SSL_CTX_sess_set_get_cb() argument
1382 ctx->get_session_cb = cb; in SSL_CTX_sess_set_get_cb()
1385 SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx)) (SSL *ssl, in SSL_CTX_sess_get_get_cb() argument
1389 return ctx->get_session_cb; in SSL_CTX_sess_get_get_cb()
1392 void SSL_CTX_set_info_callback(SSL_CTX *ctx, in SSL_CTX_set_info_callback() argument
1395 ctx->info_callback = cb; in SSL_CTX_set_info_callback()
1398 void (*SSL_CTX_get_info_callback(SSL_CTX *ctx)) (const SSL *ssl, int type, in SSL_CTX_get_info_callback() argument
1400 return ctx->info_callback; in SSL_CTX_get_info_callback()
1403 void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, in SSL_CTX_set_client_cert_cb() argument
1407 ctx->client_cert_cb = cb; in SSL_CTX_set_client_cert_cb()
1410 int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)) (SSL *ssl, X509 **x509, in SSL_CTX_get_client_cert_cb() argument
1412 return ctx->client_cert_cb; in SSL_CTX_get_client_cert_cb()
1415 void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, in SSL_CTX_set_cookie_generate_cb() argument
1420 ctx->app_gen_cookie_cb = cb; in SSL_CTX_set_cookie_generate_cb()
1423 void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, in SSL_CTX_set_cookie_verify_cb() argument
1428 ctx->app_verify_cookie_cb = cb; in SSL_CTX_set_cookie_verify_cb()
1455 SSL_CTX *ctx, in SSL_CTX_set_stateless_cookie_generate_cb() argument
1460 ctx->gen_stateless_cookie_cb = cb; in SSL_CTX_set_stateless_cookie_generate_cb()
1464 SSL_CTX *ctx, in SSL_CTX_set_stateless_cookie_verify_cb() argument
1469 ctx->verify_stateless_cookie_cb = cb; in SSL_CTX_set_stateless_cookie_verify_cb()