From 208c0d4810f24e03b4def637ebe130f8777ef3e1 Mon Sep 17 00:00:00 2001 From: Mister X <3520734+Mister-X-@users.noreply.github.com> Date: Sat, 5 May 2018 00:28:30 +0000 Subject: [PATCH] Fixed compilation with gcrypt on some platforms. Retrieved from upstream: https://github.com/aircrack-ng/aircrack-ng/commit/208c0d4810f24e03b4def637ebe130f8777ef3e1 Signed-off-by: Fabrice Fontaine --- src/gcrypt-openssl-wrapper.h | 13 +++++++++++++ src/md5.h | 6 +++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/gcrypt-openssl-wrapper.h b/src/gcrypt-openssl-wrapper.h index 79a0376e..db3e0462 100644 --- a/src/gcrypt-openssl-wrapper.h +++ b/src/gcrypt-openssl-wrapper.h @@ -82,5 +82,18 @@ gcry_md_get_algo_dlen (algo)); \ gcry_md_close(mdh); \ } while (0) +// MD5 +#define MD5_CTX gcry_md_hd_t +#define MD5_Init(ctx) gcry_md_open(ctx, GCRY_MD_MD5, 0) +#define MD5_Update(ctx, data, len) gcry_md_write(*ctx, data, len) + // HMAC_Update(ctx, data, len) +#define MD5_Final(ctx, md) do { \ + memcpy( md, \ + gcry_md_read(*(gcry_md_hd_t*)ctx, GCRY_MD_MD5), \ + gcry_md_get_algo_dlen(gcry_md_get_algo(*(gcry_md_hd_t*)ctx)) \ + ); \ + gcry_md_close(*(gcry_md_hd_t*)ctx); \ + } while (0) + // http://tumblr.spantz.org/post/214737529/the-use-of-do-while-0-in-c-macros #endif // _GCRYPT_OPENSSL_WRAPPER_H diff --git a/src/md5.h b/src/md5.h index e9edeb81..d8d3d6b3 100644 --- a/src/md5.h +++ b/src/md5.h @@ -61,7 +61,11 @@ typedef unsigned int MD5_u32plus; #include "arch.h" #ifdef SIMD_PARA_MD5 -#include + #ifndef USE_GCRYPT + #include + #else + #include "gcrypt-openssl-wrapper.h" + #endif #endif #endif /* _MD5_H */