diff options
Diffstat (limited to 'ssl/s3_both.c')
-rw-r--r-- | ssl/s3_both.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ssl/s3_both.c b/ssl/s3_both.c index f1a9282f0e..035a937ba7 100644 --- a/ssl/s3_both.c +++ b/ssl/s3_both.c @@ -342,14 +342,15 @@ 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) && + 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 (maybe we should always allow the client to * start a new handshake?). We need to restart the mac. - */ + * Don't increment {num,total}_renegotiations because + * we have not completed the handshake. */ ssl3_init_finished_mac(s); } |