projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- Delayed address resolving for ConnectTo lines in configuration file to
[tinc]
/
src
/
tincd.c
diff --git
a/src/tincd.c
b/src/tincd.c
index
5aafb96
..
f63540a
100644
(file)
--- a/
src/tincd.c
+++ b/
src/tincd.c
@@
-17,7
+17,7
@@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
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.
4 2000/06/29 17:09:08
guus Exp $
+ $Id: tincd.c,v 1.10.4.
6 2000/06/30 11:45:16
guus Exp $
*/
#include "config.h"
*/
#include "config.h"
@@
-62,7
+62,7
@@
static int kill_tincd = 0;
static int do_detach = 1;
char *confbase = NULL; /* directory in which all config files are */
static int do_detach = 1;
char *confbase = NULL; /* directory in which all config files are */
-
char *configfilename = NULL; /* configuration file name
*/
+
/* char *configfilename = NULL; /* configuration file name, moved to config.c
*/
char *identname; /* program name for syslog */
char *netname = NULL; /* name of the vpn network */
char *pidfilename; /* pid file location */
char *identname; /* program name for syslog */
char *netname = NULL; /* name of the vpn network */
char *pidfilename; /* pid file location */
@@
-374,13
+374,17
@@
main(int argc, char **argv, char **envp)
if(security_init())
return 1;
if(security_init())
return 1;
- if(setup_network_connections())
- cleanup_and_exit(1);
+ for(;;)
+ {
+ setup_network_connections();
+
+ main_loop();
-
main_loop(
);
+
cleanup_and_exit(1
);
- cleanup_and_exit(1);
- return 1;
+ syslog(LOG_ERR, _("Unrecoverable error, restarting in %d seconds!"), MAXTIMEOUT);
+ sleep(MAXTIMEOUT);
+ }
}
RETSIGTYPE
}
RETSIGTYPE
@@
-416,7
+420,6
@@
sigsegv_handler(int a)
syslog(LOG_NOTICE, _("Got SEGV signal, trying to re-execute"));
signal(SIGSEGV, sigsegv_square);
syslog(LOG_NOTICE, _("Got SEGV signal, trying to re-execute"));
signal(SIGSEGV, sigsegv_square);
-
close_network_connections();
remove_pid(pidfilename);
execvp(g_argv[0], g_argv);
close_network_connections();
remove_pid(pidfilename);
execvp(g_argv[0], g_argv);
@@
-426,17
+429,15
@@
RETSIGTYPE
sighup_handler(int a)
{
if(debug_lvl > 0)
sighup_handler(int a)
{
if(debug_lvl > 0)
- syslog(LOG_NOTICE, _("Got HUP signal"));
- close_network_connections();
- setup_network_connections();
- /* FIXME: read config-file and re-establish network connections */
+ syslog(LOG_NOTICE, _("Got HUP signal, rereading configuration and restarting"));
+ sighup = 1;
}
RETSIGTYPE
sigint_handler(int a)
{
if(debug_lvl > 0)
}
RETSIGTYPE
sigint_handler(int a)
{
if(debug_lvl > 0)
- syslog(LOG_NOTICE, _("Got INT signal"));
+ syslog(LOG_NOTICE, _("Got INT signal
, exiting
"));
cleanup_and_exit(0);
}
cleanup_and_exit(0);
}
@@
-450,7
+451,7
@@
RETSIGTYPE
sigusr2_handler(int a)
{
if(debug_lvl > 1)
sigusr2_handler(int a)
{
if(debug_lvl > 1)
- syslog(LOG_NOTICE, _("
F
orcing new key generation"));
+ syslog(LOG_NOTICE, _("
Got USR2 signal, f
orcing new key generation"));
regenerate_keys();
}
regenerate_keys();
}