- Various small fixes.
[tinc] / src / connection.c
index dee0472..772b3c3 100644 (file)
@@ -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: connection.c,v 1.1.2.1 2000/11/20 19:12:11 guus Exp $
+    $Id: connection.c,v 1.1.2.3 2000/11/20 22:13:03 guus Exp $
 */
 
 #include "config.h"
@@ -32,6 +32,7 @@
 #include "config.h"
 #include "conf.h"
 #include <utils.h>
+#include "subnet.h"
 
 #include "xalloc.h"
 #include "system.h"
@@ -61,6 +62,8 @@ connection_t *new_connection(void)
 cp
   /* initialise all those stupid pointers at once */
   memset(p, '\0', sizeof(*p));
+
+  p->subnet_tree = new_rbltree((rbl_compare_t)subnet_compare, NULL);
 cp
   return p;
 }
@@ -135,10 +138,14 @@ cp
 
 connection_t *lookup_id(char *name)
 {
-  connection_t cl;
+  connection_t cl, *p;
 cp
   cl.name = name;
-  return rbl_search(connection_tree, &cl);
+  p = rbl_search(connection_tree, &cl);
+  if(p && p->status.active)
+    return p;
+  else
+    return NULL;
 cp
 }