diff options
author | Xin LI <delphij@FreeBSD.org> | 2013-04-02 17:34:42 +0000 |
---|---|---|
committer | Xin LI <delphij@FreeBSD.org> | 2013-04-02 17:34:42 +0000 |
commit | 0d9d75b124880ee5a3aeb5c2af92a04340c02bef (patch) | |
tree | 953639ad57c000dc6351819b4798541490d39802 /crypto/openssl/ssl/d1_clnt.c | |
parent | 660eb4006e69a82831062be4a4af070afccf64bc (diff) |
Notes
Diffstat (limited to 'crypto/openssl/ssl/d1_clnt.c')
-rw-r--r-- | crypto/openssl/ssl/d1_clnt.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/crypto/openssl/ssl/d1_clnt.c b/crypto/openssl/ssl/d1_clnt.c index 0aa77ee51d50..ac24bfb35ed8 100644 --- a/crypto/openssl/ssl/d1_clnt.c +++ b/crypto/openssl/ssl/d1_clnt.c @@ -257,7 +257,6 @@ int dtls1_connect(SSL *s) if (ret <= 0) goto end; else { - dtls1_stop_timer(s); if (s->hit) s->state=SSL3_ST_CR_FINISHED_A; else @@ -350,6 +349,7 @@ int dtls1_connect(SSL *s) case SSL3_ST_CR_SRVR_DONE_B: ret=ssl3_get_server_done(s); if (ret <= 0) goto end; + dtls1_stop_timer(s); if (s->s3->tmp.cert_req) s->state=SSL3_ST_CW_CERT_A; else @@ -403,7 +403,8 @@ int dtls1_connect(SSL *s) case SSL3_ST_CW_CHANGE_A: case SSL3_ST_CW_CHANGE_B: - dtls1_start_timer(s); + if (!s->hit) + dtls1_start_timer(s); ret=dtls1_send_change_cipher_spec(s, SSL3_ST_CW_CHANGE_A,SSL3_ST_CW_CHANGE_B); if (ret <= 0) goto end; @@ -438,7 +439,8 @@ int dtls1_connect(SSL *s) case SSL3_ST_CW_FINISHED_A: case SSL3_ST_CW_FINISHED_B: - dtls1_start_timer(s); + if (!s->hit) + dtls1_start_timer(s); ret=dtls1_send_finished(s, SSL3_ST_CW_FINISHED_A,SSL3_ST_CW_FINISHED_B, s->method->ssl3_enc->client_finished_label, |