Use ECDSA to sign ECDH key exchange for UDP session keys.
[tinc] / src / connection.c
index 62bfccb..bae86b9 100644 (file)
@@ -69,6 +69,10 @@ void free_connection(connection_t *c) {
        cipher_close(&c->outcipher);
        digest_close(&c->outdigest);
 
+       ecdh_free(&c->ecdh);
+       ecdsa_free(&c->ecdsa);
+       rsa_free(&c->rsa);
+
        if(c->hischallenge)
                free(c->hischallenge);
 
@@ -84,6 +88,9 @@ void free_connection(connection_t *c) {
        if(event_initialized(&c->outevent))
                event_del(&c->outevent);
 
+       if(c->socket > 0)
+               closesocket(c->socket);
+
        free(c);
 }