diff --git a/ssl/d1_pkt.c b/ssl/d1_pkt.c index 4464a305d239857889978d68825f289879667796..39587039aa71058057e1ac27b706facebde0e3e3 100644 --- a/ssl/d1_pkt.c +++ b/ssl/d1_pkt.c @@ -1058,6 +1058,7 @@ start: !(s->s3->flags & SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS) && !s->s3->renegotiate) { + s->d1->handshake_read_seq++; s->new_session = 1; ssl3_renegotiate(s); if (ssl3_renegotiate_check(s)) diff --git a/ssl/d1_srvr.c b/ssl/d1_srvr.c index c628db56ef89102b4235b33520bc1a515dfd3edb..d3afec993db3a7a59eff53556682c1c4d962b943 100644 --- a/ssl/d1_srvr.c +++ b/ssl/d1_srvr.c @@ -294,10 +294,11 @@ int dtls1_accept(SSL *s) case SSL3_ST_SW_HELLO_REQ_B: s->shutdown=0; + dtls1_clear_record_buffer(s); dtls1_start_timer(s); ret=ssl3_send_hello_request(s); if (ret <= 0) goto end; - s->s3->tmp.next_state=SSL3_ST_SW_HELLO_REQ_C; + s->s3->tmp.next_state=SSL3_ST_SR_CLNT_HELLO_A; s->state=SSL3_ST_SW_FLUSH; s->init_num=0;