After auto init, check that the deprecated functions exist before using
authorRichard Levitte <levitte@openssl.org>
Wed, 10 Feb 2016 22:27:28 +0000 (23:27 +0100)
committerRichard Levitte <levitte@openssl.org>
Wed, 10 Feb 2016 22:56:50 +0000 (23:56 +0100)
The functions that have been deprecated by the auto init changes are
now guarded with deprecation checks, so it's fairly easy to see if
they can be used.

In test/dtlsv1listentest, we simply remove all init and cleanup code,
as they are call automatically when needed.

Reviewed-by: Matt Caswell <matt@openssl.org>
crypto/engine/eng_all.c
test/dtlsv1listentest.c

index 285ce95..6dceed6 100644 (file)
@@ -64,29 +64,30 @@ void ENGINE_load_builtin_engines(void)
     /* Some ENGINEs need this */
     OPENSSL_cpuid_setup();
 #if !defined(OPENSSL_NO_HW) && (defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV))
+# ifdef ENGINE_load_cryptodev
     ENGINE_load_cryptodev();
+# endif
 #endif
 #ifndef OPENSSL_NO_RDRAND
+# ifdef ENGINE_load_rdrand
     ENGINE_load_rdrand();
+# endif
 #endif
+# ifdef ENGINE_load_dynamic
     ENGINE_load_dynamic();
+# endif
 #ifndef OPENSSL_NO_STATIC_ENGINE
 # ifndef OPENSSL_NO_HW
-/*-
- * These engines have been disabled as they do not currently build
-#ifndef OPENSSL_NO_HW_NCIPHER
-        ENGINE_load_chil();
-#endif
-#ifndef OPENSSL_NO_HW_UBSEC
-        ENGINE_load_ubsec();
-#endif
-*/
 #  ifndef OPENSSL_NO_HW_PADLOCK
+#   ifdef ENGINE_load_padlock
     ENGINE_load_padlock();
+#   endif
 #  endif
 # endif
 # if defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_NO_CAPIENG)
+#  ifdef ENGINE_load_capi
     ENGINE_load_capi();
+#  endif
 # endif
 #endif
     ENGINE_register_all_complete();
index 3e3939f..d12d93a 100644 (file)
@@ -379,10 +379,6 @@ int main(void)
     int ret, success = 0;
     size_t i;
 
-    /* Initialise libssl */
-    SSL_load_error_strings();
-    SSL_library_init();
-
     ctx = SSL_CTX_new(DTLS_server_method());
     if (ctx == NULL || peer == NULL)
         goto err;
@@ -461,15 +457,6 @@ int main(void)
     SSL_CTX_free(ctx);
     BIO_free(inbio);
     OPENSSL_free(peer);
-    /* Unitialise libssl */
-#ifndef OPENSSL_NO_ENGINE
-    ENGINE_cleanup();
-#endif
-    CONF_modules_unload(1);
-    CRYPTO_cleanup_all_ex_data();
-    EVP_cleanup();
-    ERR_remove_thread_state(NULL);
-    ERR_free_strings();
 #ifndef OPENSSL_NO_CRYPTO_MDEBUG
     CRYPTO_mem_leaks_fp(stderr);
 #endif