X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Ftincd.c;h=9730e21112ba3804e9794cf61fa012faefdd050a;hb=bc0a24ec810cb911610ae7aafa245e47d1268cd2;hp=dd6b1e748ce8ad55cf8e2347821f7187fbdbe16c;hpb=331cef948db4b3cca245ab62cb0fafb5b1e5ebb3;p=tinc diff --git a/src/tincd.c b/src/tincd.c index dd6b1e74..9730e211 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-2007 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.90 2003/12/07 14:31:09 guus Exp $ + $Id$ */ #include "system.h" @@ -35,11 +35,12 @@ #include #include #include +#include -#include +#include LZO1X_H #include -#include +#include "pidfile.h" #include "conf.h" #include "device.h" @@ -77,6 +78,7 @@ bool use_logfile = false; char *identname = NULL; /* program name for syslog */ char *pidfilename = NULL; /* pid file location */ +char *controlfilename = NULL; /* pid file location */ char *logfilename = NULL; /* log file location */ char **g_argv; /* a copy of the cmdline arguments */ @@ -120,7 +122,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")); } } @@ -377,6 +379,8 @@ static void make_names(void) if(!pidfilename) asprintf(&pidfilename, LOCALSTATEDIR "/run/%s.pid", identname); + asprintf(&controlfilename, LOCALSTATEDIR "/run/%s.control", identname); + if(!logfilename) asprintf(&logfilename, LOCALSTATEDIR "/log/%s.log", identname); @@ -407,7 +411,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-2007 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" @@ -446,8 +450,12 @@ int main(int argc, char **argv) /* Slllluuuuuuurrrrp! */ + srand(time(NULL)); RAND_load_file("/dev/urandom", 1024); + ENGINE_load_builtin_engines(); + ENGINE_register_all_complete(); + OpenSSL_add_all_algorithms(); if(generate_keys) { @@ -458,6 +466,11 @@ int main(int argc, char **argv) if(!read_server_config()) return 1; + if(!event_init()) { + logger(LOG_ERR, _("Error initializing libevent!")); + return 1; + } + if(lzo_init() != LZO_E_OK) { logger(LOG_ERR, _("Error initializing LZO compressor!")); return 1; @@ -505,6 +518,8 @@ end: #ifndef HAVE_MINGW remove_pid(pidfilename); #endif + + EVP_cleanup(); return status; }