Lines Matching refs:s

27 void RECORD_LAYER_init(RECORD_LAYER *rl, SSL_CONNECTION *s)  in RECORD_LAYER_init()  argument
29 rl->s = s; in RECORD_LAYER_init()
38 ret &= ssl_release_record(rl->s, in RECORD_LAYER_clear()
80 ret &= ssl_set_new_record_layer(rl->s, in RECORD_LAYER_reset()
81 SSL_CONNECTION_IS_DTLS(rl->s) in RECORD_LAYER_reset()
88 ret &= ssl_set_new_record_layer(rl->s, in RECORD_LAYER_reset()
89 SSL_CONNECTION_IS_DTLS(rl->s) in RECORD_LAYER_reset()
118 static uint32_t ossl_get_max_early_data(SSL_CONNECTION *s) in ossl_get_max_early_data() argument
121 SSL_SESSION *sess = s->session; in ossl_get_max_early_data()
128 if (!s->server && sess->ext.max_early_data == 0) { in ossl_get_max_early_data()
129 if (!ossl_assert(s->psksession != NULL in ossl_get_max_early_data()
130 && s->psksession->ext.max_early_data > 0)) { in ossl_get_max_early_data()
131 SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in ossl_get_max_early_data()
134 sess = s->psksession; in ossl_get_max_early_data()
137 if (!s->server) in ossl_get_max_early_data()
139 else if (s->ext.early_data != SSL_EARLY_DATA_ACCEPTED) in ossl_get_max_early_data()
140 max_early_data = s->recv_max_early_data; in ossl_get_max_early_data()
142 max_early_data = s->recv_max_early_data < sess->ext.max_early_data in ossl_get_max_early_data()
143 ? s->recv_max_early_data : sess->ext.max_early_data; in ossl_get_max_early_data()
148 static int ossl_early_data_count_ok(SSL_CONNECTION *s, size_t length, in ossl_early_data_count_ok() argument
153 max_early_data = ossl_get_max_early_data(s); in ossl_early_data_count_ok()
156 SSLfatal(s, send ? SSL_AD_INTERNAL_ERROR : SSL_AD_UNEXPECTED_MESSAGE, in ossl_early_data_count_ok()
164 if (s->early_data_count + length > max_early_data) { in ossl_early_data_count_ok()
165 SSLfatal(s, send ? SSL_AD_INTERNAL_ERROR : SSL_AD_UNEXPECTED_MESSAGE, in ossl_early_data_count_ok()
169 s->early_data_count += length; in ossl_early_data_count_ok()
174 size_t ssl3_pending(const SSL *s) in ssl3_pending() argument
177 const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(s); in ssl3_pending()
209 void SSL_set_default_read_buffer_len(SSL *s, size_t len) in SSL_set_default_read_buffer_len() argument
211 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); in SSL_set_default_read_buffer_len()
213 if (sc == NULL || IS_QUIC(s)) in SSL_set_default_read_buffer_len()
218 const char *SSL_rstate_string_long(const SSL *s) in SSL_rstate_string_long() argument
220 const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(s); in SSL_rstate_string_long()
234 const char *SSL_rstate_string(const SSL *s) in SSL_rstate_string() argument
236 const SSL_CONNECTION *sc = SSL_CONNECTION_FROM_CONST_SSL(s); in SSL_rstate_string()
250 static int tls_write_check_pending(SSL_CONNECTION *s, uint8_t type, in tls_write_check_pending() argument
253 if (s->rlayer.wpend_tot == 0) in tls_write_check_pending()
257 if ((s->rlayer.wpend_tot > len) in tls_write_check_pending()
258 || (!(s->mode & SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER) in tls_write_check_pending()
259 && (s->rlayer.wpend_buf != buf)) in tls_write_check_pending()
260 || (s->rlayer.wpend_type != type)) { in tls_write_check_pending()
261 SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_BAD_WRITE_RETRY); in tls_write_check_pending()
278 SSL_CONNECTION *s = SSL_CONNECTION_FROM_SSL_ONLY(ssl); in ssl3_write_bytes() local
282 if (s == NULL) in ssl3_write_bytes()
285 s->rwstate = SSL_NOTHING; in ssl3_write_bytes()
286 tot = s->rlayer.wnum; in ssl3_write_bytes()
296 if ((len < s->rlayer.wnum) in ssl3_write_bytes()
297 || ((s->rlayer.wpend_tot != 0) in ssl3_write_bytes()
298 && (len < (s->rlayer.wnum + s->rlayer.wpend_tot)))) { in ssl3_write_bytes()
299 SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_BAD_LENGTH); in ssl3_write_bytes()
303 if (s->early_data_state == SSL_EARLY_DATA_WRITING in ssl3_write_bytes()
304 && !ossl_early_data_count_ok(s, len, 0, 1)) { in ssl3_write_bytes()
309 s->rlayer.wnum = 0; in ssl3_write_bytes()
316 if (s->rlayer.wpend_tot == 0 && (s->key_update != SSL_KEY_UPDATE_NONE in ssl3_write_bytes()
317 || s->ext.extra_tickets_expected > 0)) in ssl3_write_bytes()
318 ossl_statem_set_in_init(s, 1); in ssl3_write_bytes()
325 if (SSL_in_init(ssl) && !ossl_statem_get_in_handshake(s) in ssl3_write_bytes()
326 && s->early_data_state != SSL_EARLY_DATA_UNAUTH_WRITING) { in ssl3_write_bytes()
327 i = s->handshake_func(ssl); in ssl3_write_bytes()
336 i = tls_write_check_pending(s, type, buf, len); in ssl3_write_bytes()
342 i = HANDLE_RLAYER_WRITE_RETURN(s, in ssl3_write_bytes()
343 s->rlayer.wrlmethod->retry_write_records(s->rlayer.wrl)); in ssl3_write_bytes()
345 s->rlayer.wnum = tot; in ssl3_write_bytes()
348 tot += s->rlayer.wpend_tot; in ssl3_write_bytes()
349 s->rlayer.wpend_tot = 0; in ssl3_write_bytes()
357 s->rlayer.wpend_tot = 0; in ssl3_write_bytes()
358 s->rlayer.wpend_type = type; in ssl3_write_bytes()
359 s->rlayer.wpend_buf = buf; in ssl3_write_bytes()
368 if (s->s3.alert_dispatch > 0) { in ssl3_write_bytes()
372 s->rlayer.wnum = tot; in ssl3_write_bytes()
380 max_send_fragment = ssl_get_max_send_fragment(s); in ssl3_write_bytes()
381 split_send_fragment = ssl_get_split_send_fragment(s); in ssl3_write_bytes()
390 SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in ssl3_write_bytes()
398 recversion = (s->version == TLS1_3_VERSION) ? TLS1_2_VERSION : s->version; in ssl3_write_bytes()
400 && !s->renegotiate in ssl3_write_bytes()
402 && s->hello_retry_request == SSL_HRR_NONE) in ssl3_write_bytes()
413 maxpipes = s->rlayer.wrlmethod->get_max_records(s->rlayer.wrl, type, n, in ssl3_write_bytes()
422 if (s->max_pipelines > 0 && maxpipes > s->max_pipelines) in ssl3_write_bytes()
423 maxpipes = s->max_pipelines; in ssl3_write_bytes()
429 SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in ssl3_write_bytes()
445 s->rlayer.wpend_tot = maxpipes * split_send_fragment; in ssl3_write_bytes()
466 s->rlayer.wpend_tot = n; in ssl3_write_bytes()
469 i = HANDLE_RLAYER_WRITE_RETURN(s, in ssl3_write_bytes()
470 s->rlayer.wrlmethod->write_records(s->rlayer.wrl, tmpls, maxpipes)); in ssl3_write_bytes()
473 s->rlayer.wnum = tot; in ssl3_write_bytes()
477 if (s->rlayer.wpend_tot == n in ssl3_write_bytes()
479 && (s->mode & SSL_MODE_ENABLE_PARTIAL_WRITE) != 0)) { in ssl3_write_bytes()
480 *written = tot + s->rlayer.wpend_tot; in ssl3_write_bytes()
481 s->rlayer.wpend_tot = 0; in ssl3_write_bytes()
485 n -= s->rlayer.wpend_tot; in ssl3_write_bytes()
486 tot += s->rlayer.wpend_tot; in ssl3_write_bytes()
490 int ossl_tls_handle_rlayer_return(SSL_CONNECTION *s, int writing, int ret, in ossl_tls_handle_rlayer_return() argument
493 SSL *ssl = SSL_CONNECTION_GET_SSL(s); in ossl_tls_handle_rlayer_return()
496 s->rwstate = writing ? SSL_WRITING : SSL_READING; in ossl_tls_handle_rlayer_return()
499 s->rwstate = SSL_NOTHING; in ossl_tls_handle_rlayer_return()
508 ossl_statem_fatal(s, SSL_AD_INTERNAL_ERROR, in ossl_tls_handle_rlayer_return()
511 } else if ((s->options & SSL_OP_IGNORE_UNEXPECTED_EOF) != 0) { in ossl_tls_handle_rlayer_return()
513 s->s3.warn_alert = SSL_AD_CLOSE_NOTIFY; in ossl_tls_handle_rlayer_return()
521 ossl_statem_fatal(s, SSL_AD_DECODE_ERROR, in ossl_tls_handle_rlayer_return()
525 int al = s->rlayer.rrlmethod->get_alert_code(s->rlayer.rrl); in ossl_tls_handle_rlayer_return()
530 ossl_statem_fatal(s, al, SSL_R_RECORD_LAYER_FAILURE, NULL); in ossl_tls_handle_rlayer_return()
554 int ssl_release_record(SSL_CONNECTION *s, TLS_RECORD *rr, size_t length) in ssl_release_record() argument
561 if (HANDLE_RLAYER_READ_RETURN(s, in ssl_release_record()
562 s->rlayer.rrlmethod->release_record(s->rlayer.rrl, in ssl_release_record()
570 s->rlayer.curr_rec++; in ssl_release_record()
624 SSL_CONNECTION *s = SSL_CONNECTION_FROM_SSL_ONLY(ssl); in ssl3_read_bytes() local
626 is_tls13 = SSL_CONNECTION_IS_TLS13(s); in ssl3_read_bytes()
632 SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in ssl3_read_bytes()
636 if ((type == SSL3_RT_HANDSHAKE) && (s->rlayer.handshake_fragment_len > 0)) in ssl3_read_bytes()
639 unsigned char *src = s->rlayer.handshake_fragment; in ssl3_read_bytes()
645 while ((len > 0) && (s->rlayer.handshake_fragment_len > 0)) { in ssl3_read_bytes()
648 s->rlayer.handshake_fragment_len--; in ssl3_read_bytes()
652 for (k = 0; k < s->rlayer.handshake_fragment_len; k++) in ssl3_read_bytes()
653 s->rlayer.handshake_fragment[k] = *src++; in ssl3_read_bytes()
666 if (!ossl_statem_get_in_handshake(s) && SSL_in_init(ssl)) { in ssl3_read_bytes()
668 i = s->handshake_func(ssl); in ssl3_read_bytes()
676 s->rwstate = SSL_NOTHING; in ssl3_read_bytes()
686 if (s->rlayer.curr_rec >= s->rlayer.num_recs) { in ssl3_read_bytes()
687 s->rlayer.curr_rec = s->rlayer.num_recs = 0; in ssl3_read_bytes()
689 rr = &s->rlayer.tlsrecs[s->rlayer.num_recs]; in ssl3_read_bytes()
691 ret = HANDLE_RLAYER_READ_RETURN(s, in ssl3_read_bytes()
692 s->rlayer.rrlmethod->read_record(s->rlayer.rrl, in ssl3_read_bytes()
702 s->rlayer.num_recs++; in ssl3_read_bytes()
703 } while (s->rlayer.rrlmethod->processed_read_pending(s->rlayer.rrl) in ssl3_read_bytes()
704 && s->rlayer.num_recs < SSL_MAX_PIPELINES); in ssl3_read_bytes()
706 rr = &s->rlayer.tlsrecs[s->rlayer.curr_rec]; in ssl3_read_bytes()
708 if (s->rlayer.handshake_fragment_len > 0 in ssl3_read_bytes()
710 && SSL_CONNECTION_IS_TLS13(s)) { in ssl3_read_bytes()
711 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, in ssl3_read_bytes()
721 s->rlayer.alert_count = 0; in ssl3_read_bytes()
725 if (s->s3.change_cipher_spec /* set when we receive ChangeCipherSpec, in ssl3_read_bytes()
728 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, in ssl3_read_bytes()
737 if (s->shutdown & SSL_RECEIVED_SHUTDOWN) { in ssl3_read_bytes()
738 s->rlayer.curr_rec++; in ssl3_read_bytes()
739 s->rwstate = SSL_NOTHING; in ssl3_read_bytes()
757 && SSL_IS_FIRST_HANDSHAKE(s)) { in ssl3_read_bytes()
758 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_APP_DATA_IN_HANDSHAKE); in ssl3_read_bytes()
764 && s->rlayer.handshake_fragment_len > 0) { in ssl3_read_bytes()
765 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_CCS_RECEIVED_EARLY); in ssl3_read_bytes()
778 if (rr->length == 0 && !ssl_release_record(s, rr, 0)) in ssl3_read_bytes()
785 curr_rec = s->rlayer.curr_rec; in ssl3_read_bytes()
796 if (rr->length == 0 && !ssl_release_record(s, rr, 0)) in ssl3_read_bytes()
799 if (!ssl_release_record(s, rr, n)) in ssl3_read_bytes()
809 && curr_rec < s->rlayer.num_recs in ssl3_read_bytes()
835 SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in ssl3_read_bytes()
840 && (s->server || rr->type != SSL3_RT_ALERT)) { in ssl3_read_bytes()
847 s->version = rr->version; in ssl3_read_bytes()
848 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_UNEXPECTED_MESSAGE); in ssl3_read_bytes()
866 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_INVALID_ALERT); in ssl3_read_bytes()
870 if (s->msg_callback) in ssl3_read_bytes()
871 s->msg_callback(0, s->version, SSL3_RT_ALERT, alert_bytes, 2, ssl, in ssl3_read_bytes()
872 s->msg_callback_arg); in ssl3_read_bytes()
874 if (s->info_callback != NULL) in ssl3_read_bytes()
875 cb = s->info_callback; in ssl3_read_bytes()
886 s->s3.warn_alert = alert_descr; in ssl3_read_bytes()
887 if (!ssl_release_record(s, rr, 0)) in ssl3_read_bytes()
890 s->rlayer.alert_count++; in ssl3_read_bytes()
891 if (s->rlayer.alert_count == MAX_WARN_ALERT_COUNT) { in ssl3_read_bytes()
892 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, in ssl3_read_bytes()
906 s->shutdown |= SSL_RECEIVED_SHUTDOWN; in ssl3_read_bytes()
909 s->rwstate = SSL_NOTHING; in ssl3_read_bytes()
910 s->s3.fatal_alert = alert_descr; in ssl3_read_bytes()
911 SSLfatal_data(s, SSL_AD_NO_ALERT, in ssl3_read_bytes()
914 s->shutdown |= SSL_RECEIVED_SHUTDOWN; in ssl3_read_bytes()
915 if (!ssl_release_record(s, rr, 0)) in ssl3_read_bytes()
917 SSL_CTX_remove_session(s->session_ctx, s->session); in ssl3_read_bytes()
928 SSLfatal(s, SSL_AD_HANDSHAKE_FAILURE, SSL_R_NO_RENEGOTIATION); in ssl3_read_bytes()
935 SSLfatal(s, SSL_AD_ILLEGAL_PARAMETER, SSL_R_UNKNOWN_ALERT_TYPE); in ssl3_read_bytes()
939 if ((s->shutdown & SSL_SENT_SHUTDOWN) != 0) { in ssl3_read_bytes()
950 if (!SSL_CONNECTION_IS_TLS13(s)) { in ssl3_read_bytes()
951 if (!ssl_release_record(s, rr, 0)) in ssl3_read_bytes()
954 if ((s->mode & SSL_MODE_AUTO_RETRY) != 0) in ssl3_read_bytes()
957 s->rwstate = SSL_READING; in ssl3_read_bytes()
971 if (!ssl_release_record(s, rr, 0)) in ssl3_read_bytes()
973 SSLfatal(s, SSL_AD_NO_ALERT, in ssl3_read_bytes()
986 size_t dest_maxlen = sizeof(s->rlayer.handshake_fragment); in ssl3_read_bytes()
987 unsigned char *dest = s->rlayer.handshake_fragment; in ssl3_read_bytes()
988 size_t *dest_len = &s->rlayer.handshake_fragment_len; in ssl3_read_bytes()
1003 if ((n > 0 || rr->length == 0) && !ssl_release_record(s, rr, n)) in ssl3_read_bytes()
1011 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_CCS_RECEIVED_EARLY); in ssl3_read_bytes()
1019 if ((s->rlayer.handshake_fragment_len >= 4) in ssl3_read_bytes()
1020 && !ossl_statem_get_in_handshake(s)) { in ssl3_read_bytes()
1021 int ined = (s->early_data_state == SSL_EARLY_DATA_READING); in ssl3_read_bytes()
1024 ossl_statem_set_in_init(s, 1); in ssl3_read_bytes()
1026 i = s->handshake_func(ssl); in ssl3_read_bytes()
1042 if (!(s->mode & SSL_MODE_AUTO_RETRY)) { in ssl3_read_bytes()
1043 if (!RECORD_LAYER_read_pending(&s->rlayer)) { in ssl3_read_bytes()
1051 s->rwstate = SSL_READING; in ssl3_read_bytes()
1070 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_UNEXPECTED_RECORD); in ssl3_read_bytes()
1080 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, ERR_R_INTERNAL_ERROR); in ssl3_read_bytes()
1090 if (ossl_statem_app_data_allowed(s)) { in ssl3_read_bytes()
1091 s->s3.in_read_app_data = 2; in ssl3_read_bytes()
1093 } else if (ossl_statem_skip_early_data(s)) { in ssl3_read_bytes()
1103 if (!ossl_early_data_count_ok(s, rr->length, in ssl3_read_bytes()
1108 if (!ssl_release_record(s, rr, 0)) in ssl3_read_bytes()
1112 SSLfatal(s, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_UNEXPECTED_RECORD); in ssl3_read_bytes()
1124 if (SSL_CONNECTION_IS_DTLS(rl->s)) in RECORD_LAYER_is_sslv2_record()
1134 SSL_CONNECTION *s = cbarg; in rlayer_msg_callback_wrapper() local
1135 SSL *ssl = SSL_CONNECTION_GET_USER_SSL(s); in rlayer_msg_callback_wrapper()
1137 if (s->msg_callback != NULL) in rlayer_msg_callback_wrapper()
1138 s->msg_callback(write_p, version, content_type, buf, len, ssl, in rlayer_msg_callback_wrapper()
1139 s->msg_callback_arg); in rlayer_msg_callback_wrapper()
1146 SSL_CONNECTION *s = cbarg; in rlayer_security_wrapper() local
1148 return ssl_security(s, op, bits, nid, other); in rlayer_security_wrapper()
1154 SSL_CONNECTION *s = cbarg; in rlayer_padding_wrapper() local
1155 SSL *ssl = SSL_CONNECTION_GET_USER_SSL(s); in rlayer_padding_wrapper()
1157 return s->rlayer.record_padding_cb(ssl, type, len, in rlayer_padding_wrapper()
1158 s->rlayer.record_padding_arg); in rlayer_padding_wrapper()
1169 void ossl_ssl_set_custom_record_layer(SSL_CONNECTION *s, in ossl_ssl_set_custom_record_layer() argument
1173 s->rlayer.custom_rlmethod = meth; in ossl_ssl_set_custom_record_layer()
1174 s->rlayer.rlarg = rlarg; in ossl_ssl_set_custom_record_layer()
1177 static const OSSL_RECORD_METHOD *ssl_select_next_record_layer(SSL_CONNECTION *s, in ssl_select_next_record_layer() argument
1181 if (s->rlayer.custom_rlmethod != NULL) in ssl_select_next_record_layer()
1182 return s->rlayer.custom_rlmethod; in ssl_select_next_record_layer()
1185 if (SSL_CONNECTION_IS_DTLS(s)) in ssl_select_next_record_layer()
1194 && (s->options & SSL_OP_ENABLE_KTLS) != 0 in ssl_select_next_record_layer()
1195 && (SSL_CONNECTION_IS_TLS13(s) || SSL_IS_FIRST_HANDSHAKE(s))) in ssl_select_next_record_layer()
1200 return direction == OSSL_RECORD_DIRECTION_READ ? s->rlayer.rrlmethod in ssl_select_next_record_layer()
1201 : s->rlayer.wrlmethod; in ssl_select_next_record_layer()
1204 static int ssl_post_record_layer_select(SSL_CONNECTION *s, int direction) in ssl_post_record_layer_select() argument
1210 thismethod = s->rlayer.rrlmethod; in ssl_post_record_layer_select()
1211 thisrl = s->rlayer.rrl; in ssl_post_record_layer_select()
1213 thismethod = s->rlayer.wrlmethod; in ssl_post_record_layer_select()
1214 thisrl = s->rlayer.wrl; in ssl_post_record_layer_select()
1219 SSL *ssl = SSL_CONNECTION_GET_SSL(s); in ssl_post_record_layer_select()
1221 if (s->rlayer.rrlmethod == &ossl_ktls_record_method) { in ssl_post_record_layer_select()
1227 if (SSL_IS_FIRST_HANDSHAKE(s) && thismethod->set_first_handshake != NULL) in ssl_post_record_layer_select()
1230 if (s->max_pipelines != 0 && thismethod->set_max_pipelines != NULL) in ssl_post_record_layer_select()
1231 thismethod->set_max_pipelines(thisrl, s->max_pipelines); in ssl_post_record_layer_select()
1236 int ssl_set_new_record_layer(SSL_CONNECTION *s, int version, in ssl_set_new_record_layer() argument
1251 SSL_CTX *sctx = SSL_CONNECTION_GET_CTX(s); in ssl_set_new_record_layer()
1255 ? ssl_get_max_send_fragment(s) in ssl_set_new_record_layer()
1261 meth = ssl_select_next_record_layer(s, direction, level); in ssl_set_new_record_layer()
1264 thismethod = &s->rlayer.rrlmethod; in ssl_set_new_record_layer()
1265 thisrl = &s->rlayer.rrl; in ssl_set_new_record_layer()
1266 thisbio = s->rbio; in ssl_set_new_record_layer()
1268 thismethod = &s->rlayer.wrlmethod; in ssl_set_new_record_layer()
1269 thisrl = &s->rlayer.wrl; in ssl_set_new_record_layer()
1270 thisbio = s->wbio; in ssl_set_new_record_layer()
1283 &s->options); in ssl_set_new_record_layer()
1285 &s->mode); in ssl_set_new_record_layer()
1288 &s->rlayer.default_read_buf_len); in ssl_set_new_record_layer()
1290 &s->rlayer.read_ahead); in ssl_set_new_record_layer()
1293 &s->rlayer.block_padding); in ssl_set_new_record_layer()
1295 &s->rlayer.hs_padding); in ssl_set_new_record_layer()
1301 use_etm = SSL_READ_ETM(s) ? 1 : 0; in ssl_set_new_record_layer()
1302 if ((s->mac_flags & SSL_MAC_FLAG_READ_MAC_STREAM) != 0) in ssl_set_new_record_layer()
1305 if ((s->mac_flags & SSL_MAC_FLAG_READ_MAC_TLSTREE) != 0) in ssl_set_new_record_layer()
1308 use_etm = SSL_WRITE_ETM(s) ? 1 : 0; in ssl_set_new_record_layer()
1309 if ((s->mac_flags & SSL_MAC_FLAG_WRITE_MAC_STREAM) != 0) in ssl_set_new_record_layer()
1312 if ((s->mac_flags & SSL_MAC_FLAG_WRITE_MAC_TLSTREE) != 0) in ssl_set_new_record_layer()
1333 && s->session != NULL in ssl_set_new_record_layer()
1334 && USE_MAX_FRAGMENT_LENGTH_EXT(s->session)) in ssl_set_new_record_layer()
1335 maxfrag = GET_MAX_FRAGMENT_LENGTH(s->session); in ssl_set_new_record_layer()
1347 if (s->server && direction == OSSL_RECORD_DIRECTION_READ) { in ssl_set_new_record_layer()
1350 } else if (!s->server && direction == OSSL_RECORD_DIRECTION_WRITE) { in ssl_set_new_record_layer()
1354 max_early_data = ossl_get_max_early_data(s); in ssl_set_new_record_layer()
1372 prev = s->rlayer.rrlnext; in ssl_set_new_record_layer()
1373 if (SSL_CONNECTION_IS_DTLS(s) in ssl_set_new_record_layer()
1375 epoch = dtls1_get_epoch(s, SSL3_CC_READ); /* new epoch */ in ssl_set_new_record_layer()
1378 if (SSL_CONNECTION_IS_DTLS(s)) in ssl_set_new_record_layer()
1385 SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in ssl_set_new_record_layer()
1388 s->rlayer.rrlnext = next; in ssl_set_new_record_layer()
1390 if (SSL_CONNECTION_IS_DTLS(s) in ssl_set_new_record_layer()
1392 epoch = dtls1_get_epoch(s, SSL3_CC_WRITE); /* new epoch */ in ssl_set_new_record_layer()
1402 if (s->msg_callback == NULL) in ssl_set_new_record_layer()
1406 if (s->rlayer.record_padding_cb == NULL) in ssl_set_new_record_layer()
1416 s->server, direction, level, epoch, in ssl_set_new_record_layer()
1421 options, rlayer_dispatch_tmp, s, in ssl_set_new_record_layer()
1422 s->rlayer.rlarg, &newrl); in ssl_set_new_record_layer()
1426 SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_RECORD_LAYER_FAILURE); in ssl_set_new_record_layer()
1438 SSLfatal(s, SSL_AD_INTERNAL_ERROR, SSL_R_NO_SUITABLE_RECORD_LAYER); in ssl_set_new_record_layer()
1446 SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in ssl_set_new_record_layer()
1459 if (!SSL_CONNECTION_IS_DTLS(s) in ssl_set_new_record_layer()
1461 || pqueue_peek(s->d1->sent_messages) == NULL) { in ssl_set_new_record_layer()
1463 SSLfatal(s, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in ssl_set_new_record_layer()
1471 return ssl_post_record_layer_select(s, direction); in ssl_set_new_record_layer()
1474 int ssl_set_record_protocol_version(SSL_CONNECTION *s, int vers) in ssl_set_record_protocol_version() argument
1476 if (!ossl_assert(s->rlayer.rrlmethod != NULL) in ssl_set_record_protocol_version()
1477 || !ossl_assert(s->rlayer.wrlmethod != NULL)) in ssl_set_record_protocol_version()
1479 s->rlayer.rrlmethod->set_protocol_version(s->rlayer.rrl, s->version); in ssl_set_record_protocol_version()
1480 s->rlayer.wrlmethod->set_protocol_version(s->rlayer.wrl, s->version); in ssl_set_record_protocol_version()