Lines Matching refs:ss

29 __owur static ossl_inline int sess_timedout(OSSL_TIME t, SSL_SESSION *ss)  in DEFINE_STACK_OF()
31 return ossl_time_compare(t, ss->calc_timeout) > 0; in DEFINE_STACK_OF()
47 void ssl_session_calculate_timeout(SSL_SESSION *ss) in ssl_session_calculate_timeout() argument
49 ss->calc_timeout = ossl_time_add(ss->time, ss->timeout); in ssl_session_calculate_timeout()
103 SSL_SESSION *ss; in SSL_SESSION_new() local
108 ss = OPENSSL_zalloc(sizeof(*ss)); in SSL_SESSION_new()
109 if (ss == NULL) in SSL_SESSION_new()
112 ss->ext.max_fragment_len_mode = TLSEXT_max_fragment_length_UNSPECIFIED; in SSL_SESSION_new()
113 ss->verify_result = 1; /* avoid 0 (= X509_V_OK) just in case */ in SSL_SESSION_new()
115 ss->timeout = ossl_seconds2time(60 * 5 + 4); in SSL_SESSION_new()
116 ss->time = ossl_time_now(); in SSL_SESSION_new()
117 ssl_session_calculate_timeout(ss); in SSL_SESSION_new()
118 if (!CRYPTO_NEW_REF(&ss->references, 1)) { in SSL_SESSION_new()
119 OPENSSL_free(ss); in SSL_SESSION_new()
123 if (!CRYPTO_new_ex_data(CRYPTO_EX_INDEX_SSL_SESSION, ss, &ss->ex_data)) { in SSL_SESSION_new()
124 CRYPTO_FREE_REF(&ss->references); in SSL_SESSION_new()
125 OPENSSL_free(ss); in SSL_SESSION_new()
128 return ss; in SSL_SESSION_new()
350 int ssl_generate_session_id(SSL_CONNECTION *s, SSL_SESSION *ss) in ssl_generate_session_id() argument
365 ss->session_id_length = SSL3_SSL_SESSION_ID_LENGTH; in ssl_generate_session_id()
388 ss->session_id_length = 0; in ssl_generate_session_id()
408 memset(ss->session_id, 0, ss->session_id_length); in ssl_generate_session_id()
409 tmp = (int)ss->session_id_length; in ssl_generate_session_id()
410 if (!cb(ssl, ss->session_id, &tmp)) { in ssl_generate_session_id()
420 if (tmp == 0 || tmp > ss->session_id_length) { in ssl_generate_session_id()
426 ss->session_id_length = tmp; in ssl_generate_session_id()
428 if (SSL_has_matching_session_id(ssl, ss->session_id, in ssl_generate_session_id()
429 (unsigned int)ss->session_id_length)) { in ssl_generate_session_id()
441 SSL_SESSION *ss = NULL; in ssl_get_new_session() local
443 if ((ss = SSL_SESSION_new()) == NULL) { in ssl_get_new_session()
450 ss->timeout = SSL_CONNECTION_GET_SSL(s)->method->get_timeout(); in ssl_get_new_session()
452 ss->timeout = s->session_ctx->session_timeout; in ssl_get_new_session()
453 ssl_session_calculate_timeout(ss); in ssl_get_new_session()
464 ss->session_id_length = 0; in ssl_get_new_session()
465 } else if (!ssl_generate_session_id(s, ss)) { in ssl_get_new_session()
467 SSL_SESSION_free(ss); in ssl_get_new_session()
472 ss->session_id_length = 0; in ssl_get_new_session()
475 if (s->sid_ctx_length > sizeof(ss->sid_ctx)) { in ssl_get_new_session()
477 SSL_SESSION_free(ss); in ssl_get_new_session()
480 memcpy(ss->sid_ctx, s->sid_ctx, s->sid_ctx_length); in ssl_get_new_session()
481 ss->sid_ctx_length = s->sid_ctx_length; in ssl_get_new_session()
482 s->session = ss; in ssl_get_new_session()
483 ss->ssl_version = s->version; in ssl_get_new_session()
484 ss->verify_result = X509_V_OK; in ssl_get_new_session()
488 ss->flags |= SSL_SESS_FLAG_EXTMS; in ssl_get_new_session()
840 void SSL_SESSION_free(SSL_SESSION *ss) in SSL_SESSION_free() argument
844 if (ss == NULL) in SSL_SESSION_free()
846 CRYPTO_DOWN_REF(&ss->references, &i); in SSL_SESSION_free()
847 REF_PRINT_COUNT("SSL_SESSION", ss); in SSL_SESSION_free()
852 CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL_SESSION, ss, &ss->ex_data); in SSL_SESSION_free()
854 OPENSSL_cleanse(ss->master_key, sizeof(ss->master_key)); in SSL_SESSION_free()
855 OPENSSL_cleanse(ss->session_id, sizeof(ss->session_id)); in SSL_SESSION_free()
856 X509_free(ss->peer); in SSL_SESSION_free()
857 EVP_PKEY_free(ss->peer_rpk); in SSL_SESSION_free()
858 OSSL_STACK_OF_X509_free(ss->peer_chain); in SSL_SESSION_free()
859 OPENSSL_free(ss->ext.hostname); in SSL_SESSION_free()
860 OPENSSL_free(ss->ext.tick); in SSL_SESSION_free()
862 OPENSSL_free(ss->psk_identity_hint); in SSL_SESSION_free()
863 OPENSSL_free(ss->psk_identity); in SSL_SESSION_free()
866 OPENSSL_free(ss->srp_username); in SSL_SESSION_free()
868 OPENSSL_free(ss->ext.alpn_selected); in SSL_SESSION_free()
869 OPENSSL_free(ss->ticket_appdata); in SSL_SESSION_free()
870 CRYPTO_FREE_REF(&ss->references); in SSL_SESSION_free()
871 OPENSSL_clear_free(ss, sizeof(*ss)); in SSL_SESSION_free()
874 int SSL_SESSION_up_ref(SSL_SESSION *ss) in SSL_SESSION_up_ref() argument
878 if (CRYPTO_UP_REF(&ss->references, &i) <= 0) in SSL_SESSION_up_ref()
881 REF_PRINT_COUNT("SSL_SESSION", ss); in SSL_SESSION_up_ref()
1419 int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss, const void *data, size_t len) in SSL_SESSION_set1_ticket_appdata() argument
1421 OPENSSL_free(ss->ticket_appdata); in SSL_SESSION_set1_ticket_appdata()
1422 ss->ticket_appdata_len = 0; in SSL_SESSION_set1_ticket_appdata()
1424 ss->ticket_appdata = NULL; in SSL_SESSION_set1_ticket_appdata()
1427 ss->ticket_appdata = OPENSSL_memdup(data, len); in SSL_SESSION_set1_ticket_appdata()
1428 if (ss->ticket_appdata != NULL) { in SSL_SESSION_set1_ticket_appdata()
1429 ss->ticket_appdata_len = len; in SSL_SESSION_set1_ticket_appdata()
1435 int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t *len) in SSL_SESSION_get0_ticket_appdata() argument
1437 *data = ss->ticket_appdata; in SSL_SESSION_get0_ticket_appdata()
1438 *len = ss->ticket_appdata_len; in SSL_SESSION_get0_ticket_appdata()