summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Laurie <ben@links.org>2014-07-06 11:07:16 +0100
committerBen Laurie <ben@links.org>2014-07-06 11:07:16 +0100
commita887525f5bcf2e26191891fde50042b869234868 (patch)
tree3e605338b2fe5b08dbd37f089725a730e91635e0
parent772efd4099c8e93290a5109302c03f0147275497 (diff)
downloadopenssl-new-eliminate-ssl-ctrl.tar.gz
Make SSL_heartbeat() a real function.eliminate-ssl-ctrl
-rw-r--r--ssl/s3_lib.c27
-rw-r--r--ssl/ssl.h5
-rw-r--r--ssl/tls1.h3
3 files changed, 13 insertions, 22 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
index d1db6b3de2..ab2fe87806 100644
--- a/ssl/s3_lib.c
+++ b/ssl/s3_lib.c
@@ -3416,7 +3416,7 @@ void SSL_set_tlsext_status_ocsp_resp(SSL *s, unsigned char *resp,
s->tlsext_ocsp_resplen = resplen;
}
-#ifdef TLSEXT_TYPE_opaque_prf_input
+# ifdef TLSEXT_TYPE_opaque_prf_input
int SSL_set_tlsext_opaque_prf_input(SSL *s, const void *src, size_t len)
{
if (len > 12288) /* actual internal limit is 2^16 for the
@@ -3440,13 +3440,15 @@ int SSL_set_tlsext_opaque_prf_input(SSL *s, const void *src, size_t len)
s->tlsext_opaque_prf_input_len = 0;
return 0;
}
+# endif
+# ifndef OPENSSL_NO_HEARTBEATS
int SSL_get_tlsext_heartbeat_pending(SSL *s)
{
return s->tlsext_hb_pending;
}
-void SSL_set_tlsext_heartbeat_no_requests(SSL, unsigned set)
+void SSL_set_tlsext_heartbeat_no_requests(SSL *s, unsigned set)
{
if (set)
s->tlsext_heartbeat |= SSL_TLSEXT_HB_DONT_RECV_REQUESTS;
@@ -3454,7 +3456,13 @@ void SSL_set_tlsext_heartbeat_no_requests(SSL, unsigned set)
s->tlsext_heartbeat &= ~SSL_TLSEXT_HB_DONT_RECV_REQUESTS;
}
-#endif
+unsigned SSL_heartbeat(SSL *s)
+ {
+ if (SSL_IS_DTLS(s))
+ return dtls1_heartbeat(s);
+ return tls1_heartbeat(s);
+ }
+# endif /* ndef OPENSSL_NO_HEARTBEATS */
#endif /* ndef OPENSSL_NO_TLSEXT */
@@ -3618,19 +3626,6 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
}
break;
#endif /* !OPENSSL_NO_ECDH */
-#ifndef OPENSSL_NO_TLSEXT
-
-#ifndef OPENSSL_NO_HEARTBEATS
- case SSL_CTRL_TLS_EXT_SEND_HEARTBEAT:
- if (SSL_IS_DTLS(s))
- ret = dtls1_heartbeat(s);
- else
- ret = tls1_heartbeat(s);
- break;
-
-#endif
-
-#endif /* !OPENSSL_NO_TLSEXT */
case SSL_CTRL_CHAIN:
if (larg)
diff --git a/ssl/ssl.h b/ssl/ssl.h
index cd1189f0da..7d7aee9feb 100644
--- a/ssl/ssl.h
+++ b/ssl/ssl.h
@@ -814,11 +814,6 @@ struct ssl_session_st
#define SSL_get_secure_renegotiation_support(ssl) \
SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL)
-#ifndef OPENSSL_NO_HEARTBEATS
-#define SSL_heartbeat(ssl) \
- SSL_ctrl((ssl),SSL_CTRL_TLS_EXT_SEND_HEARTBEAT,0,NULL)
-#endif
-
#define SSL_CTX_set_cert_flags(ctx,op) \
SSL_CTX_ctrl((ctx),SSL_CTRL_CERT_FLAGS,(op),NULL)
#define SSL_set_cert_flags(s,op) \
diff --git a/ssl/tls1.h b/ssl/tls1.h
index 1429dbabf2..1dd335c392 100644
--- a/ssl/tls1.h
+++ b/ssl/tls1.h
@@ -359,7 +359,8 @@ void SSL_set_tlsext_opaque_prf_input(SSL *s, const void *src, size_t len);
# endif
# ifndef OPENSSL_NO_HEARTBEATS
int SSL_get_tlsext_heartbeat_pending(SSL *s);
-void SSL_set_tlsext_heartbeat_no_requests(SSL, unsigned set);
+void SSL_set_tlsext_heartbeat_no_requests(SSL *s, unsigned set);
+void SSL_heartbeat(SSL *s);
# endif
#endif /* ndef OPENSSL_NO_TLSEXT */