]> git.ipfire.org Git - thirdparty/knot-dns.git/commitdiff
remove automagic for PKCS #11 support 1830/head
authorNicolas PARLANT <nicolas.parlant@parhuet.fr>
Thu, 4 Dec 2025 14:26:13 +0000 (15:26 +0100)
committerNicolas PARLANT <nicolas.parlant@parhuet.fr>
Thu, 4 Dec 2025 14:26:13 +0000 (15:26 +0100)
add a option pkcs11 to handle this

Signed-off-by: Nicolas PARLANT <nicolas.parlant@parhuet.fr>
configure.ac

index 8e12bfed3886e0b3d31bf529a77573b7f9efb3a3..85ec79cef81c3e43d45eb475fb293bdb6520a27e 100644 (file)
@@ -151,9 +151,9 @@ PKG_CHECK_MODULES([gnutls], [gnutls >= 3.6.10], [
     CFLAGS="$CFLAGS $gnutls_CFLAGS"
     LIBS="$LIBS $gnutls_LIBS"
 
-    AC_CHECK_FUNC([gnutls_pkcs11_copy_pubkey], [enable_pkcs11=yes], [enable_pkcs11=no])
-    AS_IF([test "$enable_pkcs11" = yes],
-        [AC_DEFINE([ENABLE_PKCS11], [1], [PKCS #11 support available])])
+    AC_CHECK_FUNC([gnutls_pkcs11_copy_pubkey],
+        [AC_DEFINE([HAVE_GNUTLS_PKCS11], [1], [gnutls_pkcs11_copy_pubkey available])
+         gnutls_pkcs11=yes], [gnutls_pkcs11=no])
 
     AC_CHECK_DECL([GNUTLS_SIGN_EDDSA_ED448],
         [AC_DEFINE([HAVE_ED448], [1], [GnuTLS ED448 support available])
@@ -170,7 +170,21 @@ PKG_CHECK_MODULES([gnutls], [gnutls >= 3.6.10], [
 ], [
     AS_IF([test "$enable_redis" != "module"], [AC_MSG_ERROR([GnuTLS library not found])])
 ])
+# PKCS11 support
+AC_ARG_ENABLE([pkcs11],
+   AS_HELP_STRING([--enable-pkcs11=auto|yes|no], [Support PKCS #11 [default=auto]]),
+   [], [enable_pkcs11=auto])
+
+AS_CASE([$enable_pkcs11],
+   [auto], [AS_IF([test "$gnutls_pkcs11" = "yes"], [enable_pkcs11=yes], [enable_pkcs11=no])],
+   [yes],  [AS_IF([test "$gnutls_pkcs11" = "yes"], [enable_pkcs11=yes], [
+     AC_MSG_ERROR([PKCS11 not available])])],
+   [no], [],
+   [*], [AC_MSG_ERROR([Invalid value of --enable-pkcs11.])]
+)
 AM_CONDITIONAL([ENABLE_PKCS11], [test "$enable_pkcs11" = "yes"])
+AS_IF([test "$enable_pkcs11" != "no"], [
+  AC_DEFINE([ENABLE_PKCS11], [1], [Define to 1 to enable PKCS #11 support using GnuTLS])])
 
 AC_ARG_ENABLE([recvmmsg],
    AS_HELP_STRING([--enable-recvmmsg=auto|yes|no], [enable recvmmsg() network API [default=auto]]),