diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2009-06-05 14:59:26 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2009-06-05 14:59:26 +0000 |
commit | 58f41a926a73bd5c49beb91991b486d4e0b544f5 (patch) | |
tree | 8d2cd903536ebd79dfb8c315727c6583fef3157d /ssl/d1_pkt.c | |
parent | 81d06ef2fd64512e3833a13bedc004802003fbfa (diff) |
Updates from 1.0.0-stable
Diffstat (limited to 'ssl/d1_pkt.c')
-rw-r--r-- | ssl/d1_pkt.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ssl/d1_pkt.c b/ssl/d1_pkt.c index a89edbc7a7..394daf6258 100644 --- a/ssl/d1_pkt.c +++ b/ssl/d1_pkt.c @@ -1102,6 +1102,16 @@ start: s->msg_callback(0, s->version, SSL3_RT_CHANGE_CIPHER_SPEC, rr->data, 1, s, s->msg_callback_arg); + /* We can't process a CCS now, because previous handshake + * messages are still missing, so just drop it. + */ + if (!s->d1->change_cipher_spec_ok) + { + goto start; + } + + s->d1->change_cipher_spec_ok = 0; + s->s3->change_cipher_spec=1; if (!ssl3_do_change_cipher_spec(s)) goto err; |