Remove remaining OpenSSL_add_all_algorithms() calls.

We already have OPENSSL_init_crypto() in the compat layer (now with a
check of its return code, prompted by tb@). Prompted by github PR#606
from Dimitri John Ledkov.  ok beck@
This commit is contained in:
Darren Tucker
2025-11-13 22:04:19 +11:00
parent d9955e4571
commit 90501bc30c
2 changed files with 7 additions and 24 deletions

View File

@@ -3160,15 +3160,6 @@ if test "x$openssl" = "xyes" ; then
RSA_get_default_method \
])
# OpenSSL_add_all_algorithms may be a macro.
AC_CHECK_FUNC(OpenSSL_add_all_algorithms,
AC_DEFINE(HAVE_OPENSSL_ADD_ALL_ALGORITHMS, 1, [as a function]),
AC_CHECK_DECL(OpenSSL_add_all_algorithms,
AC_DEFINE(HAVE_OPENSSL_ADD_ALL_ALGORITHMS, 1, [as a macro]), ,
[[#include <openssl/evp.h>]]
)
)
# LibreSSL/OpenSSL API differences
AC_CHECK_FUNCS([ \
EC_POINT_get_affine_coordinates \

View File

@@ -72,28 +72,20 @@ ssh_compatible_openssl(long headerver, long libver)
void
ssh_libcrypto_init(void)
{
#if defined(HAVE_OPENSSL_INIT_CRYPTO) && \
defined(OPENSSL_INIT_ADD_ALL_CIPHERS) && \
defined(OPENSSL_INIT_ADD_ALL_DIGESTS)
OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS |
OPENSSL_INIT_ADD_ALL_DIGESTS, NULL);
#elif defined(HAVE_OPENSSL_ADD_ALL_ALGORITHMS)
OpenSSL_add_all_algorithms();
#endif
uint64_t opts = OPENSSL_INIT_ADD_ALL_CIPHERS |
OPENSSL_INIT_ADD_ALL_DIGESTS;
#ifdef USE_OPENSSL_ENGINE
/* Enable use of crypto hardware */
ENGINE_load_builtin_engines();
ENGINE_register_all_complete();
/* Load the libcrypto config file to pick up engines defined there */
# if defined(HAVE_OPENSSL_INIT_CRYPTO) && defined(OPENSSL_INIT_LOAD_CONFIG)
OPENSSL_init_crypto(OPENSSL_INIT_ADD_ALL_CIPHERS |
OPENSSL_INIT_ADD_ALL_DIGESTS | OPENSSL_INIT_LOAD_CONFIG, NULL);
# else
OPENSSL_config(NULL);
# endif
/* Tell libcrypto config file to pick up engines defined there */
opts |= OPENSSL_INIT_LOAD_CONFIG;
#endif /* USE_OPENSSL_ENGINE */
if (OPENSSL_init_crypto(opts, NULL) != 1)
fatal("OPENSSL_init_crypto failed");
}
#ifndef HAVE_EVP_DIGESTSIGN