diff -Nru knot-3.0.8/aclocal.m4 knot-3.0.9/aclocal.m4 --- knot-3.0.8/aclocal.m4 2021-07-16 09:31:01.000000000 +0000 +++ knot-3.0.9/aclocal.m4 2021-09-09 16:29:14.000000000 +0000 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.16.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.3 -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -20,9 +20,9 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -dnl serial 11 (pkg-config-0.29) -dnl +# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- +# serial 12 (pkg-config-0.29.2) + dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson dnl @@ -63,7 +63,7 @@ dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29]) +[m4_define([PKG_MACROS_VERSION], [0.29.2]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ @@ -164,7 +164,7 @@ AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no -AC_MSG_CHECKING([for $1]) +AC_MSG_CHECKING([for $2]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) @@ -174,11 +174,11 @@ See the pkg-config man page for more details.]) if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else + else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -195,7 +195,7 @@ _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full @@ -296,7 +296,7 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl ])dnl PKG_CHECK_VAR -# Copyright (C) 2002-2018 Free Software Foundation, Inc. +# Copyright (C) 2002-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -311,7 +311,7 @@ [am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.16.1], [], +m4_if([$1], [1.16.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -327,12 +327,12 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.16.1])dnl +[AM_AUTOMAKE_VERSION([1.16.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) -# Copyright (C) 2011-2018 Free Software Foundation, Inc. +# Copyright (C) 2011-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -394,7 +394,7 @@ # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -446,7 +446,7 @@ # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -477,7 +477,7 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -668,7 +668,7 @@ # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -707,7 +707,9 @@ done if test $am_rc -ne 0; then AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking).]) fi @@ -734,7 +736,7 @@ # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -931,7 +933,7 @@ done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -952,7 +954,7 @@ fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2018 Free Software Foundation, Inc. +# Copyright (C) 2003-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -973,7 +975,7 @@ # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1016,7 +1018,7 @@ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2018 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1037,12 +1039,7 @@ [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -1055,7 +1052,7 @@ # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1084,7 +1081,7 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1131,7 +1128,7 @@ # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1150,7 +1147,7 @@ # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1231,7 +1228,7 @@ rm -f conftest.file ]) -# Copyright (C) 2009-2018 Free Software Foundation, Inc. +# Copyright (C) 2009-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1291,7 +1288,7 @@ _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2018 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1319,7 +1316,7 @@ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2018 Free Software Foundation, Inc. +# Copyright (C) 2006-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1338,7 +1335,7 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2018 Free Software Foundation, Inc. +# Copyright (C) 2004-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru knot-3.0.8/ar-lib knot-3.0.9/ar-lib --- knot-3.0.8/ar-lib 2021-07-16 09:31:03.000000000 +0000 +++ knot-3.0.9/ar-lib 2021-09-09 16:29:16.000000000 +0000 @@ -2,9 +2,9 @@ # Wrapper for Microsoft lib.exe me=ar-lib -scriptversion=2012-03-01.08; # UTC +scriptversion=2019-07-04.01; # UTC -# Copyright (C) 2010-2018 Free Software Foundation, Inc. +# Copyright (C) 2010-2020 Free Software Foundation, Inc. # Written by Peter Rosin . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -65,7 +65,7 @@ mingw) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin) + cygwin | msys) file=`cygpath -m "$file" || echo "$file"` ;; wine) @@ -224,10 +224,11 @@ esac done else - $AR -NOLOGO -LIST "$archive" | sed -e 's/\\/\\\\/g' | while read member - do - $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? - done + $AR -NOLOGO -LIST "$archive" | tr -d '\r' | sed -e 's/\\/\\\\/g' \ + | while read member + do + $AR -NOLOGO -EXTRACT:"$member" "$archive" || exit $? + done fi elif test -n "$quick$replace"; then diff -Nru knot-3.0.8/compile knot-3.0.9/compile --- knot-3.0.8/compile 2021-07-16 09:31:03.000000000 +0000 +++ knot-3.0.9/compile 2021-09-09 16:29:16.000000000 +0000 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # Written by Tom Tromey . # # This program is free software; you can redistribute it and/or modify @@ -53,7 +53,7 @@ MINGW*) file_conv=mingw ;; - CYGWIN*) + CYGWIN* | MSYS*) file_conv=cygwin ;; *) @@ -67,7 +67,7 @@ mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/*) + cygwin/* | msys/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) diff -Nru knot-3.0.8/configure knot-3.0.9/configure --- knot-3.0.8/configure 2021-07-16 09:31:02.000000000 +0000 +++ knot-3.0.9/configure 2021-09-09 16:29:15.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for knot 3.0.8. +# Generated by GNU Autoconf 2.69 for knot 3.0.9. # # Report bugs to . # @@ -590,8 +590,8 @@ # Identity of this package. PACKAGE_NAME='knot' PACKAGE_TARNAME='knot' -PACKAGE_VERSION='3.0.8' -PACKAGE_STRING='knot 3.0.8' +PACKAGE_VERSION='3.0.9' +PACKAGE_STRING='knot 3.0.9' PACKAGE_BUGREPORT='knot-dns@labs.nic.cz' PACKAGE_URL='' @@ -1555,7 +1555,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures knot 3.0.8 to adapt to many kinds of systems. +\`configure' configures knot 3.0.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1626,7 +1626,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of knot 3.0.8:";; + short | recursive ) echo "Configuration of knot 3.0.9:";; esac cat <<\_ACEOF @@ -1856,7 +1856,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -knot configure 3.0.8 +knot configure 3.0.9 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2271,7 +2271,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by knot $as_me 3.0.8, which was +It was created by knot $as_me 3.0.9, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2827,12 +2827,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -3137,7 +3132,7 @@ # Define the identity of the package. PACKAGE='knot' - VERSION='3.0.8' + VERSION='3.0.9' cat >>confdefs.h <<_ACEOF @@ -4901,7 +4896,7 @@ KNOT_VERSION_MINOR=0 -KNOT_VERSION_PATCH=8 +KNOT_VERSION_PATCH=9 # Store ./configure parameters and CFLAGS @@ -7132,7 +7127,7 @@ fi : ${AR=ar} -: ${AR_FLAGS=cru} +: ${AR_FLAGS=cr} @@ -8853,8 +8848,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 + echo "$AR cr libconftest.a conftest.o" >&5 + $AR cr libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -8886,11 +8881,11 @@ # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + 10.0,*86*-darwin8*|10.0,*-darwin[912]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[012][,.]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) + 10.*|11.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; @@ -9716,6 +9711,12 @@ lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -13602,8 +13603,8 @@ # GnuTLS crypto backend pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls" >&5 -$as_echo_n "checking for gnutls... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gnutls >= 3.3" >&5 +$as_echo_n "checking for gnutls >= 3.3... " >&6; } if test -n "$gnutls_CFLAGS"; then pkg_cv_gnutls_CFLAGS="$gnutls_CFLAGS" @@ -13643,7 +13644,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -13670,7 +13671,7 @@ and gnutls_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} @@ -13844,8 +13845,8 @@ auto) : pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libbpf" >&5 -$as_echo_n "checking for libbpf... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libbpf >= 0.0.6" >&5 +$as_echo_n "checking for libbpf >= 0.0.6... " >&6; } if test -n "$libbpf_CFLAGS"; then pkg_cv_libbpf_CFLAGS="$libbpf_CFLAGS" @@ -13885,7 +13886,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -13903,7 +13904,7 @@ enable_xdp=no elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } enable_xdp=no else @@ -13957,7 +13958,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -13975,7 +13976,7 @@ as_fn_error $? "libelf is required" "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } as_fn_error $? "libelf is required" "$LINENO" 5 else @@ -14129,8 +14130,8 @@ auto) : pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemd" >&5 -$as_echo_n "checking for systemd... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsystemd" >&5 +$as_echo_n "checking for libsystemd... " >&6; } if test -n "$systemd_CFLAGS"; then pkg_cv_systemd_CFLAGS="$systemd_CFLAGS" @@ -14170,7 +14171,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -14189,8 +14190,8 @@ pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemd" >&5 -$as_echo_n "checking for systemd... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsystemd-daemon libsystemd-journal" >&5 +$as_echo_n "checking for libsystemd-daemon libsystemd-journal... " >&6; } if test -n "$systemd_CFLAGS"; then pkg_cv_systemd_CFLAGS="$systemd_CFLAGS" @@ -14230,7 +14231,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -14248,7 +14249,7 @@ enable_systemd=no elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } enable_systemd=no else @@ -14259,13 +14260,13 @@ enable_systemd=yes fi elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemd" >&5 -$as_echo_n "checking for systemd... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsystemd-daemon libsystemd-journal" >&5 +$as_echo_n "checking for libsystemd-daemon libsystemd-journal... " >&6; } if test -n "$systemd_CFLAGS"; then pkg_cv_systemd_CFLAGS="$systemd_CFLAGS" @@ -14305,7 +14306,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -14323,7 +14324,7 @@ enable_systemd=no elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } enable_systemd=no else @@ -14343,8 +14344,8 @@ yes) : pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemd" >&5 -$as_echo_n "checking for systemd... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsystemd" >&5 +$as_echo_n "checking for libsystemd... " >&6; } if test -n "$systemd_CFLAGS"; then pkg_cv_systemd_CFLAGS="$systemd_CFLAGS" @@ -14384,7 +14385,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -14403,8 +14404,8 @@ pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemd" >&5 -$as_echo_n "checking for systemd... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsystemd-daemon libsystemd-journal" >&5 +$as_echo_n "checking for libsystemd-daemon libsystemd-journal... " >&6; } if test -n "$systemd_CFLAGS"; then pkg_cv_systemd_CFLAGS="$systemd_CFLAGS" @@ -14444,7 +14445,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -14471,7 +14472,7 @@ and systemd_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} @@ -14493,13 +14494,13 @@ fi elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for systemd" >&5 -$as_echo_n "checking for systemd... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libsystemd-daemon libsystemd-journal" >&5 +$as_echo_n "checking for libsystemd-daemon libsystemd-journal... " >&6; } if test -n "$systemd_CFLAGS"; then pkg_cv_systemd_CFLAGS="$systemd_CFLAGS" @@ -14539,7 +14540,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -14566,7 +14567,7 @@ and systemd_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} @@ -14689,7 +14690,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -14806,7 +14807,7 @@ fi elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } for try_urcu in "$with_urcu" "" "/usr/local"; do @@ -15761,7 +15762,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -15788,7 +15789,7 @@ and libfstrm_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} @@ -15811,8 +15812,8 @@ fi pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libprotobuf_c" >&5 -$as_echo_n "checking for libprotobuf_c... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libprotobuf-c >= 1.0.0" >&5 +$as_echo_n "checking for libprotobuf-c >= 1.0.0... " >&6; } if test -n "$libprotobuf_c_CFLAGS"; then pkg_cv_libprotobuf_c_CFLAGS="$libprotobuf_c_CFLAGS" @@ -15852,7 +15853,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -15879,7 +15880,7 @@ and libprotobuf_c_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} @@ -15992,7 +15993,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -16010,7 +16011,7 @@ enable_maxminddb=no elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } enable_maxminddb=no else @@ -16064,7 +16065,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -16091,7 +16092,7 @@ and libmaxminddb_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} @@ -16224,8 +16225,8 @@ pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lmdb" >&5 -$as_echo_n "checking for lmdb... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for lmdb >= 0.9.15" >&5 +$as_echo_n "checking for lmdb >= 0.9.15... " >&6; } if test -n "$lmdb_CFLAGS"; then pkg_cv_lmdb_CFLAGS="$lmdb_CFLAGS" @@ -16265,7 +16266,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -16380,7 +16381,7 @@ fi elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } save_CPPFLAGS=$CPPFLAGS @@ -16564,7 +16565,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -16644,7 +16645,7 @@ elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } with_libedit=no @@ -16760,8 +16761,8 @@ pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libidn2" >&5 -$as_echo_n "checking for libidn2... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libidn2 >= 2.0.0" >&5 +$as_echo_n "checking for libidn2 >= 2.0.0... " >&6; } if test -n "$libidn2_CFLAGS"; then pkg_cv_libidn2_CFLAGS="$libidn2_CFLAGS" @@ -16801,7 +16802,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -16820,8 +16821,8 @@ pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libidn" >&5 -$as_echo_n "checking for libidn... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libidn >= 0.0.0" >&5 +$as_echo_n "checking for libidn >= 0.0.0... " >&6; } if test -n "$libidn_CFLAGS"; then pkg_cv_libidn_CFLAGS="$libidn_CFLAGS" @@ -16861,7 +16862,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -16883,7 +16884,7 @@ $as_echo "$as_me: WARNING: libidn2 or libidn not found" >&2;} elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } with_libidn=no @@ -16907,13 +16908,13 @@ fi elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libidn" >&5 -$as_echo_n "checking for libidn... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libidn >= 0.0.0" >&5 +$as_echo_n "checking for libidn >= 0.0.0... " >&6; } if test -n "$libidn_CFLAGS"; then pkg_cv_libidn_CFLAGS="$libidn_CFLAGS" @@ -16953,7 +16954,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -16975,7 +16976,7 @@ $as_echo "$as_me: WARNING: libidn2 or libidn not found" >&2;} elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } with_libidn=no @@ -17061,7 +17062,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -17083,7 +17084,7 @@ $as_echo "$as_me: WARNING: libnghttp2 not found" >&2;} elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } with_libnghttp2=no @@ -17122,8 +17123,8 @@ pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cap_ng" >&5 -$as_echo_n "checking for cap_ng... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for cap-ng" >&5 +$as_echo_n "checking for cap-ng... " >&6; } if test -n "$cap_ng_CFLAGS"; then pkg_cv_cap_ng_CFLAGS="$cap_ng_CFLAGS" @@ -17163,7 +17164,7 @@ if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then @@ -17256,7 +17257,7 @@ elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } enable_cap_ng=no @@ -19060,7 +19061,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by knot $as_me 3.0.8, which was +This file was extended by knot $as_me 3.0.9, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19126,7 +19127,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -knot config.status 3.0.8 +knot config.status 3.0.9 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -20240,7 +20241,9 @@ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "Something went wrong bootstrapping makefile fragments - for automatic dependency tracking. Try re-running configure with the + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the '--disable-dependency-tracking' option to at least be able to build the package (albeit without support for automatic dependency tracking). See \`config.log' for more details" "$LINENO" 5; } diff -Nru knot-3.0.8/configure.ac knot-3.0.9/configure.ac --- knot-3.0.8/configure.ac 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/configure.ac 2021-09-09 16:29:05.000000000 +0000 @@ -2,7 +2,7 @@ m4_define([knot_VERSION_MAJOR], 3)dnl m4_define([knot_VERSION_MINOR], 0)dnl -m4_define([knot_VERSION_PATCH], 8)dnl Leave empty if the master branch! +m4_define([knot_VERSION_PATCH], 9)dnl Leave empty if the master branch! m4_include([m4/knot-version.m4]) AC_INIT([knot], knot_PKG_VERSION, [knot-dns@labs.nic.cz]) diff -Nru knot-3.0.8/debian/changelog knot-3.0.9/debian/changelog --- knot-3.0.8/debian/changelog 2021-07-16 09:44:12.000000000 +0000 +++ knot-3.0.9/debian/changelog 2021-09-09 16:47:58.000000000 +0000 @@ -1,11 +1,11 @@ -knot (3.0.8-cznic.1~ubuntu21.04.1) hirsute; urgency=medium +knot (3.0.9-cznic.1~ubuntu21.04.1) hirsute; urgency=medium * No-change backport to hirsute - -- Daniel Salzman Fri, 16 Jul 2021 11:44:12 +0200 + -- Daniel Salzman Thu, 09 Sep 2021 18:47:58 +0200 -knot (3.0.8-cznic.1) unstable; urgency=medium +knot (3.0.9-cznic.1) unstable; urgency=medium - * Knot DNS 3.0.8 + * Knot DNS 3.0.9 - -- Daniel Salzman Fri, 16 Jul 2021 11:43:19 +0200 + -- Daniel Salzman Thu, 09 Sep 2021 18:47:29 +0200 diff -Nru knot-3.0.8/debian/copyright knot-3.0.9/debian/copyright --- knot-3.0.8/debian/copyright 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/debian/copyright 2021-09-09 16:29:05.000000000 +0000 @@ -4,11 +4,11 @@ Source: https://secure.nic.cz/files/knot-dns/ Files: * -Copyright: 2011-2019 CZ.NIC, z.s.p.o. +Copyright: 2011-2021 CZ.NIC, z.s.p.o. License: GPL-3+ Files: m4/* -Copyright: 2011-2019 CZ.NIC, z.s.p.o. +Copyright: 2011-2021 CZ.NIC, z.s.p.o. 1996-2001, 2003-2015 Free Software Foundation, Inc. License: GPL-3+ @@ -16,9 +16,9 @@ Copyright: 1994 X Consortium License: MIT -Files: debian/* distro/deb/* +Files: debian/* distro/pkg/deb/* Copyright: 2011 Ondřej Surý - 2011-2019 CZ.NIC, z.s.p.o. + 2011-2021 CZ.NIC, z.s.p.o. License: GPL-3+ Files: tests/tap/* @@ -32,7 +32,7 @@ Files: src/contrib/dnstap/* Copyright: 2014, Farsight Security, Inc. - 2011-2019 CZ.NIC, z.s.p.o. + 2011-2021 CZ.NIC, z.s.p.o. License: GPL-3+ Files: src/contrib/libbpf/* diff -Nru knot-3.0.8/debian/knot.maintscript knot-3.0.9/debian/knot.maintscript --- knot-3.0.8/debian/knot.maintscript 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/debian/knot.maintscript 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -rm_conffile /etc/init/knot.conf 2.0.0-1~ diff -Nru knot-3.0.8/depcomp knot-3.0.9/depcomp --- knot-3.0.8/depcomp 2021-07-16 09:31:04.000000000 +0000 +++ knot-3.0.9/depcomp 2021-09-09 16:29:17.000000000 +0000 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2018 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff -Nru knot-3.0.8/distro/deb/copyright knot-3.0.9/distro/deb/copyright --- knot-3.0.8/distro/deb/copyright 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/distro/deb/copyright 2021-09-09 16:29:05.000000000 +0000 @@ -4,11 +4,11 @@ Source: https://secure.nic.cz/files/knot-dns/ Files: * -Copyright: 2011-2019 CZ.NIC, z.s.p.o. +Copyright: 2011-2021 CZ.NIC, z.s.p.o. License: GPL-3+ Files: m4/* -Copyright: 2011-2019 CZ.NIC, z.s.p.o. +Copyright: 2011-2021 CZ.NIC, z.s.p.o. 1996-2001, 2003-2015 Free Software Foundation, Inc. License: GPL-3+ @@ -16,9 +16,9 @@ Copyright: 1994 X Consortium License: MIT -Files: debian/* distro/deb/* +Files: debian/* distro/pkg/deb/* Copyright: 2011 Ondřej Surý - 2011-2019 CZ.NIC, z.s.p.o. + 2011-2021 CZ.NIC, z.s.p.o. License: GPL-3+ Files: tests/tap/* @@ -32,7 +32,7 @@ Files: src/contrib/dnstap/* Copyright: 2014, Farsight Security, Inc. - 2011-2019 CZ.NIC, z.s.p.o. + 2011-2021 CZ.NIC, z.s.p.o. License: GPL-3+ Files: src/contrib/libbpf/* diff -Nru knot-3.0.8/distro/deb/knot.maintscript knot-3.0.9/distro/deb/knot.maintscript --- knot-3.0.8/distro/deb/knot.maintscript 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/distro/deb/knot.maintscript 1970-01-01 00:00:00.000000000 +0000 @@ -1 +0,0 @@ -rm_conffile /etc/init/knot.conf 2.0.0-1~ diff -Nru knot-3.0.8/distro/Makefile.in knot-3.0.9/distro/Makefile.in --- knot-3.0.8/distro/Makefile.in 2021-07-16 09:31:03.000000000 +0000 +++ knot-3.0.9/distro/Makefile.in 2021-09-09 16:29:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru knot-3.0.8/distro/tests/ansible-roles/obs_repos/vars/Debian_11.yaml knot-3.0.9/distro/tests/ansible-roles/obs_repos/vars/Debian_11.yaml --- knot-3.0.8/distro/tests/ansible-roles/obs_repos/vars/Debian_11.yaml 1970-01-01 00:00:00.000000000 +0000 +++ knot-3.0.9/distro/tests/ansible-roles/obs_repos/vars/Debian_11.yaml 2021-09-09 16:29:05.000000000 +0000 @@ -0,0 +1,2 @@ +--- +obs_repo_version: "{{ obs_distro }}_{{ ansible_distribution_major_version }}" diff -Nru knot-3.0.8/distro/tests/debian11/ansible.cfg knot-3.0.9/distro/tests/debian11/ansible.cfg --- knot-3.0.8/distro/tests/debian11/ansible.cfg 1970-01-01 00:00:00.000000000 +0000 +++ knot-3.0.9/distro/tests/debian11/ansible.cfg 2021-09-09 16:29:05.000000000 +0000 @@ -0,0 +1,6 @@ +[defaults] + +# additional paths to search for roles in, colon separated +roles_path = ../ansible-roles +interpreter_python = auto +stdout_callback=debug diff -Nru knot-3.0.8/distro/tests/debian11/Vagrantfile knot-3.0.9/distro/tests/debian11/Vagrantfile --- knot-3.0.8/distro/tests/debian11/Vagrantfile 1970-01-01 00:00:00.000000000 +0000 +++ knot-3.0.9/distro/tests/debian11/Vagrantfile 2021-09-09 16:29:05.000000000 +0000 @@ -0,0 +1,26 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : +# + +Vagrant.configure(2) do |config| + + config.vm.box = "generic/debian11" + config.vm.synced_folder ".", "/vagrant", disabled: true + + config.vm.define "debian11_knot-dns" do |machine| + machine.vm.provision "ansible" do |ansible| + ansible.playbook = "../knot-dns-pkgtest.yaml" + end + end + + config.vm.provider :libvirt do |libvirt| + libvirt.cpus = 1 + libvirt.memory = 1024 + end + + config.vm.provider :virtualbox do |vbox| + vbox.cpus = 1 + vbox.memory = 1024 + end + +end diff -Nru knot-3.0.8/doc/appendices.rst knot-3.0.9/doc/appendices.rst --- knot-3.0.8/doc/appendices.rst 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/doc/appendices.rst 2021-09-09 16:29:05.000000000 +0000 @@ -33,7 +33,7 @@ - RSA 1024-bit - RSA 2048-bit - RSA 4096-bit - * - `Feitian ePass 2003 `_ + * - `Feitian ePass 2003 `_ - |yes| - |no| - |no| @@ -60,7 +60,7 @@ - |yes| - |yes| - |yes| - * - `Trustway Proteccio NetHSM `_ + * - `Trustway Proteccio NetHSM `_ - |yes| - ECDSA only - |no| @@ -69,7 +69,7 @@ - |yes| - |yes| - |yes| - * - `Ultra Electronics CIS Keyper Plus (Model 9860-2) `_ + * - `Ultra Electronics CIS Keyper Plus (Model 9860-2) `_ - |yes| - RSA only - |no| diff -Nru knot-3.0.8/doc/configuration.rst knot-3.0.9/doc/configuration.rst --- knot-3.0.8/doc/configuration.rst 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/doc/configuration.rst 2021-09-09 16:29:05.000000000 +0000 @@ -433,9 +433,10 @@ and the user shall propagate them to the parent. The server periodically checks for DS at the parent zone and when positive, finishes the rollover. -To share KSKs among zones, set the ksk-shared policy parameter. It is strongly discouraged to -change the policy ``id`` afterwards! The shared key's creation timestamp will be equal for all -zones, but other timers (e.g. activate, retire) may get out of sync. :: +To share KSKs among zones, set the :ref:`policy_ksk-shared` policy parameter. Please note +that changing the policy ``id`` afterwards can have unexpected conseqences! +The shared key's creation timestamp will be equal for all zones, but other timers +(e.g. activate, retire) may get out of sync. :: policy: - id: shared diff -Nru knot-3.0.8/doc/Makefile.in knot-3.0.9/doc/Makefile.in --- knot-3.0.8/doc/Makefile.in 2021-07-16 09:31:03.000000000 +0000 +++ knot-3.0.9/doc/Makefile.in 2021-09-09 16:29:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -716,11 +716,11 @@ @HAVE_SPHINXBUILD_FALSE@info-local: @HAVE_DOCS_FALSE@install-html-local: @HAVE_SPHINXBUILD_FALSE@install-html-local: +@HAVE_DOCS_FALSE@html-local: +@HAVE_SPHINXBUILD_FALSE@html-local: @HAVE_DOCS_FALSE@install-pdf-local: @HAVE_PDFLATEX_FALSE@install-pdf-local: @HAVE_SPHINXBUILD_FALSE@install-pdf-local: -@HAVE_DOCS_FALSE@html-local: -@HAVE_SPHINXBUILD_FALSE@html-local: @HAVE_DOCS_FALSE@install-info-local: @HAVE_MAKEINFO_FALSE@install-info-local: @HAVE_SPHINXBUILD_FALSE@install-info-local: diff -Nru knot-3.0.8/doc/man/knotc.8in knot-3.0.9/doc/man/knotc.8in --- knot-3.0.8/doc/man/knotc.8in 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/doc/man/knotc.8in 2021-09-09 16:29:31.000000000 +0000 @@ -250,7 +250,8 @@ .UNINDENT .SS Note .sp -Empty or \fB\-\-\fP \fIzone\fP parameter means all zones or all zones with a transaction. +Empty or \fB\-\-\fP (two dashes) \fIzone\fP parameter means all zones or all zones with a +transaction. .sp Use \fB@\fP \fIowner\fP to denote the zone name. .sp diff -Nru knot-3.0.8/doc/man/knot.conf.5in knot-3.0.9/doc/man/knot.conf.5in --- knot-3.0.8/doc/man/knot.conf.5in 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/doc/man/knot.conf.5in 2021-09-09 16:29:31.000000000 +0000 @@ -1151,12 +1151,15 @@ \fIDefault:\fP see default for \fI\%ksk\-size\fP .SS ksk\-shared .sp -If enabled, all zones with this policy assigned will share one KSK. +If enabled, all zones with this policy assigned will share one or more KSKs. +More KSKs can be shared during a KSK rollover. .sp \fBWARNING:\fP .INDENT 0.0 .INDENT 3.5 -It is discouraged to modify policy \fI\%id\fP when shared KSK is enabled. +As the shared KSK set is bound to the policy \fI\%id\fP, renaming the +policy breaks this connection and new shared KSK set is initiated when +a new KSK is needed. .UNINDENT .UNINDENT .sp diff -Nru knot-3.0.8/doc/man_knotc.rst knot-3.0.9/doc/man_knotc.rst --- knot-3.0.8/doc/man_knotc.rst 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/doc/man_knotc.rst 2021-09-09 16:29:05.000000000 +0000 @@ -228,7 +228,8 @@ Note .... -Empty or **--** *zone* parameter means all zones or all zones with a transaction. +Empty or ``--`` (two dashes) *zone* parameter means all zones or all zones with a +transaction. Use **@** *owner* to denote the zone name. diff -Nru knot-3.0.8/doc/operation.rst knot-3.0.9/doc/operation.rst --- knot-3.0.8/doc/operation.rst 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/doc/operation.rst 2021-09-09 16:29:05.000000000 +0000 @@ -696,8 +696,8 @@ But when a KSK rollover takes place, they will use the same new key afterwards. .. WARNING:: - It is discouraged to modify policy :ref:`id` when :ref:`shared KSK` - is enabled. + Changing the policy :ref:`id` must be done carefully if shared + KSK is in use. .. _DNSSEC Delete algorithm: @@ -856,7 +856,7 @@ Knot DNS stores DNSSEC keys in textual PEM format (:rfc:`7468`), while many HSM management software require the keys for import to be in binary -DER format (`Rec. ITU-T X.690 `_). +DER format (`Rec. ITU-T X.690 `_). Keys can be converted from one format to another by software tools such as ``certtool`` from `GnuTLS `_ suite or ``openssl`` from `OpenSSL `_ suite. @@ -866,7 +866,7 @@ as copied from the Knot DNS zone's :ref:`KASP database directory `, ``c4eae5dea3ee8c15395680085c515f2ad41941b6.priv.der`` represents the file containing the private key in DER format as generated by the conversion tool, and -``c4eae5dea3ee8c15395680085c515f2ad41941b6.pub.der`` represents the file containing the private +``c4eae5dea3ee8c15395680085c515f2ad41941b6.pub.der`` represents the file containing the public key in DER format as generated by the conversion tool. .. code-block:: console diff -Nru knot-3.0.8/doc/reference.rst knot-3.0.9/doc/reference.rst --- knot-3.0.8/doc/reference.rst 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/doc/reference.rst 2021-09-09 16:29:05.000000000 +0000 @@ -1269,10 +1269,13 @@ ksk-shared ---------- -If enabled, all zones with this policy assigned will share one KSK. +If enabled, all zones with this policy assigned will share one or more KSKs. +More KSKs can be shared during a KSK rollover. .. WARNING:: - It is discouraged to modify policy :ref:`id` when shared KSK is enabled. + As the shared KSK set is bound to the policy :ref:`id`, renaming the + policy breaks this connection and new shared KSK set is initiated when + a new KSK is needed. *Default:* off diff -Nru knot-3.0.8/install-sh knot-3.0.9/install-sh --- knot-3.0.8/install-sh 2021-07-16 09:31:03.000000000 +0000 +++ knot-3.0.9/install-sh 2021-09-09 16:29:16.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2018-03-11.20; # UTC +scriptversion=2020-11-14.01; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -69,6 +69,11 @@ # Desired mode of installed file. mode=0755 +# Create dirs (including intermediate dirs) using mode 755. +# This is like GNU 'install' as of coreutils 8.32 (2020). +mkdir_umask=22 + +backupsuffix= chgrpcmd= chmodcmd=$chmodprog chowncmd= @@ -99,18 +104,28 @@ --version display version info and exit. -c (ignored) - -C install only if different (preserve the last data modification time) + -C install only if different (preserve data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. + -p pass -p to $cpprog. -s $stripprog installed files. + -S SUFFIX attempt to back up existing files, with suffix SUFFIX. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG + +By default, rm is invoked with -f; when overridden with RMPROG, +it's up to you to specify -f if you want it. + +If -S is not specified, no backups are attempted. + +Email bug reports to bug-automake@gnu.org. +Automake home page: https://www.gnu.org/software/automake/ " while test $# -ne 0; do @@ -137,8 +152,13 @@ -o) chowncmd="$chownprog $2" shift;; + -p) cpprog="$cpprog -p";; + -s) stripcmd=$stripprog;; + -S) backupsuffix="$2" + shift;; + -t) is_target_a_directory=always dst_arg=$2 @@ -255,6 +275,10 @@ dstdir=$dst test -d "$dstdir" dstdir_status=$? + # Don't chown directories that already exist. + if test $dstdir_status = 0; then + chowncmd="" + fi else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command @@ -301,22 +325,6 @@ if test $dstdir_status != 0; then case $posix_mkdir in '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then @@ -326,52 +334,49 @@ fi posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - # Note that $RANDOM variable is not portable (e.g. dash); Use it - # here however when possible just to lower collision chance. - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - - trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0 - - # Because "mkdir -p" follows existing symlinks and we likely work - # directly in world-writeable /tmp, make sure that the '$tmpdir' - # directory is successfully created first before we actually test - # 'mkdir -p' feature. - if (umask $mkdir_umask && - $mkdirprog $mkdir_mode "$tmpdir" && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - test_tmpdir="$tmpdir/a" - ls_ld_tmpdir=`ls -ld "$test_tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null - fi - trap '' 0;; - esac;; + # The $RANDOM variable is not portable (e.g., dash). Use it + # here however when possible just to lower collision chance. + tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ + + trap ' + ret=$? + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null + exit $ret + ' 0 + + # Because "mkdir -p" follows existing symlinks and we likely work + # directly in world-writeable /tmp, make sure that the '$tmpdir' + # directory is successfully created first before we actually test + # 'mkdir -p'. + if (umask $mkdir_umask && + $mkdirprog $mkdir_mode "$tmpdir" && + exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1 + then + if test -z "$dir_arg" || { + # Check for POSIX incompatibilities with -m. + # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or + # other-writable bit of parent directory when it shouldn't. + # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. + test_tmpdir="$tmpdir/a" + ls_ld_tmpdir=`ls -ld "$test_tmpdir"` + case $ls_ld_tmpdir in + d????-?r-*) different_mode=700;; + d????-?--*) different_mode=755;; + *) false;; + esac && + $mkdirprog -m$different_mode -p -- "$test_tmpdir" && { + ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"` + test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" + } + } + then posix_mkdir=: + fi + rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" + else + # Remove any dirs left behind by ancient mkdir implementations. + rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null + fi + trap '' 0;; esac if @@ -382,7 +387,7 @@ then : else - # The umask is ridiculous, or mkdir does not conform to POSIX, + # mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. @@ -411,7 +416,7 @@ prefixes= else if $posix_mkdir; then - (umask=$mkdir_umask && + (umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 @@ -451,7 +456,18 @@ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && + (umask $cp_umask && + { test -z "$stripcmd" || { + # Create $dsttmp read-write so that cp doesn't create it read-only, + # which would cause strip to fail. + if test -z "$doit"; then + : >"$dsttmp" # No need to fork-exec 'touch'. + else + $doit touch "$dsttmp" + fi + } + } && + $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # @@ -477,6 +493,13 @@ then rm -f "$dsttmp" else + # If $backupsuffix is set, and the file being installed + # already exists, attempt a backup. Don't worry if it fails, + # e.g., if mv doesn't support -f. + if test -n "$backupsuffix" && test -f "$dst"; then + $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null + fi + # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || @@ -491,9 +514,9 @@ # file should still install successfully. { test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || + $doit $rmcmd "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } + { $doit $rmcmd "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 diff -Nru knot-3.0.8/ltmain.sh knot-3.0.9/ltmain.sh --- knot-3.0.8/ltmain.sh 2021-07-16 09:30:59.000000000 +0000 +++ knot-3.0.9/ltmain.sh 2021-09-09 16:29:12.000000000 +0000 @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-9" +VERSION="2.4.6 Debian-2.4.6-15" package_revision=2.4.6 @@ -387,7 +387,7 @@ # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: @@ -2141,7 +2141,7 @@ compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.6-9 + version: $progname $scriptversion Debian-2.4.6-15 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -7368,10 +7368,12 @@ # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer # -fuse-ld=* Linker select flags for GCC + # -static-* direct GCC to link specific libraries statically + # -fcilkplus Cilk Plus language extension features for C/C++ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*|-fuse-ld=*) + -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result func_append compile_command " $arg" diff -Nru knot-3.0.8/m4/libtool.m4 knot-3.0.9/m4/libtool.m4 --- knot-3.0.8/m4/libtool.m4 2021-07-16 09:30:59.000000000 +0000 +++ knot-3.0.9/m4/libtool.m4 2021-09-09 16:29:12.000000000 +0000 @@ -1041,8 +1041,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF @@ -1071,11 +1071,11 @@ # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[[012]][[,.]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) + 10.*|11.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; @@ -1492,7 +1492,7 @@ m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cru} +: ${AR_FLAGS=cr} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) @@ -4704,6 +4704,12 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) diff -Nru knot-3.0.8/Makefile.in knot-3.0.9/Makefile.in --- knot-3.0.8/Makefile.in 2021-07-16 09:31:03.000000000 +0000 +++ knot-3.0.9/Makefile.in 2021-09-09 16:29:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -213,6 +213,8 @@ GZIP_ENV = --best DIST_ARCHIVES = $(distdir).tar.xz DIST_TARGETS = dist-xz +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' @@ -668,6 +670,10 @@ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) +dist-zstd: distdir + tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst + $(am__post_remove_distdir) + dist-tarZ: distdir @echo WARNING: "Support for distribution archives compressed with" \ "legacy program 'compress' is deprecated." >&2 @@ -710,6 +716,8 @@ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ + *.tar.zst*) \ + zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) @@ -725,7 +733,7 @@ $(DISTCHECK_CONFIGURE_FLAGS) \ --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ @@ -888,7 +896,7 @@ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool clean-local cscope cscopelist-am ctags ctags-am \ dist dist-all dist-bzip2 dist-gzip dist-lzip dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ + dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \ distclean-generic distclean-libtool distclean-tags \ distcleancheck distdir distuninstallcheck dvi dvi-am html \ html-am info info-am install install-am install-data \ diff -Nru knot-3.0.8/missing knot-3.0.9/missing --- knot-3.0.8/missing 2021-07-16 09:31:03.000000000 +0000 +++ knot-3.0.9/missing 2021-09-09 16:29:16.000000000 +0000 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2018 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify diff -Nru knot-3.0.8/NEWS knot-3.0.9/NEWS --- knot-3.0.8/NEWS 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/NEWS 2021-09-09 16:29:05.000000000 +0000 @@ -1,3 +1,19 @@ +Knot DNS 3.0.9 (2021-09-09) +=========================== + +Improvements: +------------- + - keymgr: import-bind sets publish and active timers to now if missing timers #747 + +Bugfixes: +--------- + - knotd: incomplete NSEC3 proof in response to opt-outed empty non-terminal + - knotd: journal discontinuity and zone-in-journal result in incorrectly calculated journal occupation + - knotd: incorrect evaluation of ACL deny rule in combination with TSIG + - knotd: failed DS-check is replanned even if no key is ready + - knotd: root zone not correctly purged from the journal + - kdig: +noall does not filter out AUTHORITY comment #749 + Knot DNS 3.0.8 (2021-07-16) =========================== diff -Nru knot-3.0.8/python/Makefile.in knot-3.0.9/python/Makefile.in --- knot-3.0.8/python/Makefile.in 2021-07-16 09:31:03.000000000 +0000 +++ knot-3.0.9/python/Makefile.in 2021-09-09 16:29:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru knot-3.0.8/samples/Makefile.in knot-3.0.9/samples/Makefile.in --- knot-3.0.8/samples/Makefile.in 2021-07-16 09:31:03.000000000 +0000 +++ knot-3.0.9/samples/Makefile.in 2021-09-09 16:29:16.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru knot-3.0.8/src/knot/conf/confio.c knot-3.0.9/src/knot/conf/confio.c --- knot-3.0.8/src/knot/conf/confio.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/conf/confio.c 2021-09-09 16:29:06.000000000 +0000 @@ -1316,6 +1316,7 @@ bool non_empty = false; + conf_val_t bin; // Must be in the scope of the error processing. for (yp_item_t *item = group->sub_items; item->name != NULL; item++) { args.item = item; @@ -1330,7 +1331,6 @@ } // Get the item value. - conf_val_t bin; conf_db_get(conf(), conf()->io.txn, group->name, item->name, id, id_len, &bin); if (bin.code == KNOT_ENOENT) { diff -Nru knot-3.0.8/src/knot/conf/tools.c knot-3.0.9/src/knot/conf/tools.c --- knot-3.0.8/src/knot/conf/tools.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/conf/tools.c 2021-09-09 16:29:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 CZ.NIC, z.s.p.o. +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -614,7 +614,7 @@ if (db_storage.code != KNOT_EOK && tpl_storage.code == KNOT_EOK && strcmp(conf_str(&tpl_storage), STORAGE_DIR) != 0) { CONF_LOG(LOG_NOTICE, "non-default 'template[default].storage' detected, " - "please configure also 'db.storage' to avoid compatibility " + "please configure also 'database.storage' to avoid compatibility " "issues with future versions"); } } else { diff -Nru knot-3.0.8/src/knot/events/events.c knot-3.0.9/src/knot/events/events.c --- knot-3.0.8/src/knot/events/events.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/events/events.c 2021-09-09 16:29:06.000000000 +0000 @@ -199,7 +199,7 @@ * 3. Perform the event's callback. * 4. Schedule next event planned event. */ -static void event_wrap(task_t *task) +static void event_wrap(worker_task_t *task) { assert(task); assert(task->ctx); diff -Nru knot-3.0.8/src/knot/events/events.h knot-3.0.9/src/knot/events/events.h --- knot-3.0.8/src/knot/events/events.h 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/events/events.h 2021-09-09 16:29:06.000000000 +0000 @@ -60,7 +60,7 @@ event_t *event; //!< Scheduler event. worker_pool_t *pool; //!< Server worker pool. - task_t task; //!< Event execution context. + worker_task_t task; //!< Event execution context. time_t time[ZONE_EVENT_COUNT]; //!< Event execution times. bool forced[ZONE_EVENT_COUNT]; //!< Flag that the event was invoked by user ctl. pthread_cond_t *blocking[ZONE_EVENT_COUNT]; //!< For blocking events: dispatching cond. diff -Nru knot-3.0.8/src/knot/events/handlers/ds_check.c knot-3.0.9/src/knot/events/handlers/ds_check.c --- knot-3.0.8/src/knot/events/handlers/ds_check.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/events/handlers/ds_check.c 2021-09-09 16:29:06.000000000 +0000 @@ -36,14 +36,18 @@ ret = knot_parent_ds_query(&ctx, &keyset, conf->cache.srv_tcp_remote_io_timeout); zone->timers.next_ds_check = 0; - if (ret != KNOT_EOK) { + switch (ret) { + case KNOT_NO_READY_KEY: + break; + case KNOT_EOK: + zone_events_schedule_now(zone, ZONE_EVENT_DNSSEC); + break; + default: if (ctx.policy->ksk_sbm_check_interval > 0) { time_t next_check = time(NULL) + ctx.policy->ksk_sbm_check_interval; zone->timers.next_ds_check = next_check; zone_events_schedule_at(zone, ZONE_EVENT_DS_CHECK, next_check); } - } else { - zone_events_schedule_now(zone, ZONE_EVENT_DNSSEC); } free_zone_keys(&keyset); diff -Nru knot-3.0.8/src/knot/journal/journal_basic.c knot-3.0.9/src/knot/journal/journal_basic.c --- knot-3.0.8/src/knot/journal/journal_basic.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/journal/journal_basic.c 2021-09-09 16:29:06.000000000 +0000 @@ -38,6 +38,19 @@ } } +MDB_val journal_zone_prefix(const knot_dname_t *zone) +{ + return knot_lmdb_make_key("NI", zone, (uint32_t)0); +} + +void journal_del_zone(knot_lmdb_txn_t *txn, const knot_dname_t *zone) +{ + assert(txn->is_rw); + MDB_val prefix = journal_zone_prefix(zone); + knot_lmdb_del_prefix(txn, &prefix); + free(prefix.mv_data); +} + void journal_make_header(void *chunk, uint32_t ch_serial_to) { knot_lmdb_make_key_part(chunk, JOURNAL_HEADER_SIZE, "IILLL", ch_serial_to, diff -Nru knot-3.0.8/src/knot/journal/journal_basic.h knot-3.0.9/src/knot/journal/journal_basic.h --- knot-3.0.8/src/knot/journal/journal_basic.h 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/journal/journal_basic.h 2021-09-09 16:29:06.000000000 +0000 @@ -58,6 +58,16 @@ MDB_val journal_changeset_to_chunk_key(const changeset_t *ch, uint32_t chunk_id); /*! + * \brief Return a key prefix to operate with all zone-related records. + */ +MDB_val journal_zone_prefix(const knot_dname_t *zone); + +/*! + * \brief Delete all zone-related records from journal with open read-write txn. + */ +void journal_del_zone(knot_lmdb_txn_t *txn, const knot_dname_t *zone); + +/*! * \brief Initialise chunk header. * * \param chunk Pointer to the changeset chunk. It must be at least JOURNAL_HEADER_SIZE, perhaps more. diff -Nru knot-3.0.8/src/knot/journal/journal_metadata.c knot-3.0.9/src/knot/journal/journal_metadata.c --- knot-3.0.8/src/knot/journal/journal_metadata.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/journal/journal_metadata.c 2021-09-09 16:29:06.000000000 +0000 @@ -286,6 +286,14 @@ md->flags |= (JOURNAL_MERGED_SERIAL_VALID | JOURNAL_LAST_FLUSHED_VALID); } +void journal_del_zone_txn(knot_lmdb_txn_t *txn, const knot_dname_t *zone) +{ + uint64_t md_occupied = 0; + (void)get_metadata64(txn, zone, "occupied", &md_occupied); + journal_del_zone(txn, zone); + set_metadata(txn, zone, "occupied", &md_occupied, sizeof(md_occupied), true); +} + int journal_scrape_with_md(zone_journal_t j, bool check_existence) { if (check_existence && !journal_is_existing(j)) { @@ -295,8 +303,7 @@ knot_lmdb_begin(j.db, &txn, true); update_last_inserter(&txn, NULL); - MDB_val prefix = { knot_dname_size(j.zone), (void *)j.zone }; - knot_lmdb_del_prefix(&txn, &prefix); + journal_del_zone(&txn, j.zone); knot_lmdb_commit(&txn); return txn.ret; @@ -313,8 +320,9 @@ knot_lmdb_begin(from, &tr, true); knot_lmdb_begin(to, &tw, true); update_last_inserter(&tr, NULL); - MDB_val prefix = { knot_dname_size(zone), (void *)zone }; + MDB_val prefix = journal_zone_prefix(zone); knot_lmdb_copy_prefix(&tr, &tw, &prefix); + free(prefix.mv_data); knot_lmdb_commit(&tw); knot_lmdb_commit(&tr); done: diff -Nru knot-3.0.8/src/knot/journal/journal_metadata.h knot-3.0.9/src/knot/journal/journal_metadata.h --- knot-3.0.8/src/knot/journal/journal_metadata.h 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/journal/journal_metadata.h 2021-09-09 16:29:06.000000000 +0000 @@ -112,6 +112,14 @@ void journal_metadata_after_extra(journal_metadata_t *md, uint32_t serial, uint32_t serial_to); /*! + * \brief Delete all zone records in a txn that will later write to the same zone. + * + * \note The difference against journal_del_zone(), which purges even metadata, incl "occupied". + * \note This preserves keeping track of space occupied/freed by this zone. + */ +void journal_del_zone_txn(knot_lmdb_txn_t *txn, const knot_dname_t *zone); + +/*! * \brief Completely delete all journal records belonging to this zone, including metadata. * * \param j Journal to be scraped. diff -Nru knot-3.0.8/src/knot/journal/journal_write.c knot-3.0.9/src/knot/journal/journal_write.c --- knot-3.0.8/src/knot/journal/journal_write.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/journal/journal_write.c 2021-09-09 16:29:06.000000000 +0000 @@ -190,10 +190,12 @@ while ((need_tofree > 0 || need_todel > 0) && txn->ret == KNOT_EOK) { uint32_t del_from = md->first_serial; // don't move this line outside of the loop + uint32_t del_upto = md->flushed_upto; + (void)journal_serial_to(txn, true, 0, j.zone, &del_upto); // in case zij present and wrong flushed_upto, avoid discontinuity freed = 0; removed = 0; journal_delete(txn, del_from, j.zone, need_tofree, need_todel, - md->flushed_upto, &freed, &removed, &del_from); + del_upto, &freed, &removed, &del_from); if (freed == 0) { if (md->flushed_upto != md->serial_to) { journal_try_flush(j, txn, md); @@ -225,8 +227,7 @@ knot_lmdb_begin(j.db, &txn, true); update_last_inserter(&txn, j.zone); - MDB_val prefix = { knot_dname_size(j.zone), (void *)j.zone }; - knot_lmdb_del_prefix(&txn, &prefix); + journal_del_zone_txn(&txn, j.zone); journal_write_zone(&txn, z); @@ -282,8 +283,7 @@ if (journal_contains(&txn, true, 0, j.zone)) { txn.ret = KNOT_ESEMCHECK; } else { - MDB_val prefix = { knot_dname_size(j.zone), (void *)j.zone }; - knot_lmdb_del_prefix(&txn, &prefix); + journal_del_zone_txn(&txn, j.zone); memset(&md, 0, sizeof(md)); } } diff -Nru knot-3.0.8/src/knot/modules/onlinesign/onlinesign.c knot-3.0.9/src/knot/modules/onlinesign/onlinesign.c --- knot-3.0.8/src/knot/modules/onlinesign/onlinesign.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/modules/onlinesign/onlinesign.c 2021-09-09 16:29:06.000000000 +0000 @@ -490,7 +490,7 @@ pthread_rwlock_rdlock(&ctx->signing_mutex); ret = knot_parent_ds_query(mod->dnssec, mod->keyset, 1000); pthread_rwlock_unlock(&ctx->signing_mutex); - if (ret != KNOT_EOK && mod->dnssec->policy->ksk_sbm_check_interval > 0) { + if (ret != KNOT_EOK && ret != KNOT_NO_READY_KEY && mod->dnssec->policy->ksk_sbm_check_interval > 0) { ctx->event_parent_ds_q = mod->dnssec->now + mod->dnssec->policy->ksk_sbm_check_interval; } else { ctx->event_parent_ds_q = 0; diff -Nru knot-3.0.8/src/knot/nameserver/nsec_proofs.c knot-3.0.9/src/knot/nameserver/nsec_proofs.c --- knot-3.0.8/src/knot/nameserver/nsec_proofs.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/nameserver/nsec_proofs.c 2021-09-09 16:29:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 CZ.NIC, z.s.p.o. +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -42,7 +42,7 @@ */ static bool ds_optout(const zone_node_t *node) { - return node_nsec3_get(node) == NULL && node->flags & NODE_FLAGS_DELEG; + return node_nsec3_get(node) == NULL && !(node->flags & NODE_FLAGS_SUBTREE_AUTH); } /*! diff -Nru knot-3.0.8/src/knot/server/server.c knot-3.0.9/src/knot/server/server.c --- knot-3.0.8/src/knot/server/server.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/server/server.c 2021-09-09 16:29:06.000000000 +0000 @@ -273,7 +273,7 @@ ret = knot_xdp_init(new_if->xdp_sockets + i, iface.name, i, iface.port, mode); if (ret == -EBUSY && i == 0) { - log_notice("XDP interface %s@%u is busy, retrying initializaion", + log_notice("XDP interface %s@%u is busy, retrying initialization", iface.name, iface.port); ret = knot_xdp_init(new_if->xdp_sockets + i, iface.name, i, iface.port, KNOT_XDP_LOAD_BPF_ALWAYS_UNLOAD); diff -Nru knot-3.0.8/src/knot/updates/acl.c knot-3.0.9/src/knot/updates/acl.c --- knot-3.0.8/src/knot/updates/acl.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/updates/acl.c 2021-09-09 16:29:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2020 CZ.NIC, z.s.p.o. +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -156,7 +156,7 @@ static bool check_addr_key(conf_t *conf, conf_val_t *addr_val, conf_val_t *key_val, bool remote, const struct sockaddr_storage *addr, - const knot_tsig_key_t *tsig) + const knot_tsig_key_t *tsig, bool deny) { /* Check if the address matches the acl address list or remote addresses. */ if (addr_val->code != KNOT_ENOENT) { @@ -201,9 +201,17 @@ conf_val_next(key_val); } } - /* Check for key match or empty list without key provided. */ - if (key_val->code != KNOT_EOK && - !(key_val->code == KNOT_ENOENT && tsig->name == NULL)) { + switch (key_val->code) { + case KNOT_EOK: + // Key match. + break; + case KNOT_ENOENT: + // Empty list without key provided or denied. + if (tsig->name == NULL || deny) { + break; + } + // FALLTHROUGH + default: return false; } @@ -221,13 +229,15 @@ while (acl->code == KNOT_EOK) { conf_val_t rmt_val = conf_id_get(conf, C_ACL, C_RMT, acl); bool remote = (rmt_val.code == KNOT_EOK); + conf_val_t deny_val = conf_id_get(conf, C_ACL, C_DENY, acl); + bool deny = conf_bool(&deny_val); /* Check if a remote matches given address and key. */ conf_val_t addr_val, key_val; while (rmt_val.code == KNOT_EOK) { addr_val = conf_id_get(conf, C_RMT, C_ADDR, &rmt_val); key_val = conf_id_get(conf, C_RMT, C_KEY, &rmt_val); - if (check_addr_key(conf, &addr_val, &key_val, remote, addr, tsig)) { + if (check_addr_key(conf, &addr_val, &key_val, remote, addr, tsig, deny)) { break; } conf_val_next(&rmt_val); @@ -239,7 +249,7 @@ if (!remote) { addr_val = conf_id_get(conf, C_ACL, C_ADDR, acl); key_val = conf_id_get(conf, C_ACL, C_KEY, acl); - if (!check_addr_key(conf, &addr_val, &key_val, remote, addr, tsig)) { + if (!check_addr_key(conf, &addr_val, &key_val, remote, addr, tsig, deny)) { goto next_acl; } } @@ -272,14 +282,13 @@ } /* Check if denied. */ - conf_val_t val = conf_id_get(conf, C_ACL, C_DENY, acl); - if (conf_bool(&val)) { + if (deny) { return false; } /* Fill the output with tsig secret if provided. */ if (tsig->name != NULL) { - val = conf_id_get(conf, C_KEY, C_SECRET, &key_val); + conf_val_t val = conf_id_get(conf, C_KEY, C_SECRET, &key_val); tsig->secret.data = (uint8_t *)conf_bin(&val, &tsig->secret.size); } diff -Nru knot-3.0.8/src/knot/worker/pool.c knot-3.0.9/src/knot/worker/pool.c --- knot-3.0.8/src/knot/worker/pool.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/worker/pool.c 2021-09-09 16:29:06.000000000 +0000 @@ -61,7 +61,7 @@ break; } - task_t *task = NULL; + worker_task_t *task = NULL; if (!pool->suspended) { task = worker_queue_dequeue(&pool->tasks); } diff -Nru knot-3.0.8/src/knot/worker/queue.c knot-3.0.9/src/knot/worker/queue.c --- knot-3.0.8/src/knot/worker/queue.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/worker/queue.c 2021-09-09 16:29:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 CZ.NIC, z.s.p.o. +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -34,7 +34,7 @@ ptrlist_free(&queue->list, &queue->mm_ctx); } -void worker_queue_enqueue(worker_queue_t *queue, task_t *task) +void worker_queue_enqueue(worker_queue_t *queue, worker_task_t *task) { if (!queue || !task) { return; @@ -43,13 +43,13 @@ ptrlist_add(&queue->list, task, &queue->mm_ctx); } -task_t *worker_queue_dequeue(worker_queue_t *queue) +worker_task_t *worker_queue_dequeue(worker_queue_t *queue) { if (!queue) { return NULL; } - task_t *task = NULL; + worker_task_t *task = NULL; if (!EMPTY_LIST(queue->list)) { ptrnode_t *node = HEAD(queue->list); diff -Nru knot-3.0.8/src/knot/worker/queue.h knot-3.0.9/src/knot/worker/queue.h --- knot-3.0.8/src/knot/worker/queue.h 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/worker/queue.h 2021-09-09 16:29:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 CZ.NIC, z.s.p.o. +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ typedef struct task { void *ctx; task_cb run; -} task_t; +} worker_task_t; /*! * \brief Worker queue. @@ -50,14 +50,14 @@ /*! * \brief Insert new item into the queue. */ -void worker_queue_enqueue(worker_queue_t *queue, task_t *task); +void worker_queue_enqueue(worker_queue_t *queue, worker_task_t *task); /*! * \brief Remove item from the queue. * * \return Task or NULL if the queue is empty. */ -task_t *worker_queue_dequeue(worker_queue_t *queue); +worker_task_t *worker_queue_dequeue(worker_queue_t *queue); /*! * \brief Return number of tasks in worker queue. diff -Nru knot-3.0.8/src/knot/zone/adjust.c knot-3.0.9/src/knot/zone/adjust.c --- knot-3.0.8/src/knot/zone/adjust.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/zone/adjust.c 2021-09-09 16:29:06.000000000 +0000 @@ -23,19 +23,47 @@ #include "knot/zone/adds_tree.h" #include "knot/zone/measure.h" +static bool node_non_dnssec_exists(const zone_node_t *node) +{ + assert(node); + + for (uint16_t i = 0; i < node->rrset_count; ++i) { + switch (node->rrs[i].type) { + case KNOT_RRTYPE_NSEC: + case KNOT_RRTYPE_NSEC3: + case KNOT_RRTYPE_RRSIG: + continue; + default: + return true; + } + } + + return false; +} + int adjust_cb_flags(zone_node_t *node, adjust_ctx_t *ctx) { zone_node_t *parent = node_parent(node); uint16_t flags_orig = node->flags; + bool set_subt_auth = false; assert(!(node->flags & NODE_FLAGS_DELETED)); - node->flags &= ~(NODE_FLAGS_DELEG | NODE_FLAGS_NONAUTH); + node->flags &= ~(NODE_FLAGS_DELEG | NODE_FLAGS_NONAUTH | NODE_FLAGS_SUBTREE_AUTH); if (parent && (parent->flags & NODE_FLAGS_DELEG || parent->flags & NODE_FLAGS_NONAUTH)) { node->flags |= NODE_FLAGS_NONAUTH; } else if (node_rrtype_exists(node, KNOT_RRTYPE_NS) && node != ctx->zone->apex) { node->flags |= NODE_FLAGS_DELEG; + if (node_rrtype_exists(node, KNOT_RRTYPE_DS)) { + set_subt_auth = true; + } + } else if (node_non_dnssec_exists(node)) { + set_subt_auth = true; + } + + if (set_subt_auth) { + node_set_flag_hierarch(node, NODE_FLAGS_SUBTREE_AUTH); } if (node->flags != flags_orig && ctx->changed_nodes != NULL) { diff -Nru knot-3.0.8/src/knot/zone/node.h knot-3.0.9/src/knot/zone/node.h --- knot-3.0.8/src/knot/zone/node.h 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/zone/node.h 2021-09-09 16:29:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 CZ.NIC, z.s.p.o. +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -100,6 +100,8 @@ NODE_FLAGS_SECOND = 1 << 9, // this value shall be fixed /*! \brief The node shall be deleted. It's just not because it's a bi-node and the counterpart still exists. */ NODE_FLAGS_DELETED = 1 << 10, + /*! \brief The node or some node in subtree has some authoritative data in it (possibly also DS at deleg). */ + NODE_FLAGS_SUBTREE_AUTH = 1 << 11, }; typedef void (*node_addrem_cb)(zone_node_t *, void *); @@ -297,6 +299,16 @@ } /*! + * \brief Add a flag to this node and all (grand-)parents until the flag is present. + */ +inline static void node_set_flag_hierarch(zone_node_t *node, uint16_t fl) +{ + for (zone_node_t *i = node; i != NULL && (i->flags & fl) != fl; i = node_parent(i)) { + i->flags |= fl; + } +} + +/*! * \brief Checks whether node contains any RRSIG for given type. * * \param node Node to check in. diff -Nru knot-3.0.8/src/knot/zone/zone-diff.c knot-3.0.9/src/knot/zone/zone-diff.c --- knot-3.0.8/src/knot/zone/zone-diff.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/zone/zone-diff.c 2021-09-09 16:29:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2019 CZ.NIC, z.s.p.o. +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -175,8 +175,8 @@ * to add all RRs that had no match, but those from second RRSet. */ /* Get RRs to add to zone and to remove from zone. */ - knot_rrset_t to_remove; - knot_rrset_t to_add; + knot_rrset_t to_remove = { 0 }; + knot_rrset_t to_add = { 0 }; if (rrset1 != NULL && rrset2 != NULL) { int ret = rdata_return_changes(rrset1, rrset2, &to_remove); if (ret != KNOT_EOK) { diff -Nru knot-3.0.8/src/knot/zone/zone-dump.c knot-3.0.9/src/knot/zone/zone-dump.c --- knot-3.0.8/src/knot/zone/zone-dump.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/knot/zone/zone-dump.c 2021-09-09 16:29:06.000000000 +0000 @@ -168,6 +168,7 @@ // Dump standard zone records without RRSIGS. int ret = zone_contents_apply(zone, node_dump_text, ¶ms); if (ret != KNOT_EOK) { + free(params.buf); return ret; } @@ -177,6 +178,7 @@ params.first_comment = comments ? ";; DNSSEC signatures\n" : NULL; ret = zone_contents_apply(zone, node_dump_text, ¶ms); if (ret != KNOT_EOK) { + free(params.buf); return ret; } @@ -186,6 +188,7 @@ params.first_comment = comments ? ";; DNSSEC NSEC chain\n" : NULL; ret = zone_contents_apply(zone, node_dump_text, ¶ms); if (ret != KNOT_EOK) { + free(params.buf); return ret; } @@ -195,6 +198,7 @@ params.first_comment = comments ? ";; DNSSEC NSEC3 chain\n" : NULL; ret = zone_contents_nsec3_apply(zone, node_dump_text, ¶ms); if (ret != KNOT_EOK) { + free(params.buf); return ret; } @@ -203,6 +207,7 @@ params.first_comment = comments ? ";; DNSSEC NSEC3 signatures\n" : NULL; ret = zone_contents_nsec3_apply(zone, node_dump_text, ¶ms); if (ret != KNOT_EOK) { + free(params.buf); return ret; } diff -Nru knot-3.0.8/src/libdnssec/version.h knot-3.0.9/src/libdnssec/version.h --- knot-3.0.8/src/libdnssec/version.h 2021-07-16 09:31:11.000000000 +0000 +++ knot-3.0.9/src/libdnssec/version.h 2021-09-09 16:29:24.000000000 +0000 @@ -18,7 +18,7 @@ #define DNSSEC_VERSION_MAJOR 3 #define DNSSEC_VERSION_MINOR 0 -#define DNSSEC_VERSION_PATCH 0x08 +#define DNSSEC_VERSION_PATCH 0x09 #define DNSSEC_VERSION_HEX ((DNSSEC_VERSION_MAJOR << 16) | \ (DNSSEC_VERSION_MINOR << 8) | \ diff -Nru knot-3.0.8/src/libknot/libknot.h knot-3.0.9/src/libknot/libknot.h --- knot-3.0.8/src/libknot/libknot.h 2021-07-16 09:31:12.000000000 +0000 +++ knot-3.0.9/src/libknot/libknot.h 2021-09-09 16:29:25.000000000 +0000 @@ -64,7 +64,7 @@ #include "libknot/rrtype/soa.h" #include "libknot/rrtype/tsig.h" #include "libknot/wire.h" -#if 0 +#if 1 #include "libknot/xdp/xdp.h" #include "libknot/xdp/bpf-consts.h" #include "libknot/xdp/eth.h" diff -Nru knot-3.0.8/src/libknot/version.h knot-3.0.9/src/libknot/version.h --- knot-3.0.8/src/libknot/version.h 2021-07-16 09:31:11.000000000 +0000 +++ knot-3.0.9/src/libknot/version.h 2021-09-09 16:29:24.000000000 +0000 @@ -18,7 +18,7 @@ #define KNOT_VERSION_MAJOR 3 #define KNOT_VERSION_MINOR 0 -#define KNOT_VERSION_PATCH 0x08 +#define KNOT_VERSION_PATCH 0x09 #define KNOT_VERSION_HEX ((KNOT_VERSION_MAJOR << 16) | \ (KNOT_VERSION_MINOR << 8) | \ diff -Nru knot-3.0.8/src/libknot/xdp/Makefile.in knot-3.0.9/src/libknot/xdp/Makefile.in --- knot-3.0.8/src/libknot/xdp/Makefile.in 2021-07-16 09:31:04.000000000 +0000 +++ knot-3.0.9/src/libknot/xdp/Makefile.in 2021-09-09 16:29:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru knot-3.0.8/src/libzscanner/version.h knot-3.0.9/src/libzscanner/version.h --- knot-3.0.8/src/libzscanner/version.h 2021-07-16 09:31:11.000000000 +0000 +++ knot-3.0.9/src/libzscanner/version.h 2021-09-09 16:29:24.000000000 +0000 @@ -18,7 +18,7 @@ #define ZSCANNER_VERSION_MAJOR 3 #define ZSCANNER_VERSION_MINOR 0 -#define ZSCANNER_VERSION_PATCH 0x08 +#define ZSCANNER_VERSION_PATCH 0x09 #define ZSCANNER_VERSION_HEX ((ZSCANNER_VERSION_MAJOR << 16) | \ (ZSCANNER_VERSION_MINOR << 8) | \ diff -Nru knot-3.0.8/src/Makefile.in knot-3.0.9/src/Makefile.in --- knot-3.0.8/src/Makefile.in 2021-07-16 09:31:04.000000000 +0000 +++ knot-3.0.9/src/Makefile.in 2021-09-09 16:29:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1332,8 +1332,8 @@ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir distdir-am -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ + config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. @@ -6205,7 +6205,8 @@ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive -install-exec: install-exec-recursive +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive @@ -6967,7 +6968,7 @@ uninstall-sbinPROGRAMS .MAKE: $(am__recursive_targets) all check install install-am \ - install-data-am install-strip + install-data-am install-exec install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--depfiles check check-am clean clean-binPROGRAMS \ diff -Nru knot-3.0.8/src/utils/common/exec.c knot-3.0.9/src/utils/common/exec.c --- knot-3.0.8/src/utils/common/exec.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/utils/common/exec.c 2021-09-09 16:29:06.000000000 +0000 @@ -250,7 +250,9 @@ printf("(malformed)"); return; } - uint16_t errcode = be16toh(*(uint16_t *)data); + uint16_t errcode; + memcpy(&errcode, data, sizeof(errcode)); + errcode = be16toh(errcode); const char *strerr = knot_edns_ede_strerr(errcode); if (len > 2) { printf("%hu (%s): '%.*s'", errcode, strerr, (int)(len - 2), data + 2); diff -Nru knot-3.0.8/src/utils/common/https.c knot-3.0.9/src/utils/common/https.c --- knot-3.0.8/src/utils/common/https.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/utils/common/https.c 2021-09-09 16:29:06.000000000 +0000 @@ -563,6 +563,7 @@ } nghttp2_session_del(ctx->session); + ctx->session = NULL; pthread_mutex_destroy(&ctx->recv_mx); free(ctx->path); ctx->path = NULL; diff -Nru knot-3.0.8/src/utils/common/netio.c knot-3.0.9/src/utils/common/netio.c --- knot-3.0.8/src/utils/common/netio.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/utils/common/netio.c 2021-09-09 16:29:06.000000000 +0000 @@ -653,6 +653,8 @@ free(net->local_str); free(net->remote_str); + net->local_str = NULL; + net->remote_str = NULL; if (net->local_info != NULL) { if (net->local == NULL) { @@ -660,10 +662,12 @@ } else { freeaddrinfo(net->local_info); } + net->local_info = NULL; } if (net->remote_info != NULL) { freeaddrinfo(net->remote_info); + net->remote_info = NULL; } #ifdef LIBNGHTTP2 diff -Nru knot-3.0.8/src/utils/common/tls.c knot-3.0.9/src/utils/common/tls.c --- knot-3.0.8/src/utils/common/tls.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/utils/common/tls.c 2021-09-09 16:29:06.000000000 +0000 @@ -666,6 +666,7 @@ if (ctx->credentials != NULL) { gnutls_certificate_free_credentials(ctx->credentials); + ctx->credentials = NULL; } } diff -Nru knot-3.0.8/src/utils/kdig/kdig_params.c knot-3.0.9/src/utils/kdig/kdig_params.c --- knot-3.0.8/src/utils/kdig/kdig_params.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/utils/kdig/kdig_params.c 2021-09-09 16:29:06.000000000 +0000 @@ -293,6 +293,7 @@ query_t *q = query; q->style.show_header = true; + q->style.show_section = true; q->style.show_edns = true; q->style.show_question = true; q->style.show_answer = true; @@ -309,6 +310,7 @@ query_t *q = query; q->style.show_header = false; + q->style.show_section = false; q->style.show_edns = false; q->style.show_query = false; q->style.show_question = false; diff -Nru knot-3.0.8/src/utils/keymgr/bind_privkey.c knot-3.0.9/src/utils/keymgr/bind_privkey.c --- knot-3.0.8/src/utils/keymgr/bind_privkey.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/utils/keymgr/bind_privkey.c 2021-09-09 16:29:06.000000000 +0000 @@ -212,7 +212,7 @@ return DNSSEC_NOT_FOUND; } - bind_privkey_t params = { 0 }; + bind_privkey_t params = *params_ptr; _cleanup_free_ char *line = NULL; size_t size = 0; diff -Nru knot-3.0.8/src/utils/keymgr/functions.c knot-3.0.9/src/utils/keymgr/functions.c --- knot-3.0.8/src/utils/keymgr/functions.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/src/utils/keymgr/functions.c 2021-09-09 16:29:06.000000000 +0000 @@ -373,7 +373,7 @@ } if (!pub_only) { - bind_privkey_t bpriv = { 0 }; + bind_privkey_t bpriv = { .time_publish = ctx->now, .time_activate = ctx->now }; char *privname = gen_keyfilename(import_file, ".private", ".key"); if (privname == NULL) { diff -Nru knot-3.0.8/test-driver knot-3.0.9/test-driver --- knot-3.0.8/test-driver 2021-07-16 09:31:04.000000000 +0000 +++ knot-3.0.9/test-driver 2021-09-09 16:29:17.000000000 +0000 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2018 Free Software Foundation, Inc. +# Copyright (C) 2011-2020 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -42,11 +42,13 @@ { cat < +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -25,6 +25,7 @@ #include "contrib/sockaddr.h" #define ZONE "example.zone" +#define ZONE2 "example2.zone" #define KEY1 "key1_md5" #define KEY2 "key2_md5" #define KEY3 "key3_sha256" @@ -69,6 +70,8 @@ knot_dname_t *zone_name = knot_dname_from_str_alloc(ZONE); ok(zone_name != NULL, "create zone dname"); + knot_dname_t *zone2_name = knot_dname_from_str_alloc(ZONE2); + ok(zone2_name != NULL, "create zone2 dname"); knot_dname_t *key1_name = knot_dname_from_str_alloc(KEY1); ok(key1_name != NULL, "create "KEY1); knot_dname_t *key2_name = knot_dname_from_str_alloc(KEY2); @@ -121,6 +124,13 @@ " - id: acl_range_addr\n" " address: [ 100.0.0.0-100.0.0.5, ::0-::5 ]\n" " action: [ transfer ]\n" + " - id: acl_deny_no_action_no_key\n" + " address: [ 240.0.0.4 ]\n" + " deny: on\n" + " - id: acl_notify_key\n" + " address: [ 240.0.0.0/24 ]\n" + " key: "KEY1"\n" + " action: [ notify ]\n" " - id: acl_update_key\n" " key: "KEY1"\n" " update-owner: key\n" @@ -138,6 +148,8 @@ " acl: [ acl_key_addr, acl_deny, acl_no_action_deny ]\n" " acl: [ acl_multi_addr, acl_multi_key ]\n" " acl: [ acl_range_addr ]\n" + " - domain: "ZONE2"\n" + " acl: [ acl_deny_no_action_no_key, acl_notify_key ]\n" " - domain: "KEY1"\n" " acl: acl_update_key\n" " - domain: "KEY2"\n" @@ -230,6 +242,18 @@ ret = acl_allowed(conf(), &acl, ACL_ACTION_TRANSFER, &addr, &key0, zone_name, NULL); ok(ret == true, "IPv6 address from range, no key, action match"); + acl = conf_zone_get(conf(), C_ACL, zone2_name); + ok(acl.code == KNOT_EOK, "Get zone2 ACL"); + check_sockaddr_set(&addr, AF_INET, "240.0.0.4", 0); + ret = acl_allowed(conf(), &acl, ACL_ACTION_NOTIFY, &addr, &key1, zone2_name, NULL); + ok(ret == false, "Address, key, action, denied"); + + acl = conf_zone_get(conf(), C_ACL, zone2_name); + ok(acl.code == KNOT_EOK, "Get zone2 ACL"); + check_sockaddr_set(&addr, AF_INET, "240.0.0.1", 0); + ret = acl_allowed(conf(), &acl, ACL_ACTION_NOTIFY, &addr, &key1, zone2_name, NULL); + ok(ret == true, "Address, key, action, match"); + knot_rrset_t A; knot_rrset_init(&A, key1_name, KNOT_RRTYPE_A, KNOT_CLASS_IN, 3600); knot_rrset_add_rdata(&A, (uint8_t *)"\x00\x00\x00\x00", 4, NULL); @@ -273,6 +297,7 @@ conf_free(conf()); knot_dname_free(zone_name, NULL); + knot_dname_free(zone2_name, NULL); knot_dname_free(key1_name, NULL); knot_dname_free(key2_name, NULL); knot_dname_free(key3_name, NULL); diff -Nru knot-3.0.8/tests/knot/test_worker_pool.c knot-3.0.9/tests/knot/test_worker_pool.c --- knot-3.0.8/tests/knot/test_worker_pool.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/tests/knot/test_worker_pool.c 2021-09-09 16:29:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2014 CZ.NIC, z.s.p.o. +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,7 +52,7 @@ /*! * Simple task, just increases the counter in the log. */ -static void task_counting(task_t *task) +static void task_counting(worker_task_t *task) { task_log_t *log = task->ctx; @@ -89,7 +89,7 @@ // schedule jobs while pool is stopped - task_t task = { .run = task_counting, .ctx = &log }; + worker_task_t task = { .run = task_counting, .ctx = &log }; for (int i = 0; i < TASKS_BATCH; i++) { worker_pool_assign(pool, &task); } diff -Nru knot-3.0.8/tests/knot/test_worker_queue.c knot-3.0.9/tests/knot/test_worker_queue.c --- knot-3.0.8/tests/knot/test_worker_queue.c 2021-07-16 09:30:52.000000000 +0000 +++ knot-3.0.9/tests/knot/test_worker_queue.c 2021-09-09 16:29:06.000000000 +0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2014 CZ.NIC, z.s.p.o. +/* Copyright (C) 2021 CZ.NIC, z.s.p.o. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,9 +22,9 @@ { plan_lazy(); - task_t task_one = { 0 }; - task_t task_two = { 0 }; - task_t task_three = { 0 }; + worker_task_t task_one = { 0 }; + worker_task_t task_two = { 0 }; + worker_task_t task_three = { 0 }; // init diff -Nru knot-3.0.8/tests/Makefile.in knot-3.0.9/tests/Makefile.in --- knot-3.0.8/tests/Makefile.in 2021-07-16 09:31:04.000000000 +0000 +++ knot-3.0.9/tests/Makefile.in 2021-09-09 16:29:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, diff -Nru knot-3.0.8/tests-fuzz/Makefile.in knot-3.0.9/tests-fuzz/Makefile.in --- knot-3.0.8/tests-fuzz/Makefile.in 2021-07-16 09:31:04.000000000 +0000 +++ knot-3.0.9/tests-fuzz/Makefile.in 2021-09-09 16:29:17.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.16.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2018 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -457,6 +457,7 @@ bases='$(TEST_LOGS)'; \ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ bases=`echo $$bases` +AM_TESTSUITE_SUMMARY_HEADER = ' for $(PACKAGE_STRING)' RECHECK_LOGS = $(TEST_LOGS) AM_RECURSIVE_TARGETS = check recheck TEST_SUITE_LOG = test-suite.log @@ -1183,7 +1184,7 @@ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ fi; \ echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ + echo "$${col}Testsuite summary"$(AM_TESTSUITE_SUMMARY_HEADER)"$${std}"; \ echo "$${col}$$br$${std}"; \ create_testsuite_report --maybe-color; \ echo "$$col$$br$$std"; \ @@ -1302,7 +1303,8 @@ installdirs: install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data: install-data-am uninstall: uninstall-am @@ -1431,7 +1433,8 @@ uninstall-am: -.MAKE: all check check-am install install-am install-strip +.MAKE: all check check-am install install-am install-exec \ + install-strip .PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-TESTS \ check-am clean clean-checkPROGRAMS clean-generic clean-libtool \