From 491bb14c0c9cf040154d57e246206ffb2f86a7e5 Mon Sep 17 00:00:00 2001 From: fanquake Date: Fri, 10 Jun 2022 11:14:49 +0100 Subject: build: test for timingsafe_bcmp Code introduced in #15649 added usage of `timingsafe_bcmp()`, if available, otherwise falling back to our own implementation. However the relevant build system check was never added, so currently, we'll always just use our implementation, as HAVE_TIMINGSAFE_BCMP will never be defined. Add the check for timingsafe_bcmp. Note that as far as I'm aware, it's only available on OpenBSD. --- configure.ac | 2 ++ src/crypto/chacha_poly_aead.cpp | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/configure.ac b/configure.ac index f6d00d0283..003d76989b 100644 --- a/configure.ac +++ b/configure.ac @@ -998,6 +998,8 @@ AC_CHECK_DECLS([setsid]) AC_CHECK_DECLS([pipe2]) +AC_CHECK_FUNCS([timingsafe_bcmp]) + AC_CHECK_DECLS([le16toh, le32toh, le64toh, htole16, htole32, htole64, be16toh, be32toh, be64toh, htobe16, htobe32, htobe64],,, [#if HAVE_ENDIAN_H #include diff --git a/src/crypto/chacha_poly_aead.cpp b/src/crypto/chacha_poly_aead.cpp index 4f3e6f7fa3..f736b2d867 100644 --- a/src/crypto/chacha_poly_aead.cpp +++ b/src/crypto/chacha_poly_aead.cpp @@ -2,6 +2,10 @@ // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. +#if defined(HAVE_CONFIG_H) +#include +#endif + #include #include -- cgit v1.2.3