You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2014/02/05 01:30:38 UTC
[31/34] git commit: TS-2552 configure fails to detect missing the
#define for SSL_CTX_set_tlsext_ticket_key_cb().
TS-2552 configure fails to detect missing the #define for SSL_CTX_set_tlsext_ticket_key_cb().
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/d26cb392
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/d26cb392
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/d26cb392
Branch: refs/heads/5.0.x
Commit: d26cb39205ffc27e81a02c21c6e5a8c69a2bc09d
Parents: 5ce808d
Author: Leif Hedstrom <zw...@apache.org>
Authored: Tue Feb 4 09:52:39 2014 -0700
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Tue Feb 4 09:52:39 2014 -0700
----------------------------------------------------------------------
CHANGES | 3 +++
build/crypto.m4 | 35 -----------------------------------
configure.ac | 4 ----
iocore/net/SSLUtils.cc | 18 ++++++++++--------
lib/ts/ink_config.h.in | 1 -
5 files changed, 13 insertions(+), 48 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d26cb392/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 42af7d2..70860ed 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 4.2.0
+ *) [TS-2552] configure fails to detect missing the #define for
+ SSL_CTX_set_tlsext_ticket_key_cb().
+
*) [TS-2549] printf() compiler warnings on OSX (clang) with the CPP APIs.
*) [TS-2532] Fix make distclean for C++ API examples.
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d26cb392/build/crypto.m4
----------------------------------------------------------------------
diff --git a/build/crypto.m4 b/build/crypto.m4
index 08730c9..4c5f8eb 100644
--- a/build/crypto.m4
+++ b/build/crypto.m4
@@ -68,41 +68,6 @@ AC_DEFUN([TS_CHECK_CRYPTO_NEXTPROTONEG], [
AC_SUBST(use_tls_npn)
])
-AC_DEFUN([TS_CHECK_CRYPTO_TICKETS], [
- _tickets_saved_LIBS=$LIBS
- enable_tls_tickets=yes
-
- TS_ADDTO(LIBS, [$OPENSSL_LIBS])
- AC_CHECK_HEADERS(openssl/tls1.h openssl/ssl.h openssl/ts.h openssl/hmac.h openssl/evp.h)
- AC_MSG_CHECKING([for SSL_CTX_set_tlsext_ticket_key_cb])
- AC_COMPILE_IFELSE(
- [
- AC_LANG_PROGRAM([[
-#if HAVE_OPENSSL_SSL_H
-#include <openssl/ssl.h>
-#endif
-#if HAVE_OPENSSL_TLS1_H
-#include <openssl/tls1.h>
-#endif
- ]],
- [[SSL_CTX_set_tlsext_ticket_key_cb(NULL, NULL);]])
- ],
- [
- AC_MSG_RESULT([yes])
- ],
- [
- AC_MSG_RESULT([no])
- enable_tls_tickets=no
- ])
-
- LIBS=$_tickets_saved_LIBS
-
- AC_MSG_CHECKING(whether to enable TLS session ticket support)
- AC_MSG_RESULT([$enable_tls_tickets])
- TS_ARG_ENABLE_VAR([use], [tls-tickets])
- AC_SUBST(use_tls_tickets)
-])
-
AC_DEFUN([TS_CHECK_CRYPTO_SNI], [
_sni_saved_LIBS=$LIBS
enable_tls_sni=yes
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d26cb392/configure.ac
----------------------------------------------------------------------
diff --git a/configure.ac b/configure.ac
index 8458c04..05fa46f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1139,10 +1139,6 @@ TS_CHECK_CRYPTO_EC_KEYS
TS_CHECK_CRYPTO_SNI
#
-# Check for RFC5077 TLS session ticket support.
-TS_CHECK_CRYPTO_TICKETS
-
-#
# Check for zlib presence and usability
TS_CHECK_ZLIB
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d26cb392/iocore/net/SSLUtils.cc
----------------------------------------------------------------------
diff --git a/iocore/net/SSLUtils.cc b/iocore/net/SSLUtils.cc
index 44db439..4b1b646 100644
--- a/iocore/net/SSLUtils.cc
+++ b/iocore/net/SSLUtils.cc
@@ -70,9 +70,11 @@ typedef const SSL_METHOD * ink_ssl_method_t;
typedef SSL_METHOD * ink_ssl_method_t;
#endif
-#if TS_USE_TLS_TICKETS
-static int ssl_callback_session_ticket(SSL *, unsigned char *, unsigned char *, EVP_CIPHER_CTX *, HMAC_CTX *, int);
-#endif /* TS_USE_TLS_TICKETS */
+// Check if the ticket_key callback #define is available, and if so, enable session tickets.
+#ifdef SSL_CTX_set_tlsext_ticket_key_cb
+# define HAVE_OPENSSL_SESSION_TICKETS 1
+ static int ssl_callback_session_ticket(SSL *, unsigned char *, unsigned char *, EVP_CIPHER_CTX *, HMAC_CTX *, int);
+#endif /* SSL_CTX_set_tlsext_ticket_key_cb */
struct ssl_ticket_key_t
{
@@ -254,7 +256,7 @@ ssl_context_enable_ecdh(SSL_CTX * ctx)
static SSL_CTX *
ssl_context_enable_tickets(SSL_CTX * ctx, const char * ticket_key_path)
{
-#if TS_USE_TLS_TICKETS
+#if HAVE_OPENSSL_SESSION_TICKETS
xptr<char> ticket_key_data;
int ticket_key_len;
ssl_ticket_key_t * ticket_key = NULL;
@@ -295,10 +297,10 @@ fail:
delete ticket_key;
return ctx;
-#else /* TS_USE_TLS_TICKETS */
+#else /* !HAVE_OPENSSL_SESSION_TICKETS */
(void)ticket_key_path;
return ctx;
-#endif /* TS_USE_TLS_TICKETS */
+#endif /* HAVE_OPENSSL_SESSION_TICKETS */
}
void
@@ -900,7 +902,7 @@ SSLParseCertificateConfiguration(
return true;
}
-#if TS_USE_TLS_TICKETS
+#if HAVE_OPENSSL_SESSION_TICKETS
/*
* RFC 5077. Create session ticket to resume SSL session without requiring session-specific state at the TLS server.
* Specifically, it distributes the encrypted session-state information to the client in the form of a ticket and
@@ -945,7 +947,7 @@ ssl_callback_session_ticket(
return -1;
}
-#endif /* TS_USE_TLS_TICKETS */
+#endif /* HAVE_OPENSSL_SESSION_TICKETS */
void
SSLReleaseContext(SSL_CTX * ctx)
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d26cb392/lib/ts/ink_config.h.in
----------------------------------------------------------------------
diff --git a/lib/ts/ink_config.h.in b/lib/ts/ink_config.h.in
index ba6fd53..8268c5d 100644
--- a/lib/ts/ink_config.h.in
+++ b/lib/ts/ink_config.h.in
@@ -68,7 +68,6 @@
#define TS_USE_TLS_NPN @use_tls_npn@
#define TS_USE_TLS_SNI @use_tls_sni@
#define TS_USE_TLS_ECKEY @use_tls_eckey@
-#define TS_USE_TLS_TICKETS @use_tls_tickets@
#define TS_USE_LINUX_NATIVE_AIO @use_linux_native_aio@
#define TS_USE_COP_DEBUG @use_cop_debug@
#define TS_USE_INTERIM_CACHE @has_interim_cache@