1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
From 3d154a079c8417779c0c83d4ce73678613ba6026 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
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
|