Lines Matching refs:sc
207 SSL_CONNECTION *sc = SSL_CONNECTION_FROM_SSL(s); in dtls1_read_bytes() local
209 if (sc == NULL) in dtls1_read_bytes()
215 SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in dtls1_read_bytes()
219 if (!ossl_statem_get_in_handshake(sc) && SSL_in_init(s)) { in dtls1_read_bytes()
221 i = sc->handshake_func(s); in dtls1_read_bytes()
230 sc->rwstate = SSL_NOTHING; in dtls1_read_bytes()
237 dtls_unbuffer_record(sc); in dtls1_read_bytes()
240 if (dtls1_handle_timeout(sc) > 0) { in dtls1_read_bytes()
242 } else if (ossl_statem_in_error(sc)) { in dtls1_read_bytes()
248 if (sc->rlayer.curr_rec >= sc->rlayer.num_recs) { in dtls1_read_bytes()
249 sc->rlayer.curr_rec = sc->rlayer.num_recs = 0; in dtls1_read_bytes()
251 rr = &sc->rlayer.tlsrecs[sc->rlayer.num_recs]; in dtls1_read_bytes()
253 ret = HANDLE_RLAYER_READ_RETURN(sc, in dtls1_read_bytes()
254 sc->rlayer.rrlmethod->read_record(sc->rlayer.rrl, in dtls1_read_bytes()
260 ret = dtls1_read_failed(sc, ret); in dtls1_read_bytes()
271 sc->rlayer.num_recs++; in dtls1_read_bytes()
272 } while (sc->rlayer.rrlmethod->processed_read_pending(sc->rlayer.rrl) in dtls1_read_bytes()
273 && sc->rlayer.num_recs < SSL_MAX_PIPELINES); in dtls1_read_bytes()
275 rr = &sc->rlayer.tlsrecs[sc->rlayer.curr_rec]; in dtls1_read_bytes()
282 sc->rlayer.alert_count = 0; in dtls1_read_bytes()
286 if (sc->s3.change_cipher_spec /* set when we receive ChangeCipherSpec, in dtls1_read_bytes()
294 if (dtls_buffer_record(sc, rr) < 0) { in dtls1_read_bytes()
298 if (!ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
307 if (sc->shutdown & SSL_RECEIVED_SHUTDOWN) { in dtls1_read_bytes()
308 if (!ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
310 sc->rwstate = SSL_NOTHING; in dtls1_read_bytes()
327 && (SSL_IS_FIRST_HANDSHAKE(sc))) { in dtls1_read_bytes()
328 SSLfatal(sc, SSL_AD_UNEXPECTED_MESSAGE, in dtls1_read_bytes()
342 if (rr->length == 0 && !ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
354 if (rr->length == 0 && !ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
357 if (!ssl_release_record(sc, rr, n)) in dtls1_read_bytes()
367 sc->d1->shutdown_received in dtls1_read_bytes()
369 sc->shutdown |= SSL_RECEIVED_SHUTDOWN; in dtls1_read_bytes()
391 SSLfatal(sc, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_INVALID_ALERT); in dtls1_read_bytes()
395 if (sc->msg_callback) in dtls1_read_bytes()
396 sc->msg_callback(0, sc->version, SSL3_RT_ALERT, alert_bytes, 2, s, in dtls1_read_bytes()
397 sc->msg_callback_arg); in dtls1_read_bytes()
399 if (sc->info_callback != NULL) in dtls1_read_bytes()
400 cb = sc->info_callback; in dtls1_read_bytes()
410 sc->s3.warn_alert = alert_descr; in dtls1_read_bytes()
411 if (!ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
414 sc->rlayer.alert_count++; in dtls1_read_bytes()
415 if (sc->rlayer.alert_count == MAX_WARN_ALERT_COUNT) { in dtls1_read_bytes()
416 SSLfatal(sc, SSL_AD_UNEXPECTED_MESSAGE, in dtls1_read_bytes()
430 sc->d1->shutdown_received = 1; in dtls1_read_bytes()
431 sc->rwstate = SSL_READING; in dtls1_read_bytes()
437 sc->shutdown |= SSL_RECEIVED_SHUTDOWN; in dtls1_read_bytes()
448 SSLfatal(sc, SSL_AD_HANDSHAKE_FAILURE, SSL_R_NO_RENEGOTIATION); in dtls1_read_bytes()
452 sc->rwstate = SSL_NOTHING; in dtls1_read_bytes()
453 sc->s3.fatal_alert = alert_descr; in dtls1_read_bytes()
454 SSLfatal_data(sc, SSL_AD_NO_ALERT, in dtls1_read_bytes()
457 sc->shutdown |= SSL_RECEIVED_SHUTDOWN; in dtls1_read_bytes()
458 if (!ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
460 SSL_CTX_remove_session(sc->session_ctx, sc->session); in dtls1_read_bytes()
463 SSLfatal(sc, SSL_AD_ILLEGAL_PARAMETER, SSL_R_UNKNOWN_ALERT_TYPE); in dtls1_read_bytes()
470 if (sc->shutdown & SSL_SENT_SHUTDOWN) { /* but we have not received a in dtls1_read_bytes()
472 sc->rwstate = SSL_NOTHING; in dtls1_read_bytes()
473 if (!ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
483 if (!ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
491 if (rr->type == SSL3_RT_HANDSHAKE && !ossl_statem_get_in_handshake(sc)) { in dtls1_read_bytes()
498 if (rr->epoch != sc->rlayer.d->r_epoch in dtls1_read_bytes()
500 if (!ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
512 if (dtls1_check_timeout_num(sc) < 0) { in dtls1_read_bytes()
517 if (dtls1_retransmit_buffered_messages(sc) <= 0) { in dtls1_read_bytes()
519 if (ossl_statem_in_error(sc)) in dtls1_read_bytes()
522 if (!ssl_release_record(sc, rr, 0)) in dtls1_read_bytes()
524 if (!(sc->mode & SSL_MODE_AUTO_RETRY)) { in dtls1_read_bytes()
525 if (!sc->rlayer.rrlmethod->unprocessed_read_pending(sc->rlayer.rrl)) { in dtls1_read_bytes()
529 sc->rwstate = SSL_READING; in dtls1_read_bytes()
546 SSLfatal(sc, SSL_AD_INTERNAL_ERROR, ERR_R_INTERNAL_ERROR); in dtls1_read_bytes()
551 ossl_statem_set_in_init(sc, 1); in dtls1_read_bytes()
553 i = sc->handshake_func(s); in dtls1_read_bytes()
560 if (!(sc->mode & SSL_MODE_AUTO_RETRY)) { in dtls1_read_bytes()
561 if (!sc->rlayer.rrlmethod->unprocessed_read_pending(sc->rlayer.rrl)) { in dtls1_read_bytes()
570 sc->rwstate = SSL_READING; in dtls1_read_bytes()
582 SSLfatal(sc, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_UNEXPECTED_RECORD); in dtls1_read_bytes()
592 SSLfatal(sc, SSL_AD_UNEXPECTED_MESSAGE, ERR_R_INTERNAL_ERROR); in dtls1_read_bytes()
602 if (sc->s3.in_read_app_data && in dtls1_read_bytes()
603 (sc->s3.total_renegotiations != 0) && in dtls1_read_bytes()
604 ossl_statem_app_data_allowed(sc)) { in dtls1_read_bytes()
605 sc->s3.in_read_app_data = 2; in dtls1_read_bytes()
608 SSLfatal(sc, SSL_AD_UNEXPECTED_MESSAGE, SSL_R_UNEXPECTED_RECORD); in dtls1_read_bytes()
633 int do_dtls1_write(SSL_CONNECTION *sc, uint8_t type, const unsigned char *buf, in do_dtls1_write() argument
638 SSL *s = SSL_CONNECTION_GET_SSL(sc); in do_dtls1_write()
642 if (sc->s3.alert_dispatch > 0) { in do_dtls1_write()
652 if (len > ssl_get_max_send_fragment(sc)) { in do_dtls1_write()
653 SSLfatal(sc, SSL_AD_INTERNAL_ERROR, SSL_R_EXCEEDS_MAX_FRAGMENT_SIZE); in do_dtls1_write()
664 && sc->max_proto_version != DTLS1_BAD_VER) in do_dtls1_write()
667 tmpl.version = sc->version; in do_dtls1_write()
671 ret = HANDLE_RLAYER_WRITE_RETURN(sc, in do_dtls1_write()
672 sc->rlayer.wrlmethod->write_records(sc->rlayer.wrl, &tmpl, 1)); in do_dtls1_write()