diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2011-12-31 22:59:57 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2011-12-31 22:59:57 +0000 |
commit | 4817504d069b4c5082161b02a22116ad75f822b1 (patch) | |
tree | 7a85f6af852e34e5b80080b50d80741f6ab36c5a /ssl/s3_pkt.c | |
parent | 84b6e277d4f45487377d0159e82c356d750e1218 (diff) | |
download | openssl-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.c | 13 |
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) { |