X-Git-Url: https://git.librecmc.org/?p=oweals%2Ftinc.git;a=blobdiff_plain;f=src%2Ftincd.c;h=8869ccac16955d1010b8f560228f99e6b2ea356a;hp=1a5677f1295c264eb94fca71bdc38d7fd61f3379;hb=e02f13cdb3133c33ac84d9582e2f47ca5ebd35bf;hpb=5900c07fab39d2833ea66429ad652ca49a91a508 diff --git a/src/tincd.c b/src/tincd.c index 1a5677f..8869cca 100644 --- a/src/tincd.c +++ b/src/tincd.c @@ -1,7 +1,7 @@ /* tincd.c -- the main file for tincd - Copyright (C) 1998-2003 Ivo Timmermans - 2000-2003 Guus Sliepen + Copyright (C) 1998-2005 Ivo Timmermans + 2000-2005 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -17,7 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id: tincd.c,v 1.10.4.89 2003/10/06 16:13:08 guus Exp $ + $Id$ */ #include "system.h" @@ -35,11 +35,12 @@ #include #include #include +#include #include #include -#include +#include "pidfile.h" #include "conf.h" #include "device.h" @@ -120,7 +121,7 @@ static void usage(bool status) " --pidfile=FILENAME Write PID to FILENAME.\n" " --help Display this help and exit.\n" " --version Output version information and exit.\n\n")); - printf(_("Report bugs to tinc@nl.linux.org.\n")); + printf(_("Report bugs to tinc@tinc-vpn.org.\n")); } } @@ -407,7 +408,7 @@ int main(int argc, char **argv) if(show_version) { printf(_("%s version %s (built %s %s, protocol %d)\n"), PACKAGE, VERSION, __DATE__, __TIME__, PROT_CURRENT); - printf(_("Copyright (C) 1998-2003 Ivo Timmermans, Guus Sliepen and others.\n" + printf(_("Copyright (C) 1998-2005 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" @@ -448,6 +449,9 @@ int main(int argc, char **argv) RAND_load_file("/dev/urandom", 1024); + ENGINE_load_builtin_engines(); + ENGINE_register_all_complete(); + OpenSSL_add_all_algorithms(); if(generate_keys) { @@ -483,17 +487,10 @@ int main2(int argc, char **argv) return 1; - /* Setup sockets and open device. If it doesn't work, don't give up but try again. */ + /* Setup sockets and open device. */ - while(!setup_network_connections()) { - if(do_detach) { - logger(LOG_NOTICE, _("Restarting in %d seconds!"), maxtimeout); - sleep(maxtimeout); - } else { - logger(LOG_ERR, _("Not restarting.")); - return 1; - } - } + if(!setup_network_connections()) + goto end; /* Start main loop. It only exits when tinc is killed. */ @@ -506,11 +503,14 @@ int main2(int argc, char **argv) ifdebug(CONNECTIONS) dump_device_stats(); +end: logger(LOG_NOTICE, _("Terminating")); #ifndef HAVE_MINGW remove_pid(pidfilename); #endif + + EVP_cleanup(); return status; }