diff options
author | Vitaly Lavrov <vel21ripn@gmail.com> | 2022-02-20 12:16:46 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-20 10:16:46 +0100 |
commit | f2411958d7306a0b8b59e1d00d118603074df009 (patch) | |
tree | 3f541fca79b5c0fdc6b617e094de5248cff69aec /src/lib/protocols/quic.c | |
parent | f28a3b293e8d103170155bd9137b33a5eddfd6ec (diff) |
Added lightweight implementation of libgcrypt. (#1444)
Implementation borrowed from the
https://github.com/ARMmbed/mbedtls.git project (v3.1.0)
Speed testing (Xeon(R) CPU E3-1230 V2 @ 3.30GHz):
gcrypt-gnu Test md 2897 ms enc 2777 ms dec 942 ms
gcrypt-int Test md 3668 ms enc 1312 ms dec 2836 ms
gcrypt-int-noaesni Test md 3652 ms enc 1916 ms dec 4458 ms
gcrypt-gnu-nonopt Test md 3763 ms enc 4978 ms dec 3999 ms
gcrypt-gnu-nonopt - libgcrypt compiled without hardware acceleration
--disable-padlock-support --disable-aesni-support \
--disable-shaext-support --disable-pclmul-support \
--disable-sse41-support --disable-drng-support \
--disable-avx-support --disable-avx2-support \
--disable-neon-support --disable-arm-crypto-support \
--disable-ppc-crypto-support
--disable-amd64-as-feature-detection
Diffstat (limited to 'src/lib/protocols/quic.c')
-rw-r--r-- | src/lib/protocols/quic.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/protocols/quic.c b/src/lib/protocols/quic.c index 9ba2eade5..a25fa75df 100644 --- a/src/lib/protocols/quic.c +++ b/src/lib/protocols/quic.c @@ -28,6 +28,9 @@ #ifdef HAVE_LIBGCRYPT #include <gcrypt.h> +#else +#define HAVE_LIBGCRYPT 1 +#include <gcrypt_light.h> #endif // #define DEBUG_CRYPT @@ -243,12 +246,12 @@ static uint16_t gquic_get_u16(const uint8_t *buf, uint32_t version) } -#ifdef HAVE_LIBGCRYPT +#if defined(HAVE_LIBGCRYPT) #ifdef DEBUG_CRYPT char *__gcry_err(gpg_error_t err, char *buf, size_t buflen) { -#ifdef HAVE_LIBGPG_ERROR +#if defined(HAVE_LIBGPG_ERROR) || defined(LIBGCRYPT_INTERNAL) gpg_strerror_r(err, buf, buflen); /* I am not sure if the string will be always null-terminated... Better safe than sorry */ |