X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fnet.c;h=35d9563ce9b9efb6586927008446c38e70e455e4;hp=fe9eed7846f40ddce15295f0af64c87a5aab9400;hb=94497336efc1cc60561575e74d420e9e8e8c657e;hpb=ac066bb057dcb187bf91670793ba5e6ca456e052 diff --git a/src/net.c b/src/net.c index fe9eed78..35d9563c 100644 --- a/src/net.c +++ b/src/net.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. - $Id: net.c,v 1.35.4.138 2001/10/27 13:13:35 guus Exp $ + $Id: net.c,v 1.35.4.140 2001/10/28 08:41:19 guus Exp $ */ #include "config.h" @@ -458,6 +458,7 @@ cp c = new_connection(); c->name = xstrdup(name); + init_configuration(&c->config_tree); read_connection_config(c); if(!get_config_string(lookup_config(c->config_tree, "Address"), &c->hostname)) @@ -622,6 +623,7 @@ int setup_myself(void) cp myself = new_node(); myself->connection = new_connection(); + init_configuration(&myself->connection->config_tree); asprintf(&myself->hostname, _("MYSELF")); asprintf(&myself->connection->hostname, _("MYSELF")); @@ -666,9 +668,11 @@ cp return -1; } */ - if(!get_config_port(lookup_config(myself->connection->config_tree, "Port"), &myself->connection->port)) + if(!get_config_port(lookup_config(myself->connection->config_tree, "Port"), &myself->port)) myself->port = 655; + myself->connection->port = myself->port; + /* Read in all the subnets specified in the host configuration file */ cfg = lookup_config(myself->connection->config_tree, "Subnet"); @@ -705,7 +709,7 @@ cp if(myself->options & OPTION_TCPONLY) myself->options |= OPTION_INDIRECT; - if(get_config_string(lookup_config(myself->connection->config_tree, "Mode"), &mode)) + if(get_config_string(lookup_config(config_tree, "Mode"), &mode)) { if(!strcasecmp(mode, "router")) routing_mode = RMODE_ROUTER; @@ -746,7 +750,7 @@ cp myself->key = (char *)xmalloc(myself->keylength); RAND_pseudo_bytes(myself->key, myself->keylength); - if(!get_config_int(lookup_config(myself->connection->config_tree, "KeyExpire"), &keylifetime)) + if(!get_config_int(lookup_config(config_tree, "KeyExpire"), &keylifetime)) keylifetime = 3600; keyexpires = time(NULL) + keylifetime; @@ -771,8 +775,10 @@ int setup_network_connections(void) cp init_connections(); init_subnets(); + init_nodes(); + init_vertices(); - if(get_config_int(lookup_config(myself->connection->config_tree, "PingTimeout"), &timeout)) + if(get_config_int(lookup_config(config_tree, "PingTimeout"), &timeout)) { if(timeout < 1) { @@ -1194,9 +1200,9 @@ cp if(FD_ISSET(device_fd, &fset)) { if(read_packet(&packet)) - route_outgoing(&packet); - else return; + else + route_outgoing(&packet); } } }