diff --git a/CHANGES b/CHANGES index 35ca5d2f08..b6e7547040 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,5 @@ +3923. [bug] Sanity check the xml2-config output. [RT #22246] + 3922. [bug] When resigning, dnssec-signzone was removing all signatures from delegation nodes. It now retains DS and (if applicable) NSEC signatures. diff --git a/configure b/configure index 0abefed7e5..926962c506 100755 --- a/configure +++ b/configure @@ -16458,10 +16458,30 @@ esac if test "X$libxml2_libs" != "X" then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } CFLAGS="$CFLAGS $libxml2_cflags" LIBS="$LIBS $libxml2_libs" + # + # Sanity check xml2-config output. + # + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +return(xmlTextWriterStartElement(NULL, NULL)); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + as_fn_error $? "xml2-config returns badness" "$LINENO" 5 +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext $as_echo "#define HAVE_LIBXML2 1" >>confdefs.h diff --git a/configure.in b/configure.in index 539d11e4e7..6c2580a89b 100644 --- a/configure.in +++ b/configure.in @@ -2085,9 +2085,15 @@ esac if test "X$libxml2_libs" != "X" then - AC_MSG_RESULT(yes) CFLAGS="$CFLAGS $libxml2_cflags" LIBS="$LIBS $libxml2_libs" + # + # Sanity check xml2-config output. + # + AC_TRY_LINK([#include ], + [return(xmlTextWriterStartElement(NULL, NULL));], + AC_MSG_RESULT(yes), + AC_MSG_ERROR(xml2-config returns badness)) AC_DEFINE(HAVE_LIBXML2, 1, [Define if libxml2 was found]) else AC_MSG_RESULT(no)