diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2009-06-05 15:05:10 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2009-06-05 15:05:10 +0000 |
commit | 1ddf6912449ca02e9cdd106f2c423117d6e2ea62 (patch) | |
tree | 1be09a807090fb2afbc54ad4e049325eb2159a90 /ssl/d1_pkt.c | |
parent | 78074baaddf30637cdd89cec16a75d749d72c895 (diff) |
Update 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 ec7752d93a..d88ef19fcd 100644 --- a/ssl/d1_pkt.c +++ b/ssl/d1_pkt.c @@ -1058,6 +1058,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; |