From d6584eba8cd56b317f57e9758191c07cf8038b0e Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Fri, 15 May 2009 22:58:13 +0000 Subject: PR: 1922 Submitted by: Robin Seggelmann Approved by: steve@openssl.org DTLS Timer bug fix. --- ssl/d1_both.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'ssl/d1_both.c') 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) -- cgit v1.2.3