X-Git-Url: https://www.tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fprotocol_key.c;h=c042c4b5e259f5dc2c463aa9a2654875499dbc47;hb=d1ec010660905ae0b99d783737350ccc08b37b16;hp=fb53fe141927322e3ce2a706540e8ef7497d8315;hpb=72642b40b3ad476101622da202b6f977a32b472f;p=tinc diff --git a/src/protocol_key.c b/src/protocol_key.c index fb53fe14..c042c4b5 100644 --- a/src/protocol_key.c +++ b/src/protocol_key.c @@ -258,6 +258,9 @@ bool send_ans_key(node_t *to) { size_t keylen = cipher_keylength(&myself->incipher); char key[keylen * 2 + 1]; + cipher_close(&to->incipher); + digest_close(&to->indigest); + cipher_open_by_nid(&to->incipher, cipher_get_nid(&myself->incipher)); digest_open_by_nid(&to->indigest, digest_get_nid(&myself->indigest), digest_length(&myself->indigest)); to->incompression = myself->incompression; @@ -345,6 +348,8 @@ bool ans_key_h(connection_t *c, const char *request) { } /* Don't use key material until every check has passed. */ + cipher_close(&from->outcipher); + digest_close(&from->outdigest); from->status.validkey = false; if(compression < 0 || compression > 11) {