]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Fix to call OPENSSL_cleanup on exit when that is defined. master
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Fri, 24 Jul 2026 15:04:38 +0000 (17:04 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Fri, 24 Jul 2026 15:04:38 +0000 (17:04 +0200)
config.h.in
configure
configure.ac
daemon/daemon.c
doc/Changelog
testcode/unitmain.c

index 1785ae5c0e3c770d29804680078f32305c3747c6..ce8141b5320ac6671224f669ea1ec5a2959c490b 100644 (file)
 /* Define to 1 if you have the <openssl/bn.h> header file. */
 #undef HAVE_OPENSSL_BN_H
 
+/* Define to 1 if you have the `OPENSSL_cleanup' function. */
+#undef HAVE_OPENSSL_CLEANUP
+
 /* Define to 1 if you have the `OPENSSL_config' function. */
 #undef HAVE_OPENSSL_CONFIG
 
index 7d9702d3054b74f18d21657bf357aaf7d98954a1..8c0a416cd414b7c3f3c55df40bb6dbba57c3174c 100755 (executable)
--- a/configure
+++ b/configure
@@ -21093,6 +21093,12 @@ then :
   printf "%s\n" "#define HAVE_BIO_SET_CALLBACK_EX 1" >>confdefs.h
 
 fi
+ac_fn_c_check_func "$LINENO" "OPENSSL_cleanup" "ac_cv_func_OPENSSL_cleanup"
+if test "x$ac_cv_func_OPENSSL_cleanup" = xyes
+then :
+  printf "%s\n" "#define HAVE_OPENSSL_CLEANUP 1" >>confdefs.h
+
+fi
 
 
 # these check_funcs need -lssl
index 165645e1303fd179a8aa3246fe4cdcfa424a4871..254a6c63095a4ac888578c357cc06a0e976edf07 100644 (file)
@@ -1081,7 +1081,7 @@ else
        AC_MSG_RESULT([no])
 fi
 AC_CHECK_HEADERS([openssl/conf.h openssl/engine.h openssl/bn.h openssl/dh.h openssl/dsa.h openssl/rsa.h openssl/core_names.h openssl/param_build.h],,, [AC_INCLUDES_DEFAULT])
-AC_CHECK_FUNCS([OPENSSL_config EVP_sha1 EVP_sha256 EVP_sha512 FIPS_mode EVP_default_properties_is_fips_enabled EVP_MD_CTX_new OpenSSL_add_all_digests OPENSSL_init_crypto EVP_cleanup ENGINE_cleanup ERR_load_crypto_strings CRYPTO_cleanup_all_ex_data ERR_free_strings RAND_cleanup DSA_SIG_set0 EVP_dss1 EVP_DigestVerify EVP_aes_256_cbc EVP_EncryptInit_ex HMAC_Init_ex CRYPTO_THREADID_set_callback EVP_MAC_CTX_set_params OSSL_PARAM_BLD_new BIO_set_callback_ex])
+AC_CHECK_FUNCS([OPENSSL_config EVP_sha1 EVP_sha256 EVP_sha512 FIPS_mode EVP_default_properties_is_fips_enabled EVP_MD_CTX_new OpenSSL_add_all_digests OPENSSL_init_crypto EVP_cleanup ENGINE_cleanup ERR_load_crypto_strings CRYPTO_cleanup_all_ex_data ERR_free_strings RAND_cleanup DSA_SIG_set0 EVP_dss1 EVP_DigestVerify EVP_aes_256_cbc EVP_EncryptInit_ex HMAC_Init_ex CRYPTO_THREADID_set_callback EVP_MAC_CTX_set_params OSSL_PARAM_BLD_new BIO_set_callback_ex OPENSSL_cleanup])
 
 # these check_funcs need -lssl
 BAKLIBS="$LIBS"
index 07d99ff66438dcb1c2e127fae1356895d5f2cb51..ac2cd31442ffe527496c0de93e8a0494c2c5b49a 100644 (file)
@@ -1308,6 +1308,9 @@ daemon_delete(struct daemon* daemon)
 #  if defined(HAVE_SSL) && defined(OPENSSL_THREADS) && !defined(THREADS_DISABLED)
        ub_openssl_lock_delete();
 #  endif
+#ifdef HAVE_OPENSSL_CLEANUP
+       OPENSSL_cleanup();
+#endif
 #ifndef HAVE_ARC4RANDOM
        _ARC4_LOCK_DESTROY();
 #endif
index 6092efff53f0543e7c696381accff46fe6a4b5ec..b6f771b819fb3d1c1e34a4260d587ef5130e75aa 100644 (file)
@@ -28,6 +28,7 @@
          tls-upstream is set.
        - Merge #1479 from psumbera: Fix pthread detection on
          Solaris 11.4.
+       - Fix to call OPENSSL_cleanup on exit when that is defined.
 
 23 July 2026: Wouter
        - Updated credits for Xuanchao Xie in 22 july changelog.
index 62f37375f756fc1a2ebbd47eec715dc6ca9619d4..985a9d5522e8ac69e1828ff0efa72e8dd1215e4a 100644 (file)
@@ -1445,6 +1445,9 @@ main(int argc, char* argv[])
 #  ifdef HAVE_RAND_CLEANUP
        RAND_cleanup();
 #  endif
+#ifdef HAVE_OPENSSL_CLEANUP
+       OPENSSL_cleanup();
+#endif
 #elif defined(HAVE_NSS)
        if(NSS_Shutdown() != SECSuccess)
                fatal_exit("could not shutdown NSS");