X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Ftincd.c;h=066ad9c83cdb3842596ab4f0accc043816da52fb;hp=a8b13ecb90f664f9f1a0ee15696b8aabb946fa00;hb=HEAD;hpb=2116c6eb7d328c7aa3ce3da54f95367e5199d373 diff --git a/src/tincd.c b/src/tincd.c index a8b13ecb..c1f2e5a2 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -1,7 +1,7 @@ /* tincd.c -- the main file for tincd Copyright (C) 1998-2005 Ivo Timmermans - 2000-2017 Guus Sliepen + 2000-2019 Guus Sliepen 2008 Max Rijevski 2009 Michael Tokarev 2010 Julien Muchembled @@ -38,6 +38,7 @@ #include #include #include +#include #ifdef HAVE_LZO #include LZO1X_H @@ -401,16 +402,6 @@ static int indicator(int a, int b, BN_GENCB *cb) { return 1; } -#ifndef HAVE_BN_GENCB_NEW -BN_GENCB *BN_GENCB_new(void) { - return xmalloc_and_zero(sizeof(BN_GENCB)); -} - -void BN_GENCB_free(BN_GENCB *cb) { - free(cb); -} -#endif - /* Generate a public/private RSA keypair, and ask for a file to store them in. @@ -434,7 +425,10 @@ static bool keygen(int bits) { BN_GENCB_set(cb, indicator, NULL); rsa_key = RSA_new(); - BN_hex2bn(&e, "10001"); + + if(BN_hex2bn(&e, "10001") == 0) { + abort(); + } if(!rsa_key || !e) { abort(); @@ -538,7 +532,7 @@ static void make_names(void) { #endif if(!pidfilename) { - xasprintf(&pidfilename, LOCALSTATEDIR "/run/%s.pid", identname); + xasprintf(&pidfilename, RUNSTATEDIR "/%s.pid", identname); } if(!logfilename) { @@ -559,25 +553,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() { @@ -662,7 +642,7 @@ int main(int argc, char **argv) { if(show_version) { printf("%s version %s\n", PACKAGE, VERSION); - printf("Copyright (C) 1998-2017 Ivo Timmermans, Guus Sliepen and others.\n" + printf("Copyright (C) 1998-2019 Ivo Timmermans, Guus Sliepen and others.\n" "See the AUTHORS file for a complete list.\n\n" "tinc comes with ABSOLUTELY NO WARRANTY. This is free software,\n" "and you are welcome to redistribute it under certain conditions;\n" @@ -696,14 +676,7 @@ int main(int argc, char **argv) { init_configuration(&config_tree); - /* Slllluuuuuuurrrrp! */ - - RAND_load_file("/dev/urandom", 1024); - ENGINE_load_builtin_engines(); - ENGINE_register_all_complete(); - - OpenSSL_add_all_algorithms(); if(generate_keys) { read_server_config(); @@ -822,10 +795,6 @@ end: free(priority); - EVP_cleanup(); - ERR_free_strings(); - ENGINE_cleanup(); - exit_configuration(&config_tree); list_delete_list(cmdline_conf); free_names();