Only send packets via UDP if UDP communication is possible.
[tinc] / src / node.c
index 5cf5d96..b096530 100644 (file)
@@ -78,7 +78,6 @@ node_t *new_node(void)
 
        n->subnet_tree = new_subnet_tree();
        n->edge_tree = new_edge_tree();
-       n->queue = list_alloc((list_action_t) free);
        EVP_CIPHER_CTX_init(&n->packet_ctx);
        n->mtu = MTU;
        n->maxmtu = MTU;
@@ -90,15 +89,6 @@ void free_node(node_t *n)
 {
        cp();
 
-       if(n->queue)
-               list_delete_list(n->queue);
-
-       if(n->name)
-               free(n->name);
-
-       if(n->hostname)
-               free(n->hostname);
-
        if(n->key)
                free(n->key);
 
@@ -112,9 +102,17 @@ void free_node(node_t *n)
 
        EVP_CIPHER_CTX_cleanup(&n->packet_ctx);
 
-       if(n->mtuevent)
+       if(n->mtuevent) {
                event_del(n->mtuevent);
+               free_event(n->mtuevent);
+       }
        
+       if(n->hostname)
+               free(n->hostname);
+
+       if(n->name)
+               free(n->name);
+
        free(n);
 }