summaryrefslogtreecommitdiffstats
path: root/ssl/d1_both.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2009-05-15 22:58:13 +0000
committerDr. Stephen Henson <steve@openssl.org>2009-05-15 22:58:13 +0000
commitd6584eba8cd56b317f57e9758191c07cf8038b0e (patch)
tree256feeaaf51b13614f506d7cb436cb1855a211e1 /ssl/d1_both.c
parenta379c433a38c7c06e0f8054afec8c7c77d3da2a1 (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.c5
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)