Lines Matching full:ss
30 __owur static ossl_inline int sess_timedout(OSSL_TIME t, SSL_SESSION *ss) in DEFINE_STACK_OF()
32 return ossl_time_compare(t, ss->calc_timeout) > 0; in DEFINE_STACK_OF()
48 void ssl_session_calculate_timeout(SSL_SESSION *ss) in ssl_session_calculate_timeout() argument
50 ss->calc_timeout = ossl_time_add(ss->time, ss->timeout); in ssl_session_calculate_timeout()
104 SSL_SESSION *ss; in SSL_SESSION_new() local
109 ss = OPENSSL_zalloc(sizeof(*ss)); in SSL_SESSION_new()
110 if (ss == NULL) in SSL_SESSION_new()
113 ss->ext.max_fragment_len_mode = TLSEXT_max_fragment_length_UNSPECIFIED; in SSL_SESSION_new()
114 ss->verify_result = 1; /* avoid 0 (= X509_V_OK) just in case */ in SSL_SESSION_new()
116 ss->timeout = ossl_seconds2time(60 * 5 + 4); in SSL_SESSION_new()
117 ss->time = ossl_time_now(); in SSL_SESSION_new()
118 ssl_session_calculate_timeout(ss); in SSL_SESSION_new()
119 if (!CRYPTO_NEW_REF(&ss->references, 1)) { in SSL_SESSION_new()
120 OPENSSL_free(ss); in SSL_SESSION_new()
124 if (!CRYPTO_new_ex_data(CRYPTO_EX_INDEX_SSL_SESSION, ss, &ss->ex_data)) { in SSL_SESSION_new()
125 CRYPTO_FREE_REF(&ss->references); in SSL_SESSION_new()
126 OPENSSL_free(ss); in SSL_SESSION_new()
129 return ss; in SSL_SESSION_new()
351 int ssl_generate_session_id(SSL_CONNECTION *s, SSL_SESSION *ss) in ssl_generate_session_id() argument
366 ss->session_id_length = SSL3_SSL_SESSION_ID_LENGTH; in ssl_generate_session_id()
389 ss->session_id_length = 0; in ssl_generate_session_id()
409 memset(ss->session_id, 0, ss->session_id_length); in ssl_generate_session_id()
410 tmp = (int)ss->session_id_length; in ssl_generate_session_id()
411 if (!cb(ssl, ss->session_id, &tmp)) { in ssl_generate_session_id()
421 if (tmp == 0 || tmp > ss->session_id_length) { in ssl_generate_session_id()
427 ss->session_id_length = tmp; in ssl_generate_session_id()
429 if (SSL_has_matching_session_id(ssl, ss->session_id, in ssl_generate_session_id()
430 (unsigned int)ss->session_id_length)) { in ssl_generate_session_id()
442 SSL_SESSION *ss = NULL; in ssl_get_new_session() local
444 if ((ss = SSL_SESSION_new()) == NULL) { in ssl_get_new_session()
451 ss->timeout = SSL_CONNECTION_GET_SSL(s)->method->get_timeout(); in ssl_get_new_session()
453 ss->timeout = s->session_ctx->session_timeout; in ssl_get_new_session()
454 ssl_session_calculate_timeout(ss); in ssl_get_new_session()
465 ss->session_id_length = 0; in ssl_get_new_session()
466 } else if (!ssl_generate_session_id(s, ss)) { in ssl_get_new_session()
468 SSL_SESSION_free(ss); in ssl_get_new_session()
473 ss->session_id_length = 0; in ssl_get_new_session()
476 if (s->sid_ctx_length > sizeof(ss->sid_ctx)) { in ssl_get_new_session()
478 SSL_SESSION_free(ss); in ssl_get_new_session()
481 memcpy(ss->sid_ctx, s->sid_ctx, s->sid_ctx_length); in ssl_get_new_session()
482 ss->sid_ctx_length = s->sid_ctx_length; in ssl_get_new_session()
483 s->session = ss; in ssl_get_new_session()
484 ss->ssl_version = s->version; in ssl_get_new_session()
485 ss->verify_result = X509_V_OK; in ssl_get_new_session()
489 ss->flags |= SSL_SESS_FLAG_EXTMS; in ssl_get_new_session()
848 void SSL_SESSION_free(SSL_SESSION *ss) in SSL_SESSION_free() argument
852 if (ss == NULL) in SSL_SESSION_free()
854 CRYPTO_DOWN_REF(&ss->references, &i); in SSL_SESSION_free()
855 REF_PRINT_COUNT("SSL_SESSION", i, ss); in SSL_SESSION_free()
860 CRYPTO_free_ex_data(CRYPTO_EX_INDEX_SSL_SESSION, ss, &ss->ex_data); in SSL_SESSION_free()
862 OPENSSL_cleanse(ss->master_key, sizeof(ss->master_key)); in SSL_SESSION_free()
863 OPENSSL_cleanse(ss->session_id, sizeof(ss->session_id)); in SSL_SESSION_free()
864 X509_free(ss->peer); in SSL_SESSION_free()
865 EVP_PKEY_free(ss->peer_rpk); in SSL_SESSION_free()
866 OSSL_STACK_OF_X509_free(ss->peer_chain); in SSL_SESSION_free()
867 OPENSSL_free(ss->ext.hostname); in SSL_SESSION_free()
868 OPENSSL_free(ss->ext.tick); in SSL_SESSION_free()
870 OPENSSL_free(ss->psk_identity_hint); in SSL_SESSION_free()
871 OPENSSL_free(ss->psk_identity); in SSL_SESSION_free()
874 OPENSSL_free(ss->srp_username); in SSL_SESSION_free()
876 OPENSSL_free(ss->ext.alpn_selected); in SSL_SESSION_free()
877 OPENSSL_free(ss->ticket_appdata); in SSL_SESSION_free()
878 CRYPTO_FREE_REF(&ss->references); in SSL_SESSION_free()
879 OPENSSL_clear_free(ss, sizeof(*ss)); in SSL_SESSION_free()
882 int SSL_SESSION_up_ref(SSL_SESSION *ss) in SSL_SESSION_up_ref() argument
886 if (CRYPTO_UP_REF(&ss->references, &i) <= 0) in SSL_SESSION_up_ref()
889 REF_PRINT_COUNT("SSL_SESSION", i, ss); in SSL_SESSION_up_ref()
1431 int SSL_SESSION_set1_ticket_appdata(SSL_SESSION *ss, const void *data, size_t len) in SSL_SESSION_set1_ticket_appdata() argument
1433 OPENSSL_free(ss->ticket_appdata); in SSL_SESSION_set1_ticket_appdata()
1434 ss->ticket_appdata_len = 0; in SSL_SESSION_set1_ticket_appdata()
1436 ss->ticket_appdata = NULL; in SSL_SESSION_set1_ticket_appdata()
1439 ss->ticket_appdata = OPENSSL_memdup(data, len); in SSL_SESSION_set1_ticket_appdata()
1440 if (ss->ticket_appdata != NULL) { in SSL_SESSION_set1_ticket_appdata()
1441 ss->ticket_appdata_len = len; in SSL_SESSION_set1_ticket_appdata()
1447 int SSL_SESSION_get0_ticket_appdata(SSL_SESSION *ss, void **data, size_t *len) in SSL_SESSION_get0_ticket_appdata() argument
1449 *data = ss->ticket_appdata; in SSL_SESSION_get0_ticket_appdata()
1450 *len = ss->ticket_appdata_len; in SSL_SESSION_get0_ticket_appdata()