summaryrefslogtreecommitdiffstats
path: root/ssl/d1_pkt.c
diff options
context:
space:
mode:
authorMichael Tuexen <tuexen@fh-muenster.de>2013-08-13 18:53:19 +0100
committerDr. Stephen Henson <steve@openssl.org>2013-08-13 18:55:16 +0100
commit75b81247a0629b86f18ca8ccad64851d242f87ed (patch)
tree322828244cc0bc30810e1065790c074478523cab /ssl/d1_pkt.c
parent2c1a5c1039253abf6776b389c71dfae4c8ba8875 (diff)
DTLS message_sequence number wrong in rehandshake ServerHello
This fix ensures that * A HelloRequest is retransmitted if not responded by a ClientHello * The HelloRequest "consumes" the sequence number 0. The subsequent ServerHello uses the sequence number 1. * The client also expects the sequence number of the ServerHello to be 1 if a HelloRequest was received earlier. This patch fixes the RFC violation. (cherry picked from commit b62f4daac00303280361924b9cc19b3e27528b15)
Diffstat (limited to 'ssl/d1_pkt.c')
-rw-r--r--ssl/d1_pkt.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ssl/d1_pkt.c b/ssl/d1_pkt.c
index e0bbcb982d..8186462d4a 100644
--- a/ssl/d1_pkt.c
+++ b/ssl/d1_pkt.c
@@ -1057,6 +1057,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))