summaryrefslogtreecommitdiff
path: root/ssl/s3_pkt.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2011-12-31 22:59:57 +0000
committerDr. Stephen Henson <steve@openssl.org>2011-12-31 22:59:57 +0000
commit4817504d069b4c5082161b02a22116ad75f822b1 (patch)
tree7a85f6af852e34e5b80080b50d80741f6ab36c5a /ssl/s3_pkt.c
parent84b6e277d4f45487377d0159e82c356d750e1218 (diff)
downloadopenssl-new-4817504d069b4c5082161b02a22116ad75f822b1.tar.gz
PR: 2658
Submitted by: Robin Seggelmann <seggelmann@fh-muenster.de> Reviewed by: steve Support for TLS/DTLS heartbeats.
Diffstat (limited to 'ssl/s3_pkt.c')
-rw-r--r--ssl/s3_pkt.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c
index 34a6ad7aea..b2d9b1683b 100644
--- a/ssl/s3_pkt.c
+++ b/ssl/s3_pkt.c
@@ -1070,6 +1070,19 @@ start:
dest = s->s3->alert_fragment;
dest_len = &s->s3->alert_fragment_len;
}
+#ifndef OPENSSL_NO_HEARTBEATS
+ else if (rr->type == TLS1_RT_HEARTBEAT)
+ {
+ tls1_process_heartbeat(s);
+
+ /* Exit and notify application to read again */
+ rr->length = 0;
+ s->rwstate=SSL_READING;
+ BIO_clear_retry_flags(SSL_get_rbio(s));
+ BIO_set_retry_read(SSL_get_rbio(s));
+ return(-1);
+ }
+#endif
if (dest_maxlen > 0)
{