Fix whitespace.
[tinc] / src / connection.c
index 29ad04e..d39f43f 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "system.h"
 
-#include "splay_tree.h"
+#include "list.h"
 #include "cipher.h"
 #include "conf.h"
 #include "control_common.h"
 #include "utils.h"
 #include "xalloc.h"
 
-splay_tree_t *connection_tree; /* Meta connections */
+list_t *connection_list;
 connection_t *everyone;
 
-static int connection_compare(const connection_t *a, const connection_t *b) {
-       return a < b ? -1 : a == b ? 0 : 1;
-}
-
 void init_connections(void) {
-       connection_tree = splay_alloc_tree((splay_compare_t) connection_compare, (splay_action_t) free_connection);
+       connection_list = list_alloc((list_action_t) free_connection);
        everyone = new_connection();
        everyone->name = xstrdup("everyone");
        everyone->hostname = xstrdup("BROADCAST");
 }
 
 void exit_connections(void) {
-       splay_delete_tree(connection_tree);
+       list_delete_list(connection_list);
        free_connection(everyone);
 }
 
@@ -54,7 +50,10 @@ connection_t *new_connection(void) {
        return xmalloc_and_zero(sizeof(connection_t));
 }
 
-void free_connection_partially(connection_t *c) {
+void free_connection(connection_t *c) {
+       if(!c)
+               return;
+
        cipher_close(&c->incipher);
        digest_close(&c->indigest);
        cipher_close(&c->outcipher);
@@ -64,14 +63,11 @@ void free_connection_partially(connection_t *c) {
        ecdsa_free(&c->ecdsa);
        rsa_free(&c->rsa);
 
-       if(c->hischallenge) {
-               free(c->hischallenge);
-               c->hischallenge = NULL;
-       }
+       free(c->hischallenge);
 
        buffer_clear(&c->inbuf);
        buffer_clear(&c->outbuf);
-       
+
        if(event_initialized(&c->inevent))
                event_del(&c->inevent);
 
@@ -81,19 +77,6 @@ void free_connection_partially(connection_t *c) {
        if(c->socket > 0)
                closesocket(c->socket);
 
-       c->socket = -1;
-
-       c->protocol_major = 0;
-       c->protocol_minor = 0;
-       c->allow_request = 0;
-}
-
-void free_connection(connection_t *c) {
-       if(!c)
-               return;
-
-       free_connection_partially(c);
-
        free(c->name);
        free(c->hostname);
 
@@ -104,20 +87,16 @@ void free_connection(connection_t *c) {
 }
 
 void connection_add(connection_t *c) {
-       splay_insert(connection_tree, c);
+       list_insert_tail(connection_list, c);
 }
 
 void connection_del(connection_t *c) {
-       splay_delete(connection_tree, c);
+       list_delete(connection_list, c);
 }
 
 bool dump_connections(connection_t *cdump) {
-       splay_node_t *node;
-       connection_t *c;
-
-       for(node = connection_tree->head; node; node = node->next) {
-               c = node->data;
-               send_request(cdump, "%d %d %s at %s options %x socket %d status %04x",
+       for list_each(connection_t, c, connection_list) {
+               send_request(cdump, "%d %d %s %s %x %d %x",
                                CONTROL, REQ_DUMP_CONNECTIONS,
                                c->name, c->hostname, c->options, c->socket,
                                bitfield_to_int(&c->status, sizeof c->status));