summaryrefslogtreecommitdiffstats
path: root/ssl/d1_clnt.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2011-12-31 23:00:36 +0000
committerDr. Stephen Henson <steve@openssl.org>2011-12-31 23:00:36 +0000
commitbd6941cfaa31ee8a3f8661cb98227a5cbcc0f9f3 (patch)
tree218fef78d2db96f5eb399893de2f44f448c58a84 /ssl/d1_clnt.c
parent578519edd0d0a810a11bfb7baede0f7b99c7d92b (diff)
PR: 2658
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Reviewed by: steve Support for TLS/DTLS heartbeats.
Diffstat (limited to 'ssl/d1_clnt.c')
-rw-r--r--ssl/d1_clnt.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ssl/d1_clnt.c b/ssl/d1_clnt.c
index 8a0d6fc07c..1b518d981e 100644
--- a/ssl/d1_clnt.c
+++ b/ssl/d1_clnt.c
@@ -176,6 +176,19 @@ int dtls1_connect(SSL *s)
BIO_ctrl(SSL_get_wbio(s), BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE, s->in_handshake, NULL);
#endif
+#ifndef OPENSSL_NO_HEARTBEATS
+ /* If we're awaiting a HeartbeatResponse, pretend we
+ * already got and don't await it anymore, because
+ * Heartbeats don't make sense during handshakes anyway.
+ */
+ if (s->tlsext_hb_pending)
+ {
+ dtls1_stop_timer(s);
+ s->tlsext_hb_pending = 0;
+ s->tlsext_hb_seq++;
+ }
+#endif
+
for (;;)
{
state=s->state;