From 4c34454a23f0e6994cc77a466edca2536b02717e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20Gallou=C3=ABt?= Date: Wed, 5 Oct 2016 08:01:03 +0000 Subject: [PATCH] Don't call crypto_aead_aes256gcm_beforenm() if no aesni.. --- mud.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mud.c b/mud.c index 196a5d2..43536ea 100644 --- a/mud.c +++ b/mud.c @@ -995,12 +995,14 @@ void mud_recv_keyx (struct mud *mud, struct path *path, uint64_t now, (unsigned char *)&shared_recv, sizeof(shared_recv), mud->crypto.private.encrypt.key, MUD_KEY_SIZE); - crypto_aead_aes256gcm_beforenm(&key->encrypt.state, key->encrypt.key); - crypto_aead_aes256gcm_beforenm(&key->decrypt.state, key->decrypt.key); - key->aes = (shared_recv.public.send[MUD_PKEY_SIZE-1] == 1) && (shared_recv.public.recv[MUD_PKEY_SIZE-1] == 1); + if (key->aes) { + crypto_aead_aes256gcm_beforenm(&key->encrypt.state, key->encrypt.key); + crypto_aead_aes256gcm_beforenm(&key->decrypt.state, key->decrypt.key); + } + mud->crypto.time = now; }