X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Ftincd.c;h=e8a60449aa8412ced9ff62ce39c49979dc8aee13;hb=fbf9a88fdda1a1ccde68059001448ebeba7884f5;hp=9253d9f28c7c5d96b1302d65ad5cd718ab4cc406;hpb=d2f8d0920226e4d8edd3efa3c18b46b783aacea0;p=tinc diff --git a/src/tincd.c b/src/tincd.c index 9253d9f2..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 @@ -562,25 +565,11 @@ static void make_names(void) { } static void free_names() { - if(identname) { - free(identname); - } - - if(netname) { - free(netname); - } - - if(pidfilename) { - free(pidfilename); - } - - if(logfilename) { - free(logfilename); - } - - if(confbase) { - free(confbase); - } + free(identname); + free(netname); + free(pidfilename); + free(logfilename); + free(confbase); } static bool drop_privs() { @@ -699,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(); @@ -828,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);