From 3d154a079c8417779c0c83d4ce73678613ba6026 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Tue, 21 Aug 2018 15:52:34 -0700 Subject: [PATCH] Use timingsafe_memcmp if available --- configure.ac | 2 +- tsig.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index bd64fdb2..0ce02518 100644 --- a/configure.ac +++ b/configure.ac @@ -635,7 +635,7 @@ AC_CHECK_SIZEOF(void*) AC_CHECK_SIZEOF(off_t) AC_CHECK_FUNCS([getrandom arc4random arc4random_uniform]) AC_SEARCH_LIBS([setusercontext],[util],[AC_CHECK_HEADERS([login_cap.h],,, [AC_INCLUDES_DEFAULT])]) -AC_CHECK_FUNCS([tzset alarm chroot dup2 endpwent gethostname memset memcpy pwrite socket strcasecmp strchr strdup strerror strncasecmp strtol writev getaddrinfo getnameinfo freeaddrinfo gai_strerror sigaction sigprocmask strptime strftime localtime_r setusercontext glob initgroups setresuid setreuid setresgid setregid getpwnam mmap ppoll clock_gettime accept4 getifaddrs]) +AC_CHECK_FUNCS([tzset alarm chroot dup2 endpwent gethostname memset memcpy pwrite socket strcasecmp strchr strdup strerror strncasecmp strtol writev getaddrinfo getnameinfo freeaddrinfo gai_strerror sigaction sigprocmask strptime strftime localtime_r setusercontext glob initgroups setresuid setreuid setresgid setregid getpwnam mmap ppoll clock_gettime accept4 getifaddrs timingsafe_memcmp]) AC_CHECK_TYPE([struct mmsghdr], AC_DEFINE(HAVE_MMSGHDR, 1, [If sys/socket.h has a struct mmsghdr.]), [], [ AC_INCLUDES_DEFAULT diff --git a/tsig.c b/tsig.c index 8b24fd1b..e75aa231 100644 --- a/tsig.c +++ b/tsig.c @@ -19,7 +19,9 @@ #include "query.h" #include "rbtree.h" -#if !defined(HAVE_SSL) || !defined(HAVE_CRYPTO_MEMCMP) +#if defined(HAVE_TIMINGSAFE_MEMCMP) +#define CRYPTO_memcmp timingsafe_memcmp +#elif !defined(HAVE_SSL) || !defined(HAVE_CRYPTO_MEMCMP) /* we need fixed time compare */ #define CRYPTO_memcmp memcmp_fixedtime int memcmp_fixedtime(const void *s1, const void *s2, size_t n) -- 2.31.1