diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2009-05-15 22:58:13 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2009-05-15 22:58:13 +0000 |
commit | d6584eba8cd56b317f57e9758191c07cf8038b0e (patch) | |
tree | 256feeaaf51b13614f506d7cb436cb1855a211e1 /ssl/d1_both.c | |
parent | a379c433a38c7c06e0f8054afec8c7c77d3da2a1 (diff) |
PR: 1922
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de>
Approved by: steve@openssl.org
DTLS Timer bug fix.
Diffstat (limited to 'ssl/d1_both.c')
-rw-r--r-- | ssl/d1_both.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ssl/d1_both.c b/ssl/d1_both.c index 8883760da5..928a005e53 100644 --- a/ssl/d1_both.c +++ b/ssl/d1_both.c @@ -883,7 +883,6 @@ unsigned long dtls1_output_cert_chain(SSL *s, X509 *x) int dtls1_read_failed(SSL *s, int code) { DTLS1_STATE *state; - BIO *bio; int send_alert = 0; if ( code > 0) @@ -892,8 +891,7 @@ int dtls1_read_failed(SSL *s, int code) return 1; } - bio = SSL_get_rbio(s); - if ( ! BIO_dgram_recv_timedout(bio)) + if (!dtls1_is_timer_expired(s)) { /* not a timeout, none of our business, let higher layers handle this. in fact it's probably an error */ @@ -906,6 +904,7 @@ int dtls1_read_failed(SSL *s, int code) return code; } + dtls1_double_timeout(s); state = s->d1; state->timeout.num_alerts++; if ( state->timeout.num_alerts > DTLS1_TMO_ALERT_COUNT) |