Skip to content

Commit

Permalink
Revert "tls: support compilation without deprecated OpenSSL APIs"
Browse files Browse the repository at this point in the history
This reverts commit 10af8ef.
  • Loading branch information
linuxmaniac committed Sep 2, 2020
1 parent e7cf062 commit 0f6dea7
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 14 deletions.
4 changes: 1 addition & 3 deletions src/modules/tls/tls_domain.c
Expand Up @@ -27,8 +27,6 @@
#include <stdlib.h>
#include <openssl/ssl.h>
#include <openssl/opensslv.h>
#include <openssl/bn.h>
#include <openssl/dh.h>

#ifndef OPENSSL_NO_ENGINE
#include <openssl/engine.h>
Expand Down Expand Up @@ -63,7 +61,7 @@ static void setup_ecdh(SSL_CTX *ctx)
{
EC_KEY *ecdh;

if (OpenSSL_version_num() < 0x1000005fL) {
if (SSLeay() < 0x1000005fL) {
return;
}

Expand Down
15 changes: 7 additions & 8 deletions src/modules/tls/tls_init.c
Expand Up @@ -627,13 +627,14 @@ int tls_h_mod_pre_init_f(void)
return 0;
}
LM_DBG("preparing tls env for modules initialization\n");
#if OPENSSL_VERSION_NUMBER < 0x010100000L || defined(LIBRESSL_VERSION_NUMBER)
#if OPENSSL_VERSION_NUMBER >= 0x010100000L && !defined(LIBRESSL_VERSION_NUMBER)
LM_DBG("preparing tls env for modules initialization (libssl >=1.1)\n");
OPENSSL_init_ssl(0, NULL);
#else
LM_DBG("preparing tls env for modules initialization (libssl <=1.0)\n");
SSL_library_init();
SSL_load_error_strings();
#else
LM_DBG("preparing tls env for modules initialization (libssl >=1.1)\n");
#endif
SSL_load_error_strings();
tls_mod_preinitialized=1;
return 0;
}
Expand Down Expand Up @@ -667,7 +668,7 @@ int tls_h_mod_init_f(void)
#if OPENSSL_VERSION_NUMBER < 0x00907000L
LM_WARN("You are using an old version of OpenSSL (< 0.9.7). Upgrade!\n");
#endif
ssl_version=OpenSSL_version_num();
ssl_version=SSLeay();
/* check if version have the same major minor and fix level
* (e.g. 0.9.8a & 0.9.8c are ok, but 0.9.8 and 0.9.9x are not)
* - values is represented as 0xMMNNFFPPS: major minor fix patch status
Expand All @@ -679,7 +680,7 @@ int tls_h_mod_init_f(void)
" compiled \"%s\" (0x%08lx).\n"
" Please make sure a compatible version is used"
" (tls_force_run in kamailio.cfg will override this check)\n",
OpenSSL_version(OPENSSL_VERSION), ssl_version,
SSLeay_version(SSLEAY_VERSION), ssl_version,
OPENSSL_VERSION_TEXT, (long)OPENSSL_VERSION_NUMBER);
if (cfg_get(tls, tls_cfg, force_run))
LM_WARN("tls_force_run turned on, ignoring "
Expand Down Expand Up @@ -856,7 +857,6 @@ int tls_check_sockets(tls_domains_cfg_t* cfg)
void tls_h_mod_destroy_f(void)
{
LM_DBG("tls module final tls destroy\n");
#if OPENSSL_VERSION_NUMBER < 0x010100000L || defined(LIBRESSL_VERSION_NUMBER)
if(tls_mod_preinitialized > 0)
ERR_free_strings();
/* TODO: free all the ctx'es */
Expand All @@ -869,5 +869,4 @@ void tls_h_mod_destroy_f(void)
LM_DBG("executing openssl v1.1+ cleanup\n");
OPENSSL_cleanup();
#endif
#endif
}
6 changes: 3 additions & 3 deletions src/modules/tls/tls_locking.c
Expand Up @@ -140,8 +140,6 @@ unsigned long sr_ssl_id_f()
/* returns -1 on error, 0 on success */
int tls_init_locks()
{
/* OpenSSL is thread-safe since 1.1.0 */
#if OPENSSL_VERSION_NUMBER < 0x10100000L
/* init "static" tls locks */
n_static_locks=CRYPTO_num_locks();
if (n_static_locks<0){
Expand Down Expand Up @@ -169,10 +167,13 @@ int tls_init_locks()
CRYPTO_set_locking_callback(locking_f);
}

/* OpenSSL is thread-safe since 1.1.0 */
#if OPENSSL_VERSION_NUMBER < 0x10100000L
/* set "dynamic" locks callbacks */
CRYPTO_set_dynlock_create_callback(dyn_create_f);
CRYPTO_set_dynlock_lock_callback(dyn_lock_f);
CRYPTO_set_dynlock_destroy_callback(dyn_destroy_f);
#endif

/* starting with v1.0.0 openssl does not use anymore getpid(), but address
* of errno which can point to same virtual address in a multi-process
Expand All @@ -185,7 +186,6 @@ int tls_init_locks()
* (only atomic_inc), fallback to the default use-locks mode
* CRYPTO_set_add_lock_callback(atomic_add_f);
*/
#endif

return 0;
error:
Expand Down

0 comments on commit 0f6dea7

Please sign in to comment.