Fix compilation without deprecated OpenSSL APIs
[oweals/tinc.git] / src / tincd.c
index b4704c47a0aadfb760730c24589b4acb2f99fd46..e8a60449aa8412ced9ff62ce39c49979dc8aee13 100644 (file)
 #include <openssl/rsa.h>
 #include <openssl/pem.h>
 #include <openssl/evp.h>
+#ifndef OPENSSL_NO_ENGINE
 #include <openssl/engine.h>
+#endif
+#include <openssl/bn.h>
 
 #ifdef HAVE_LZO
 #include LZO1X_H
@@ -685,17 +688,14 @@ int main(int argc, char **argv) {
 
        init_configuration(&config_tree);
 
-       /* Slllluuuuuuurrrrp! */
-
-       if(RAND_load_file("/dev/urandom", 1024) != 1024) {
-               logger(LOG_ERR, "Error initializing RNG!");
-               return 1;
-       }
-
+#ifndef OPENSSL_NO_ENGINE
        ENGINE_load_builtin_engines();
        ENGINE_register_all_complete();
+#endif
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
        OpenSSL_add_all_algorithms();
+#endif
 
        if(generate_keys) {
                read_server_config();
@@ -814,9 +814,13 @@ end:
 
        free(priority);
 
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
        EVP_cleanup();
        ERR_free_strings();
+#ifndef OPENSSL_NO_ENGINE
        ENGINE_cleanup();
+#endif
+#endif
 
        exit_configuration(&config_tree);
        list_delete_list(cmdline_conf);