projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DTLS message_sequence number wrong in rehandshake ServerHello
[openssl.git]
/
ssl
/
d1_srvr.c
diff --git
a/ssl/d1_srvr.c
b/ssl/d1_srvr.c
index 27f31b6762c81da83994e51ce2552c4309cd0bf8..d3afec993db3a7a59eff53556682c1c4d962b943 100644
(file)
--- 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;
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;
dtls1_start_timer(s);
ret=ssl3_send_hello_request(s);
if (ret <= 0) goto end;
- s->s3->tmp.next_state=SSL3_ST_S
W_HELLO_REQ_C
;
+ s->s3->tmp.next_state=SSL3_ST_S
R_CLNT_HELLO_A
;
s->state=SSL3_ST_SW_FLUSH;
s->init_num=0;
s->state=SSL3_ST_SW_FLUSH;
s->init_num=0;
@@
-667,7
+668,7
@@
int dtls1_accept(SSL *s)
*/
if (!s->s3->handshake_buffer)
{
*/
if (!s->s3->handshake_buffer)
{
- SSLerr(SSL_F_
SSL3
_ACCEPT,ERR_R_INTERNAL_ERROR);
+ SSLerr(SSL_F_
DTLS1
_ACCEPT,ERR_R_INTERNAL_ERROR);
return -1;
}
s->s3->flags |= TLS1_FLAGS_KEEP_HANDSHAKE;
return -1;
}
s->s3->flags |= TLS1_FLAGS_KEEP_HANDSHAKE;