You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bi...@apache.org on 2016/03/11 04:40:09 UTC
svn commit: r1734491 - /tomcat/native/trunk/native/src/ssl.c
Author: billbarker
Date: Fri Mar 11 03:40:09 2016
New Revision: 1734491
URL: http://svn.apache.org/viewvc?rev=1734491&view=rev
Log:
locking callbacks have been removed in OpenSSL master with no replacement
Modified:
tomcat/native/trunk/native/src/ssl.c
Modified: tomcat/native/trunk/native/src/ssl.c
URL: http://svn.apache.org/viewvc/tomcat/native/trunk/native/src/ssl.c?rev=1734491&r1=1734490&r2=1734491&view=diff
==============================================================================
--- tomcat/native/trunk/native/src/ssl.c (original)
+++ tomcat/native/trunk/native/src/ssl.c Fri Mar 11 03:40:09 2016
@@ -348,6 +348,7 @@ static ENGINE *ssl_try_load_engine(const
* To ensure thread-safetyness in OpenSSL
*/
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
static apr_thread_mutex_t **ssl_lock_cs;
static int ssl_lock_num_locks;
@@ -365,6 +366,7 @@ static void ssl_thread_lock(int mode, in
}
}
}
+#endif
static unsigned long ssl_thread_id(void)
{
@@ -394,10 +396,14 @@ static void ssl_set_thread_id(CRYPTO_THR
static apr_status_t ssl_thread_cleanup(void *data)
{
UNREFERENCED(data);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
CRYPTO_set_locking_callback(NULL);
+#endif
CRYPTO_THREADID_set_callback(NULL);
CRYPTO_set_dynlock_create_callback(NULL);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
CRYPTO_set_dynlock_lock_callback(NULL);
+#endif
CRYPTO_set_dynlock_destroy_callback(NULL);
dynlockpool = NULL;
@@ -440,6 +446,7 @@ static struct CRYPTO_dynlock_value *ssl_
using our own pool. */
value->file = apr_pstrdup(p, file);
value->line = line;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
rv = apr_thread_mutex_create(&(value->mutex), APR_THREAD_MUTEX_DEFAULT,
p);
if (rv != APR_SUCCESS) {
@@ -447,6 +454,7 @@ static struct CRYPTO_dynlock_value *ssl_
apr_pool_destroy(p);
return NULL;
}
+#endif
return value;
}
@@ -454,6 +462,7 @@ static struct CRYPTO_dynlock_value *ssl_
* Dynamic locking and unlocking function
*/
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
static void ssl_dyn_lock_function(int mode, struct CRYPTO_dynlock_value *l,
const char *file, int line)
{
@@ -466,6 +475,7 @@ static void ssl_dyn_lock_function(int mo
apr_thread_mutex_unlock(l->mutex);
}
}
+#endif
/*
* Dynamic lock destruction callback
@@ -474,11 +484,12 @@ static void ssl_dyn_destroy_function(str
const char *file, int line)
{
apr_status_t rv;
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
rv = apr_thread_mutex_destroy(l->mutex);
if (rv != APR_SUCCESS) {
/* TODO log that fprintf(stderr, "Failed to destroy mutex for dynamic lock %s:%d", l->file, l->line); */
}
-
+#endif
/* Trust that whomever owned the CRYPTO_dynlock_value we were
* passed has no future use for it...
*/
@@ -488,6 +499,8 @@ static void ssl_thread_setup(apr_pool_t
{
int i;
+ CRYPTO_THREADID_set_callback(ssl_set_thread_id);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
ssl_lock_num_locks = CRYPTO_num_locks();
ssl_lock_cs = apr_palloc(p, ssl_lock_num_locks * sizeof(*ssl_lock_cs));
@@ -496,15 +509,16 @@ static void ssl_thread_setup(apr_pool_t
APR_THREAD_MUTEX_DEFAULT, p);
}
- CRYPTO_THREADID_set_callback(ssl_set_thread_id);
CRYPTO_set_locking_callback(ssl_thread_lock);
-
+#endif
/* Set up dynamic locking scaffolding for OpenSSL to use at its
* convenience.
*/
dynlockpool = p;
CRYPTO_set_dynlock_create_callback(ssl_dyn_create_function);
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
CRYPTO_set_dynlock_lock_callback(ssl_dyn_lock_function);
+#endif
CRYPTO_set_dynlock_destroy_callback(ssl_dyn_destroy_function);
apr_pool_cleanup_register(p, NULL, ssl_thread_cleanup,
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org