/*
net_setup.c -- Setup.
- Copyright (C) 1998-2003 Ivo Timmermans <ivo@o2w.nl>,
- 2000-2003 Guus Sliepen <guus@sliepen.eu.org>
+ Copyright (C) 1998-2005 Ivo Timmermans <ivo@tinc-vpn.org>,
+ 2000-2005 Guus Sliepen <guus@tinc-vpn.org>
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
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: net_setup.c,v 1.1.2.50 2003/12/20 21:25:17 guus Exp $
+ $Id$
*/
#include "system.h"
for(i = 0; i < 5; i++)
free(envp[i]);
+ /* Run subnet-up scripts for our own subnets */
+
+ subnet_update(myself, NULL, true);
+
/* Open sockets */
get_config_string(lookup_config(config_tree, "BindToAddress"), &address);
init_events();
init_requests();
- if(get_config_int(lookup_config(config_tree, "PingTimeout"), &pingtimeout)) {
- if(pingtimeout < 1) {
- pingtimeout = 86400;
+ if(get_config_int(lookup_config(config_tree, "PingInterval"), &pinginterval)) {
+ if(pinginterval < 1) {
+ pinginterval = 86400;
}
} else
- pingtimeout = 60;
+ pinginterval = 60;
+
+ if(!get_config_int(lookup_config(config_tree, "PingTimeout"), &pingtimeout))
+ pingtimeout = 5;
+ if(pingtimeout < 1 || pingtimeout > pinginterval)
+ pingtimeout = pinginterval;
+
+ if(!get_config_int(lookup_config(config_tree, "MaxOutputBufferSize"), &maxoutbufsize))
+ maxoutbufsize = 4 * MTU;
if(!setup_myself())
return false;
terminate_connection(c, false);
}
- if(myself && myself->connection)
+ if(myself && myself->connection) {
+ subnet_update(myself, NULL, false);
terminate_connection(myself->connection, false);
+ }
for(i = 0; i < listen_sockets; i++) {
close(listen_socket[i].tcp);