From: Michał Kępień Date: Mon, 28 Sep 2020 07:21:59 +0000 (+0200) Subject: Make native PKCS#11 require dlopen() support X-Git-Tag: v9.11.24~10^2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=d21ed7527e22f34a1297878caded022db6e87c14;p=thirdparty%2Fbind9.git Make native PKCS#11 require dlopen() support PKCS#11 support in BIND requires dlopen() support from the operating system and thus building with "--enable-native-pkcs11 --without-dlopen" should not be possible. Add an Autoconf check which enforces that constraint. Adjust the pairwise testing model accordingly. (cherry picked from commit 187dca9cf7e3b7473352a7bd416abbc5c6f64cd4) --- diff --git a/configure b/configure index 887787faefb..50b0fb27702 100755 --- a/configure +++ b/configure @@ -24393,6 +24393,10 @@ fi fi +if test "$with_dlopen" = "no" -a "$want_native_pkcs11" = "yes"; then : + as_fn_error $? "PKCS11 requires dlopen() support" "$LINENO" 5 +fi + CFLAGS="$CFLAGS $SO_CFLAGS" diff --git a/configure.ac b/configure.ac index bdfd4d3f1aa..30bd71b957f 100644 --- a/configure.ac +++ b/configure.ac @@ -1489,7 +1489,7 @@ AC_SUBST(INSTALL_LIBRARY) # was --enable-native-pkcs11 specified? # (note it implies both --without-openssl and --with-pkcs11) # -# [pairwise: --enable-native-pkcs11, --disable-native-pkcs11] +# [pairwise: --enable-native-pkcs11 --with-dlopen, --disable-native-pkcs11 --with-dlopen, --disable-native-pkcs11 --without-dlopen] AC_ARG_ENABLE(native-pkcs11, AS_HELP_STRING([--enable-native-pkcs11], [use native PKCS11 for all crypto [default=no]]), @@ -5151,7 +5151,7 @@ SO_LD="" SO_TARGETS="" SO_STRIP="cat" -# [pairwise: --with-dlopen, --without-dlopen] +# [pairwise: skip] AC_ARG_WITH([dlopen], AS_HELP_STRING([--with-dlopen=ARG], [support dynamically loadable DLZ drivers]), @@ -5245,6 +5245,9 @@ AS_IF([test "$with_dlopen" = "yes"], ]) ]) +AS_IF([test "$with_dlopen" = "no" -a "$want_native_pkcs11" = "yes"], + [AC_MSG_ERROR([PKCS11 requires dlopen() support])]) + CFLAGS="$CFLAGS $SO_CFLAGS" AC_SUBST(SO)