diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2000-01-02 18:52:58 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2000-01-02 18:52:58 +0000 |
commit | 3d14b9d04a73c3563efba12f16fd179b7aed4fbf (patch) | |
tree | 2f7976cb613382226a6ee3d31d7792da97d2a0aa /ssl/s3_both.c | |
parent | 20432eae41e35ea28a4d43c0dfc7acfdd9672812 (diff) |
Add support for MS "fast SGC".
Diffstat (limited to 'ssl/s3_both.c')
-rw-r--r-- | ssl/s3_both.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ssl/s3_both.c b/ssl/s3_both.c index 4301621d1c..9de3e45f50 100644 --- a/ssl/s3_both.c +++ b/ssl/s3_both.c @@ -293,6 +293,18 @@ long ssl3_get_message(SSL *s, int st1, int stn, int mt, long max, int *ok) SSLerr(SSL_F_SSL3_GET_MESSAGE,SSL_R_UNEXPECTED_MESSAGE); goto f_err; } + if((mt < 0) && (*p == SSL3_MT_CLIENT_HELLO) && + (st1 == SSL3_ST_SR_CERT_A) && + (stn == SSL3_ST_SR_CERT_B)) + { + /* At this point we have got an MS SGC second client + * hello. We need to restart the mac and mac the data + * currently received. + */ + ssl3_init_finished_mac(s); + ssl3_finish_mac(s, p + s->init_num, i); + } + s->s3->tmp.message_type= *(p++); n2l3(p,l); |