]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Remove remaining OpenSSL_add_all_algorithms() calls.
authorDarren Tucker <dtucker@dtucker.net>
Thu, 13 Nov 2025 11:04:19 +0000 (22:04 +1100)
committerDarren Tucker <dtucker@dtucker.net>
Thu, 13 Nov 2025 11:08:43 +0000 (22:08 +1100)
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@

configure.ac
openbsd-compat/openssl-compat.c

index f7e9d4184c9bb5239ed5629e7a664626f153b9e6..60d45716bdef8e8b852a35c81ccd1a3153e29407 100644 (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 \
index 48938920cda752f59e361579debcdc86fccebf01..ffbb4439dc23db10471c906f6ed3549c0e0a7e00 100644 (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