#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"
void exit_connections(void) {
list_delete_list(connection_list);
+ connection_list = NULL;
+
free_connection(everyone);
+ everyone = NULL;
}
connection_t *new_connection(void) {
ecdsa_free(c->ecdsa);
free(c->hischallenge);
+ free(c->mychallenge);
buffer_clear(&c->inbuf);
buffer_clear(&c->outbuf);
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);