]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
configure: fix detection of memory cleanup functions
authorDaniel Salzman <daniel.salzman@nic.cz>
Tue, 24 Sep 2019 18:32:19 +0000 (20:32 +0200)
committerDaniel Salzman <daniel.salzman@nic.cz>
Tue, 24 Sep 2019 19:30:21 +0000 (21:30 +0200)
configure.ac
src/contrib/string.c

index b9f55bdc0721d070dfbbb1ad1062b83aef182435..af729f457e3ec1979b124f6c06d1380eb2282270 100644 (file)
@@ -165,6 +165,10 @@ PKG_CHECK_MODULES([gnutls], [gnutls >= 3.3], [
     AC_CHECK_FUNC([gnutls_privkey_sign_data2],
         [AC_DEFINE([HAVE_SIGN_DATA2], [1], [gnutls_privkey_sign_data2 available])])
 
+    AC_CHECK_FUNC([gnutls_memset],
+        [AC_DEFINE([HAVE_GNUTLS_MEMSET], [1], [gnutls_memset available])
+         gnutls_memset=yes], [gnutls_memset=no])
+
     CFLAGS=$save_CFLAGS
     LIBS=$save_LIBS
 ])
@@ -605,11 +609,15 @@ AC_CHECK_HEADERS_ONCE([pthread_np.h sys/uio.h bsd/string.h])
 AC_CHECK_FUNCS([accept4 clock_gettime fgetln getline initgroups malloc_trim \
                 setgroups strlcat strlcpy sysctlbyname])
 
-AC_CHECK_FUNC([explicit_bzero], [explicit_bzero=yes], [explicit_bzero=no])
-AM_CONDITIONAL([EXPLICIT_BZERO], [test "$explicit_bzero" = "yes"])
-AC_CHECK_FUNC([explicit_memset], [explicit_memset=yes], [explicit_memset=no])
-AM_CONDITIONAL([EXPLICIT_MEMSET], [test "$explicit_memset" = "yes"])
-AC_CHECK_DECL([gnutls_memset], [gnutls_memset=yes], [gnutls_memset=no], [#include <gnutls/gnutls.h>])
+# Check for robust memory cleanup implementations.
+AC_CHECK_FUNC([explicit_bzero], [
+  AC_DEFINE([HAVE_EXPLICIT_BZERO], [1], [explicit_bzero available])
+  explicit_bzero=yes], [explicit_bzero=no]
+)
+AC_CHECK_FUNC([explicit_memset], [
+  AC_DEFINE([HAVE_EXPLICIT_MEMSET], [1], [explicit_memset available])
+  explicit_memset=yes], [explicit_memset=no]
+)
 AM_CONDITIONAL([USE_GNUTLS_MEMSET], [test "$explicit_bzero" = "no" -a "$explicit_memset" = "no" -a "$gnutls_memset" = "yes"])
 
 # Check for mandatory library functions.
index 0960abbfbf7e7b5db68cee616ca56b388c2e5721..b6eb82647e25fe815e680f83d8cc07bc28d58072 100644 (file)
@@ -134,13 +134,11 @@ void *memzero(void *s, size_t n)
 #elif defined(HAVE_GNUTLS_MEMSET)      /* In GnuTLS since 3.4.0. */
        gnutls_memset(s, 0, n);
        return s;
-#elif defined(USE_CUSTOM_MEMSET)       /* Knot custom solution as a fallback. */
+#else                                  /* Knot custom solution as a fallback. */
        /* Warning: the use of the return value is *probably* needed
         * so as to avoid the volatile_memset() to be optimized out.
         */
        return volatile_memset(s, 0, n);
-#else
-  #error Build of memzero() failed!
 #endif
 }