--- a/src/main.c
+++ b/src/main.c
-@@ -965,10 +965,12 @@ main(int argc, char **argv)
+@@ -1155,10 +1155,12 @@ main(int argc, char **argv)
sigprocmask(SIG_BLOCK, &set, NULL);
trap_init(argv[0]);
SSL_load_error_strings();
SSL_library_init();
+#endif
-
- /* Initialise configuration */
- notify_init();
-@@ -1159,8 +1161,11 @@ main(int argc, char **argv)
- #endif
- free(opt_satip_xml.str);
-
+ /* 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
RAND_cleanup();
CRYPTO_cleanup_all_ex_data();
EVP_cleanup();
-@@ -1168,12 +1173,13 @@ main(int argc, char **argv)
- #ifndef OPENSSL_NO_COMP
+@@ -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();
- #ifndef OPENSSL_NO_COMP
+ #if !defined(OPENSSL_NO_COMP) && OPENSSL_VERSION_NUMBER < 0x1010006f
sk_SSL_COMP_free(SSL_COMP_get_compression_methods());
#endif
/* end of OpenSSL cleanup code */