--- a/src/main.c +++ b/src/main.c @@ -1155,10 +1155,12 @@ main(int argc, char **argv) sigprocmask(SIG_BLOCK, &set, NULL); trap_init(argv[0]); +#if OPENSSL_VERSION_NUMBER < 0x10100000L /* SSL library init */ OPENSSL_config(NULL); SSL_load_error_strings(); SSL_library_init(); +#endif /* Rand seed */ randseed.thread_id = (void *)main_tid; gettimeofday(&randseed.tv, NULL); @@ -1346,8 +1348,11 @@ main(int argc, char **argv) if(opt_fork) unlink(opt_pidpath); +#if OPENSSL_VERSION_NUMBER < 0x10100000L /* OpenSSL - welcome to the "cleanup" hell */ +#ifndef OPENSSL_NO_ENGINE ENGINE_cleanup(); +#endif RAND_cleanup(); CRYPTO_cleanup_all_ex_data(); EVP_cleanup(); @@ -1355,12 +1360,13 @@ main(int argc, char **argv) #if !defined(OPENSSL_NO_COMP) COMP_zlib_cleanup(); #endif - ERR_remove_state(0); + ERR_remove_thread_state(NULL); ERR_free_strings(); #if !defined(OPENSSL_NO_COMP) && OPENSSL_VERSION_NUMBER < 0x1010006f sk_SSL_COMP_free(SSL_COMP_get_compression_methods()); #endif /* end of OpenSSL cleanup code */ +#endif #if ENABLE_DBUS_1 extern void dbus_shutdown(void);