Remove unused '#include's.
[tinc] / src / connection.c
index 92a9f48..5a7c43b 100644 (file)
 #include "cipher.h"
 #include "conf.h"
 #include "control_common.h"
-#include "list.h"
 #include "logger.h"
+#include "net.h"
 #include "rsa.h"
-#include "subnet.h"
 #include "utils.h"
 #include "xalloc.h"
 
@@ -44,7 +43,10 @@ void init_connections(void) {
 
 void exit_connections(void) {
        list_delete_list(connection_list);
+       connection_list = NULL;
+
        free_connection(everyone);
+       everyone = NULL;
 }
 
 connection_t *new_connection(void) {
@@ -68,6 +70,7 @@ void free_connection(connection_t *c) {
        ecdsa_free(c->ecdsa);
 
        free(c->hischallenge);
+       free(c->mychallenge);
 
        buffer_clear(&c->inbuf);
        buffer_clear(&c->outbuf);
@@ -75,7 +78,11 @@ void free_connection(connection_t *c) {
        io_del(&c->io);
 
        if(c->socket > 0) {
-               closesocket(c->socket);
+               if(c->status.tarpit) {
+                       tarpit(c->socket);
+               } else {
+                       closesocket(c->socket);
+               }
        }
 
        free(c->name);