]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Remove calls to OpenSSL when building with --disable-ssl
authorIgor Novgorodov <igor@novg.net>
Tue, 28 Feb 2012 11:16:01 +0000 (15:16 +0400)
committerDavid Sommerseth <davids@redhat.com>
Thu, 29 Mar 2012 12:36:48 +0000 (14:36 +0200)
Move OpenSSL calls out from the generic crypto layer and into the
OpenSSL specific layer.  Also don't load all algortihms if SSL
isn't enabled.

Error strings will also not be loaded into memory if ENABLE_SMALL
is configured.

Signed-off-by: Igor Novgorodov <igor@novg.net>
Acked-by: Adriaan de Jong <dejong@fox-it.com>
Acked-by: David Sommerseth <davids@redhat.com>
Signed-off-by: David Sommerseth <davids@redhat.com>
src/openvpn/crypto.c
src/openvpn/crypto_openssl.c
src/openvpn/ssl_openssl.c

index f81196656a4ff4d7dd044c560c3c1a82fb5a5d1c..03781fc4364c479606f78f2ec0415b44ed44afda 100644 (file)
@@ -1384,8 +1384,6 @@ get_random()
 void
 init_ssl_lib (void)
 {
-  ERR_load_crypto_strings ();
-  OpenSSL_add_all_algorithms ();
   crypto_init_lib ();
 }
 
@@ -1394,8 +1392,6 @@ free_ssl_lib (void)
 {
   crypto_uninit_lib ();
   prng_uninit();
-  EVP_cleanup ();
-  ERR_free_strings ();
 }
 
 #endif /* ENABLE_SSL */
index 4a3be1e0511c13adc63b34b1ac3a621d67570e54..534250297e90c53f2dfb5fdb988223a8392ffe42 100644 (file)
@@ -194,11 +194,19 @@ crypto_init_lib_engine (const char *engine_name)
 void
 crypto_init_lib (void)
 {
+#ifndef USE_SSL
+#ifndef ENABLE_SMALL
+  ERR_load_crypto_strings ();
+#endif
+  OpenSSL_add_all_algorithms ();
+#endif
+
   /*
    * If you build the OpenSSL library and OpenVPN with
    * CRYPTO_MDEBUG, you will get a listing of OpenSSL
    * memory leaks on program termination.
    */
+
 #ifdef CRYPTO_MDEBUG
   CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON);
 #endif
@@ -207,6 +215,13 @@ crypto_init_lib (void)
 void
 crypto_uninit_lib (void)
 {
+#ifndef USE_SSL
+  EVP_cleanup ();
+#ifndef ENABLE_SMALL
+  ERR_free_strings ();
+#endif
+#endif
+
 #ifdef CRYPTO_MDEBUG
   FILE* fp = fopen ("sdlog", "w");
   ASSERT (fp);
index d712c66a35025a01de6bf350ed447be6ea5a3b15..8f353253abee0086c1079e375c910d2a0b53ca94 100644 (file)
@@ -69,7 +69,9 @@ void
 tls_init_lib()
 {
   SSL_library_init();
+#ifndef ENABLE_SMALL
   SSL_load_error_strings();
+#endif
   OpenSSL_add_all_algorithms ();
 
   mydata_index = SSL_get_ex_new_index(0, "struct session *", NULL, NULL, NULL);
@@ -80,7 +82,9 @@ void
 tls_free_lib()
 {
   EVP_cleanup();
+#ifndef ENABLE_SMALL
   ERR_free_strings();
+#endif
 }
 
 void