What was I thinking? s/vertex/edge/g.
[tinc] / src / net.c
index fe9eed7..35d9563 100644 (file)
--- 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.
 
     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"
 */
 
 #include "config.h"
@@ -458,6 +458,7 @@ cp
   c = new_connection();
   c->name = xstrdup(name);
 
   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))
   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();
 cp
   myself = new_node();
   myself->connection = new_connection();
+  init_configuration(&myself->connection->config_tree);
 
   asprintf(&myself->hostname, _("MYSELF"));
   asprintf(&myself->connection->hostname, _("MYSELF"));
 
   asprintf(&myself->hostname, _("MYSELF"));
   asprintf(&myself->connection->hostname, _("MYSELF"));
@@ -666,9 +668,11 @@ cp
       return -1;
     }
 */
       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->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");
 /* 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(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;
     {
       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);
 
   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;
     keylifetime = 3600;
 
   keyexpires = time(NULL) + keylifetime;
@@ -771,8 +775,10 @@ int setup_network_connections(void)
 cp
   init_connections();
   init_subnets();
 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)
         {
     {
       if(timeout < 1)
         {
@@ -1194,9 +1200,9 @@ cp
           if(FD_ISSET(device_fd, &fset))
             {
               if(read_packet(&packet))
           if(FD_ISSET(device_fd, &fset))
             {
               if(read_packet(&packet))
-                route_outgoing(&packet);
-              else
                 return;
                 return;
+              else
+                route_outgoing(&packet);
             }
         }
     }
             }
         }
     }