X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Ftincd.c;h=e8a60449aa8412ced9ff62ce39c49979dc8aee13;hp=b4704c47a0aadfb760730c24589b4acb2f99fd46;hb=de834791a28f73262f7a479fcd922bf7ec580dd1;hpb=26203e250433b846118be1b2e236bf2541aa260d diff --git a/src/tincd.c b/src/tincd.c index b4704c47..e8a60449 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -37,7 +37,10 @@ #include #include #include +#ifndef OPENSSL_NO_ENGINE #include +#endif +#include #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);