Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pdns for openSUSE:Factory checked in 
at 2024-11-05 15:41:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pdns (Old)
 and      /work/SRC/openSUSE:Factory/.pdns.new.2020 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pdns"

Tue Nov  5 15:41:33 2024 rev:95 rq:1221285 version:4.9.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/pdns/pdns.changes        2024-10-01 
17:20:30.123450941 +0200
+++ /work/SRC/openSUSE:Factory/.pdns.new.2020/pdns.changes      2024-11-05 
15:41:57.632438084 +0100
@@ -1,0 +2,15 @@
+Tue Nov  5 01:56:49 UTC 2024 - Marcus Rueckert <mrueck...@suse.de>
+
+- make the compiler handling for leap more readable
+  and also make it work for SLE15 < SP3
+
+-------------------------------------------------------------------
+Tue Nov  5 01:44:27 UTC 2024 - Marcus Rueckert <mrueck...@suse.de>
+
+- Update to version 4.9.2
+  https://doc.powerdns.com/authoritative/changelog/4.9.html#change-4.9.2
+- drop powerdns-5_1_1-2_fix-build-with-boost-1_86_0.patch included
+  in update
+- refreshed pdns-4.0.3_allow_dacoverride_in_capset.patch
+
+-------------------------------------------------------------------

Old:
----
  pdns-4.9.1.tar.bz2
  pdns-4.9.1.tar.bz2.sig
  powerdns-5_1_1-2_fix-build-with-boost-1_86_0.patch

New:
----
  pdns-4.9.2.tar.bz2
  pdns-4.9.2.tar.bz2.sig

BETA DEBUG BEGIN:
  Old:  https://doc.powerdns.com/authoritative/changelog/4.9.html#change-4.9.2
- drop powerdns-5_1_1-2_fix-build-with-boost-1_86_0.patch included
  in update
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pdns.spec ++++++
--- /var/tmp/diff_new_pack.SfpzOO/_old  2024-11-05 15:41:58.404470427 +0100
+++ /var/tmp/diff_new_pack.SfpzOO/_new  2024-11-05 15:41:58.408470594 +0100
@@ -45,11 +45,11 @@
 
 %if 0%{?sle_version} && 0%{?sle_version} < 160000
 # std::filesystem is supported since gcc8, but default gcc is 7
-BuildRequires:  gcc12
-BuildRequires:  gcc12-c++
-%define compiler_ver -12
+%if 0%{?sle_version} >= 150300
+%define force_gcc_version 12
 %else
-BuildRequires:  gcc-c++
+%define force_gcc_version 11
+%endif
 %endif
 
 %define services %{name}.service %{name}@.service %{?ixfrdist_services}
@@ -59,7 +59,7 @@
 %endif
 
 Name:           pdns
-Version:        4.9.1
+Version:        4.9.2
 Release:        0
 Summary:        Authoritative-only nameserver
 License:        GPL-2.0-only
@@ -72,12 +72,13 @@
 Patch0:         pdns-4.0.3_allow_dacoverride_in_capset.patch
 # PATCH-FIX-OPENSUSE pdns-4.9.0-fix_boost.patch -- fix including boost headers 
with older releases
 Patch1:         pdns-4.9.0-fix_boost.patch
-Patch2:         powerdns-5_1_1-2_fix-build-with-boost-1_86_0.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  bison
 BuildRequires:  curl-devel
 BuildRequires:  flex
+BuildRequires:  gcc%{?force_gcc_version}
+BuildRequires:  gcc%{?force_gcc_version}-c++
 BuildRequires:  gdbm-devel
 BuildRequires:  libmysqlclient-devel
 BuildRequires:  libsodium-devel
@@ -271,8 +272,10 @@
 %autosetup -n %{name}-%{version} -p1
 
 %build
-export CC=gcc%{?compiler_ver}
-export CXX=g++%{?compiler_ver}
+%if 0%{?force_gcc_version}
+export CC="gcc-%{?force_gcc_version}"
+export CXX="g++-%{?force_gcc_version}"
+%endif
 %configure \
   --docdir=%{_docdir}/%{name}/ \
   --disable-silent-rules \

++++++ pdns-4.0.3_allow_dacoverride_in_capset.patch ++++++
--- /var/tmp/diff_new_pack.SfpzOO/_old  2024-11-05 15:41:58.432471600 +0100
+++ /var/tmp/diff_new_pack.SfpzOO/_new  2024-11-05 15:41:58.436471767 +0100
@@ -1,8 +1,8 @@
-Index: pdns-4.3.0-rc2/pdns/pdns.service.in
+Index: pdns-4.9.2/pdns/pdns.service.in
 ===================================================================
---- pdns-4.3.0-rc2.orig/pdns/pdns.service.in
-+++ pdns-4.3.0-rc2/pdns/pdns.service.in
-@@ -16,8 +16,8 @@ StartLimitInterval=0
+--- pdns-4.9.2.orig/pdns/pdns.service.in
++++ pdns-4.9.2/pdns/pdns.service.in
+@@ -17,8 +17,8 @@ StartLimitInterval=0
  RuntimeDirectory=pdns
  
  # Sandboxing

++++++ pdns-4.9.1.tar.bz2 -> pdns-4.9.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/Makefile.in new/pdns-4.9.2/Makefile.in
--- old/pdns-4.9.1/Makefile.in  2024-05-28 09:45:02.000000000 +0200
+++ new/pdns-4.9.2/Makefile.in  2024-09-30 12:32:58.000000000 +0200
@@ -307,6 +307,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/codedocs/Makefile.in 
new/pdns-4.9.2/codedocs/Makefile.in
--- old/pdns-4.9.1/codedocs/Makefile.in 2024-05-28 09:45:02.000000000 +0200
+++ new/pdns-4.9.2/codedocs/Makefile.in 2024-09-30 12:32:58.000000000 +0200
@@ -219,6 +219,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/configure new/pdns-4.9.2/configure
--- old/pdns-4.9.1/configure    2024-05-28 09:45:01.000000000 +0200
+++ new/pdns-4.9.2/configure    2024-09-30 12:32:57.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for pdns 4.9.1.
+# Generated by GNU Autoconf 2.71 for pdns 4.9.2.
 #
 #
 # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -618,8 +618,8 @@
 # Identity of this package.
 PACKAGE_NAME='pdns'
 PACKAGE_TARNAME='pdns'
-PACKAGE_VERSION='4.9.1'
-PACKAGE_STRING='pdns 4.9.1'
+PACKAGE_VERSION='4.9.2'
+PACKAGE_STRING='pdns 4.9.2'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -672,6 +672,7 @@
 WARN_CFLAGS
 SANITIZER_FLAGS
 PROGRAM_LDFLAGS
+CXXFS_LIBS
 service_group
 service_user
 HAVE_SYSTEMD_FALSE
@@ -1697,7 +1698,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 pdns 4.9.1 to adapt to many kinds of systems.
+\`configure' configures pdns 4.9.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1768,7 +1769,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of pdns 4.9.1:";;
+     short | recursive ) echo "Configuration of pdns 4.9.2:";;
    esac
   cat <<\_ACEOF
 
@@ -2039,7 +2040,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-pdns configure 4.9.1
+pdns configure 4.9.2
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2528,7 +2529,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by pdns $as_me 4.9.1, which was
+It was created by pdns $as_me 4.9.2, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4026,7 +4027,7 @@
 
 # Define the identity of the package.
  PACKAGE='pdns'
- VERSION='4.9.1'
+ VERSION='4.9.2'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -30685,12 +30686,13 @@
 
 CFLAGS="$PIE_CFLAGS $CFLAGS"
 CXXFLAGS="$PIE_CFLAGS $CXXFLAGS"
-PROGRAM_LDFLAGS="$PIE_LDFLAGS $PROGRAM_LDFLAGS"
 if test "$ax_cxx_cv_filesystem_lib" != "none"
 then :
-  PROGRAM_LDFLAGS="$PROGRAM_LDFLAGS -l$ax_cxx_cv_filesystem_lib"
+  CXXFS_LIBS="-l$ax_cxx_cv_filesystem_lib"
 fi
 
+PROGRAM_LDFLAGS="$PIE_LDFLAGS $PROGRAM_LDFLAGS $CXXFS_LIBS"
+
 
 
   { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to enable 
code coverage" >&5
@@ -32465,7 +32467,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by pdns $as_me 4.9.1, which was
+This file was extended by pdns $as_me 4.9.2, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32533,7 +32535,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-pdns config.status 4.9.1
+pdns config.status 4.9.2
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/configure.ac new/pdns-4.9.2/configure.ac
--- old/pdns-4.9.1/configure.ac 2024-05-28 09:44:54.000000000 +0200
+++ new/pdns-4.9.2/configure.ac 2024-09-30 12:32:49.000000000 +0200
@@ -1,6 +1,6 @@
 AC_PREREQ([2.69])
 
-AC_INIT([pdns], [4.9.1])
+AC_INIT([pdns], [4.9.2])
 AC_CONFIG_AUX_DIR([build-aux])
 AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip tar-ustar -Wno-portability 
subdir-objects parallel-tests 1.11])
 AM_SILENT_RULES([yes])
@@ -309,11 +309,12 @@
 
 CFLAGS="$PIE_CFLAGS $CFLAGS"
 CXXFLAGS="$PIE_CFLAGS $CXXFLAGS"
-PROGRAM_LDFLAGS="$PIE_LDFLAGS $PROGRAM_LDFLAGS"
 AS_IF([test "$ax_cxx_cv_filesystem_lib" != "none"],
- [PROGRAM_LDFLAGS="$PROGRAM_LDFLAGS -l$ax_cxx_cv_filesystem_lib"],
+ [CXXFS_LIBS="-l$ax_cxx_cv_filesystem_lib"],
  []
 )
+AC_SUBST([CXXFS_LIBS])
+PROGRAM_LDFLAGS="$PIE_LDFLAGS $PROGRAM_LDFLAGS $CXXFS_LIBS"
 AC_SUBST([PROGRAM_LDFLAGS])
 
 PDNS_ENABLE_COVERAGE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/Makefile.in 
new/pdns-4.9.2/docs/Makefile.in
--- old/pdns-4.9.1/docs/Makefile.in     2024-05-28 09:45:02.000000000 +0200
+++ new/pdns-4.9.2/docs/Makefile.in     2024-09-30 12:32:59.000000000 +0200
@@ -257,6 +257,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/calidns.1 
new/pdns-4.9.2/docs/calidns.1
--- old/pdns-4.9.1/docs/calidns.1       2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/calidns.1       2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "CALIDNS" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "CALIDNS" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 calidns \- A DNS recursor testing tool
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dnsbulktest.1 
new/pdns-4.9.2/docs/dnsbulktest.1
--- old/pdns-4.9.1/docs/dnsbulktest.1   2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/dnsbulktest.1   2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DNSBULKTEST" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSBULKTEST" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnsbulktest \- A debugging tool for intermittent resolver failures
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dnsgram.1 
new/pdns-4.9.2/docs/dnsgram.1
--- old/pdns-4.9.1/docs/dnsgram.1       2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/dnsgram.1       2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DNSGRAM" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSGRAM" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnsgram \- A debugging tool for intermittent resolver failures
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dnspcap2calidns.1 
new/pdns-4.9.2/docs/dnspcap2calidns.1
--- old/pdns-4.9.1/docs/dnspcap2calidns.1       2024-05-28 09:45:48.000000000 
+0200
+++ new/pdns-4.9.2/docs/dnspcap2calidns.1       2024-09-30 12:34:01.000000000 
+0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DNSPCAP2CALIDNS" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSPCAP2CALIDNS" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnspcap2calidns \- A tool to convert PCAPs of DNS traffic to calidns input
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dnspcap2protobuf.1 
new/pdns-4.9.2/docs/dnspcap2protobuf.1
--- old/pdns-4.9.1/docs/dnspcap2protobuf.1      2024-05-28 09:45:48.000000000 
+0200
+++ new/pdns-4.9.2/docs/dnspcap2protobuf.1      2024-09-30 12:34:01.000000000 
+0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DNSPCAP2PROTOBUF" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSPCAP2PROTOBUF" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnspcap2protobuf \- A tool to convert PCAPs of DNS traffic to PowerDNS Protobuf
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dnsreplay.1 
new/pdns-4.9.2/docs/dnsreplay.1
--- old/pdns-4.9.1/docs/dnsreplay.1     2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/dnsreplay.1     2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DNSREPLAY" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSREPLAY" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnsreplay \- A PowerDNS nameserver debugging tool
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dnsscan.1 
new/pdns-4.9.2/docs/dnsscan.1
--- old/pdns-4.9.1/docs/dnsscan.1       2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/dnsscan.1       2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DNSSCAN" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSSCAN" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnsscan \- List the amount of queries per qtype in a pcap
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dnsscope.1 
new/pdns-4.9.2/docs/dnsscope.1
--- old/pdns-4.9.1/docs/dnsscope.1      2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/dnsscope.1      2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DNSSCOPE" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSSCOPE" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnsscope \- A PowerDNS nameserver debugging tool
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dnstcpbench.1 
new/pdns-4.9.2/docs/dnstcpbench.1
--- old/pdns-4.9.1/docs/dnstcpbench.1   2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/dnstcpbench.1   2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DNSTCPBENCH" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSTCPBENCH" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnstcpbench \- tool to perform TCP benchmarking of nameservers
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dnswasher.1 
new/pdns-4.9.2/docs/dnswasher.1
--- old/pdns-4.9.1/docs/dnswasher.1     2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/dnswasher.1     2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DNSWASHER" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSWASHER" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnswasher \- A PowerDNS nameserver debugging tool
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/dumresp.1 
new/pdns-4.9.2/docs/dumresp.1
--- old/pdns-4.9.1/docs/dumresp.1       2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/dumresp.1       2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "DUMRESP" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "DUMRESP" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dumresp \- A dumb DNS responder
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/ixfrdist.1 
new/pdns-4.9.2/docs/ixfrdist.1
--- old/pdns-4.9.1/docs/ixfrdist.1      2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/ixfrdist.1      2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "IXFRDIST" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "IXFRDIST" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 ixfrdist \- An IXFR/AXFR-only server that re-distributes zones
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/ixfrdist.yml.5 
new/pdns-4.9.2/docs/ixfrdist.yml.5
--- old/pdns-4.9.1/docs/ixfrdist.yml.5  2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/ixfrdist.yml.5  2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "IXFRDIST.YML" "5" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "IXFRDIST.YML" "5" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 ixfrdist.yml \- The ixfrdist configuration file
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/ixplore.1 
new/pdns-4.9.2/docs/ixplore.1
--- old/pdns-4.9.1/docs/ixplore.1       2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/ixplore.1       2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "IXPLORE" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "IXPLORE" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 ixplore \- A tool that provides insights into IXFRs
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/nproxy.1 new/pdns-4.9.2/docs/nproxy.1
--- old/pdns-4.9.1/docs/nproxy.1        2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/nproxy.1        2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "NPROXY" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "NPROXY" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 nproxy \- DNS notification proxy
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/nsec3dig.1 
new/pdns-4.9.2/docs/nsec3dig.1
--- old/pdns-4.9.1/docs/nsec3dig.1      2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/nsec3dig.1      2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "NSEC3DIG" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "NSEC3DIG" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 nsec3dig \- Show and validate NSEC3 proofs
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/pdns_control.1 
new/pdns-4.9.2/docs/pdns_control.1
--- old/pdns-4.9.1/docs/pdns_control.1  2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/pdns_control.1  2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "PDNS_CONTROL" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "PDNS_CONTROL" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 pdns_control \- Control the PowerDNS nameserver
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/pdns_notify.1 
new/pdns-4.9.2/docs/pdns_notify.1
--- old/pdns-4.9.1/docs/pdns_notify.1   2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/pdns_notify.1   2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "PDNS_NOTIFY" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "PDNS_NOTIFY" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 pdns_notify \- A simple DNS NOTIFY sender
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/pdns_server.1 
new/pdns-4.9.2/docs/pdns_server.1
--- old/pdns-4.9.1/docs/pdns_server.1   2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/pdns_server.1   2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "PDNS_SERVER" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "PDNS_SERVER" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 pdns_server \- The PowerDNS Authoritative Nameserver
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/pdnsutil.1 
new/pdns-4.9.2/docs/pdnsutil.1
--- old/pdns-4.9.1/docs/pdnsutil.1      2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/pdnsutil.1      2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "PDNSUTIL" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "PDNSUTIL" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 pdnsutil \- PowerDNS record and DNSSEC command and control
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/saxfr.1 new/pdns-4.9.2/docs/saxfr.1
--- old/pdns-4.9.1/docs/saxfr.1 2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/saxfr.1 2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SAXFR" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "SAXFR" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 saxfr \- Perform AXFRs and show information about it
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/sdig.1 new/pdns-4.9.2/docs/sdig.1
--- old/pdns-4.9.1/docs/sdig.1  2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/sdig.1  2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "SDIG" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "SDIG" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 sdig \- Perform a DNS query and show the results
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/zone2json.1 
new/pdns-4.9.2/docs/zone2json.1
--- old/pdns-4.9.1/docs/zone2json.1     2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/zone2json.1     2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "ZONE2JSON" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "ZONE2JSON" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 zone2json \- convert BIND zones to JSON
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/zone2ldap.1 
new/pdns-4.9.2/docs/zone2ldap.1
--- old/pdns-4.9.1/docs/zone2ldap.1     2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/zone2ldap.1     2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "ZONE2LDAP" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "ZONE2LDAP" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 zone2ldap \- convert zonefiles to ldif
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/docs/zone2sql.1 
new/pdns-4.9.2/docs/zone2sql.1
--- old/pdns-4.9.1/docs/zone2sql.1      2024-05-28 09:45:48.000000000 +0200
+++ new/pdns-4.9.2/docs/zone2sql.1      2024-09-30 12:34:01.000000000 +0200
@@ -27,7 +27,7 @@
 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
 .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
 ..
-.TH "ZONE2SQL" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
+.TH "ZONE2SQL" "1" "Sep 30, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 zone2sql \- convert BIND zones to SQL
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/ext/Makefile.in 
new/pdns-4.9.2/ext/Makefile.in
--- old/pdns-4.9.1/ext/Makefile.in      2024-05-28 09:45:02.000000000 +0200
+++ new/pdns-4.9.2/ext/Makefile.in      2024-09-30 12:32:59.000000000 +0200
@@ -276,6 +276,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/ext/arc4random/Makefile.in 
new/pdns-4.9.2/ext/arc4random/Makefile.in
--- old/pdns-4.9.1/ext/arc4random/Makefile.in   2024-05-28 09:45:02.000000000 
+0200
+++ new/pdns-4.9.2/ext/arc4random/Makefile.in   2024-09-30 12:32:59.000000000 
+0200
@@ -271,6 +271,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/ext/ipcrypt/Makefile.in 
new/pdns-4.9.2/ext/ipcrypt/Makefile.in
--- old/pdns-4.9.1/ext/ipcrypt/Makefile.in      2024-05-28 09:45:02.000000000 
+0200
+++ new/pdns-4.9.2/ext/ipcrypt/Makefile.in      2024-09-30 12:32:59.000000000 
+0200
@@ -268,6 +268,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/ext/json11/Makefile.in 
new/pdns-4.9.2/ext/json11/Makefile.in
--- old/pdns-4.9.1/ext/json11/Makefile.in       2024-05-28 09:45:02.000000000 
+0200
+++ new/pdns-4.9.2/ext/json11/Makefile.in       2024-09-30 12:32:59.000000000 
+0200
@@ -286,6 +286,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/ext/json11/json11.cpp 
new/pdns-4.9.2/ext/json11/json11.cpp
--- old/pdns-4.9.1/ext/json11/json11.cpp        2024-05-28 09:44:43.000000000 
+0200
+++ new/pdns-4.9.2/ext/json11/json11.cpp        2024-09-30 12:32:35.000000000 
+0200
@@ -22,6 +22,7 @@
 #include "json11.hpp"
 #include <cassert>
 #include <cmath>
+#include <cstdint>
 #include <cstdlib>
 #include <cstdio>
 #include <limits>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/ext/yahttp/Makefile.in 
new/pdns-4.9.2/ext/yahttp/Makefile.in
--- old/pdns-4.9.1/ext/yahttp/Makefile.in       2024-05-28 09:45:02.000000000 
+0200
+++ new/pdns-4.9.2/ext/yahttp/Makefile.in       2024-09-30 12:32:59.000000000 
+0200
@@ -277,6 +277,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/ext/yahttp/yahttp/Makefile.in 
new/pdns-4.9.2/ext/yahttp/yahttp/Makefile.in
--- old/pdns-4.9.1/ext/yahttp/yahttp/Makefile.in        2024-05-28 
09:45:02.000000000 +0200
+++ new/pdns-4.9.2/ext/yahttp/yahttp/Makefile.in        2024-09-30 
12:32:59.000000000 +0200
@@ -286,6 +286,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/ext/yahttp/yahttp/router.cpp 
new/pdns-4.9.2/ext/yahttp/yahttp/router.cpp
--- old/pdns-4.9.1/ext/yahttp/yahttp/router.cpp 2024-05-28 09:44:43.000000000 
+0200
+++ new/pdns-4.9.2/ext/yahttp/yahttp/router.cpp 2024-09-30 12:32:35.000000000 
+0200
@@ -49,21 +49,28 @@
             rpos = route.size();
             upos = requrl.path.size();
             break;
-          } else { 
-            // match until url[upos] or next / if pattern is at end
-            while (upos < requrl.path.size()) {
-               if (route[rpos+1] == '\0' && requrl.path[upos] == '/') {
-                  break;
-               }
-               if (requrl.path[upos] == route[rpos+1]) {
-                  break;
-               }
-               upos++;
+          }
+          // match until url[upos] or next / if pattern is at end
+          while (upos < requrl.path.size()) {
+            if (route[rpos+1] == '\0' && requrl.path[upos] == '/') {
+              break;
+            }
+            if (requrl.path[upos] == route[rpos+1]) {
+              break;
             }
-            nend = upos;
-            params[pname] = funcptr::tie(nstart, nend);
+            upos++;
+          }
+          nend = upos;
+          params[pname] = funcptr::tie(nstart, nend);
+          if (upos > 0) {
+            upos--;
+          }
+          else {
+            // If upos is zero, do not decrement it and then increment at 
bottom of loop, this disturbs Coverity.
+            // Only increment rpos and continue loop
+            rpos++;
+            continue;
           }
-          upos--;
         }
         else if (route[rpos] != requrl.path[upos]) {
           break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/Makefile.in 
new/pdns-4.9.2/modules/Makefile.in
--- old/pdns-4.9.1/modules/Makefile.in  2024-05-28 09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/Makefile.in  2024-09-30 12:32:59.000000000 +0200
@@ -276,6 +276,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/bindbackend/Makefile.in 
new/pdns-4.9.2/modules/bindbackend/Makefile.in
--- old/pdns-4.9.1/modules/bindbackend/Makefile.in      2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/bindbackend/Makefile.in      2024-09-30 
12:32:59.000000000 +0200
@@ -322,6 +322,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/geoipbackend/Makefile.am 
new/pdns-4.9.2/modules/geoipbackend/Makefile.am
--- old/pdns-4.9.1/modules/geoipbackend/Makefile.am     2024-05-28 
09:44:43.000000000 +0200
+++ new/pdns-4.9.2/modules/geoipbackend/Makefile.am     2024-09-30 
12:32:35.000000000 +0200
@@ -11,4 +11,4 @@
        geoipinterface.cc geoipinterface.hh
 
 libgeoipbackend_la_LDFLAGS = -module -avoid-version
-libgeoipbackend_la_LIBADD = $(YAML_LIBS) $(GEOIP_LIBS) $(MMDB_LIBS)
+libgeoipbackend_la_LIBADD = $(YAML_LIBS) $(GEOIP_LIBS) $(MMDB_LIBS) 
$(CXXFS_LIBS)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/geoipbackend/Makefile.in 
new/pdns-4.9.2/modules/geoipbackend/Makefile.in
--- old/pdns-4.9.1/modules/geoipbackend/Makefile.in     2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/geoipbackend/Makefile.in     2024-09-30 
12:32:59.000000000 +0200
@@ -195,7 +195,8 @@
 LTLIBRARIES = $(pkglib_LTLIBRARIES)
 am__DEPENDENCIES_1 =
 libgeoipbackend_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1)
 am_libgeoipbackend_la_OBJECTS = geoipbackend.lo geoipinterface-dat.lo \
        geoipinterface-mmdb.lo geoipinterface.lo
 libgeoipbackend_la_OBJECTS = $(am_libgeoipbackend_la_OBJECTS)
@@ -325,6 +326,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -533,7 +535,7 @@
        geoipinterface.cc geoipinterface.hh
 
 libgeoipbackend_la_LDFLAGS = -module -avoid-version
-libgeoipbackend_la_LIBADD = $(YAML_LIBS) $(GEOIP_LIBS) $(MMDB_LIBS)
+libgeoipbackend_la_LIBADD = $(YAML_LIBS) $(GEOIP_LIBS) $(MMDB_LIBS) 
$(CXXFS_LIBS)
 all: all-am
 
 .SUFFIXES:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/gmysqlbackend/Makefile.in 
new/pdns-4.9.2/modules/gmysqlbackend/Makefile.in
--- old/pdns-4.9.1/modules/gmysqlbackend/Makefile.in    2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/gmysqlbackend/Makefile.in    2024-09-30 
12:32:59.000000000 +0200
@@ -323,6 +323,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/gmysqlbackend/gmysqlbackend.cc 
new/pdns-4.9.2/modules/gmysqlbackend/gmysqlbackend.cc
--- old/pdns-4.9.1/modules/gmysqlbackend/gmysqlbackend.cc       2024-05-28 
09:44:43.000000000 +0200
+++ new/pdns-4.9.2/modules/gmysqlbackend/gmysqlbackend.cc       2024-09-30 
12:32:35.000000000 +0200
@@ -132,7 +132,7 @@
     declare(suffix, "update-account-query", "", "update domains set account=? 
where name=?");
     declare(suffix, "update-serial-query", "", "update domains set 
notified_serial=? where id=?");
     declare(suffix, "update-lastcheck-query", "", "update domains set 
last_check=? where id=?");
-    declare(suffix, "info-all-primary-query", "", "select d.id, d.name, 
d.type, d.notified_serial,d.options, d.catalog,r.content from records r join 
domains d on r.domain_id=d.id and r.name=d.name where r.type='SOA' and 
r.disabled=0 and d.type in ('MASTER', 'PRODUCER')");
+    declare(suffix, "info-all-primary-query", "", "select d.id, d.name, 
d.type, d.notified_serial,d.options, d.catalog,r.content from records r join 
domains d on r.domain_id=d.id and r.name=d.name where r.type='SOA' and 
r.disabled=0 and d.type in ('MASTER', 'PRODUCER') order by d.id");
     declare(suffix, "info-producer-members-query", "", "select domains.id, 
domains.name, domains.options from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
domains.type='MASTER' and domains.catalog=? and records.type='SOA' and 
records.disabled=0");
     declare(suffix, "info-consumer-members-query", "", "select id, name, 
options, master from domains where type='SLAVE' and catalog=?");
     declare(suffix, "delete-domain-query", "", "delete from domains where 
name=?");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/godbcbackend/Makefile.in 
new/pdns-4.9.2/modules/godbcbackend/Makefile.in
--- old/pdns-4.9.1/modules/godbcbackend/Makefile.in     2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/godbcbackend/Makefile.in     2024-09-30 
12:32:59.000000000 +0200
@@ -323,6 +323,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/godbcbackend/godbcbackend.cc 
new/pdns-4.9.2/modules/godbcbackend/godbcbackend.cc
--- old/pdns-4.9.1/modules/godbcbackend/godbcbackend.cc 2024-05-28 
09:44:43.000000000 +0200
+++ new/pdns-4.9.2/modules/godbcbackend/godbcbackend.cc 2024-09-30 
12:32:35.000000000 +0200
@@ -112,7 +112,7 @@
     declare(suffix, "update-account-query", "", "update domains set account=? 
where name=?");
     declare(suffix, "update-serial-query", "", "update domains set 
notified_serial=? where id=?");
     declare(suffix, "update-lastcheck-query", "", "update domains set 
last_check=? where id=?");
-    declare(suffix, "info-all-primary-query", "", "select domains.id, 
domains.name, domains.type, domains.notified_serial, domains.options, 
domains.catalog, records.content from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
records.type='SOA' and records.disabled=0 and domains.type in ('MASTER', 
'PRODUCER')");
+    declare(suffix, "info-all-primary-query", "", "select domains.id, 
domains.name, domains.type, domains.notified_serial, domains.options, 
domains.catalog, records.content from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
records.type='SOA' and records.disabled=0 and domains.type in ('MASTER', 
'PRODUCER') order by domains.id");
     declare(suffix, "info-producer-members-query", "", "select domains.id, 
domains.name, domains.options from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
domains.type='MASTER' and domains.catalog=? and records.type='SOA' and 
records.disabled=0");
     declare(suffix, "info-consumer-members-query", "", "select id, name, 
options, master from domains where type='SLAVE' and catalog=?");
     declare(suffix, "delete-domain-query", "", "delete from domains where 
name=?");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/gpgsqlbackend/Makefile.in 
new/pdns-4.9.2/modules/gpgsqlbackend/Makefile.in
--- old/pdns-4.9.1/modules/gpgsqlbackend/Makefile.in    2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/gpgsqlbackend/Makefile.in    2024-09-30 
12:32:59.000000000 +0200
@@ -323,6 +323,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/gpgsqlbackend/gpgsqlbackend.cc 
new/pdns-4.9.2/modules/gpgsqlbackend/gpgsqlbackend.cc
--- old/pdns-4.9.1/modules/gpgsqlbackend/gpgsqlbackend.cc       2024-05-28 
09:44:43.000000000 +0200
+++ new/pdns-4.9.2/modules/gpgsqlbackend/gpgsqlbackend.cc       2024-09-30 
12:32:35.000000000 +0200
@@ -139,7 +139,7 @@
     declare(suffix, "update-account-query", "", "update domains set account=$1 
where name=$2");
     declare(suffix, "update-serial-query", "", "update domains set 
notified_serial=$1 where id=$2");
     declare(suffix, "update-lastcheck-query", "", "update domains set 
last_check=$1 where id=$2");
-    declare(suffix, "info-all-primary-query", "", "select domains.id, 
domains.name, domains.type, domains.notified_serial, domains.options, 
domains.catalog, records.content from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
records.type='SOA' and records.disabled=false and domains.type in ('MASTER', 
'PRODUCER')");
+    declare(suffix, "info-all-primary-query", "", "select domains.id, 
domains.name, domains.type, domains.notified_serial, domains.options, 
domains.catalog, records.content from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
records.type='SOA' and records.disabled=false and domains.type in ('MASTER', 
'PRODUCER') order by domains.id");
     declare(suffix, "info-producer-members-query", "", "select domains.id, 
domains.name, domains.options from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
domains.type='MASTER' and domains.catalog=$1 and records.type='SOA' and 
records.disabled=false");
     declare(suffix, "info-consumer-members-query", "", "select id, name, 
options, master from domains where type='SLAVE' and catalog=$1");
     declare(suffix, "delete-domain-query", "", "delete from domains where 
name=$1");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/gsqlite3backend/Makefile.in 
new/pdns-4.9.2/modules/gsqlite3backend/Makefile.in
--- old/pdns-4.9.1/modules/gsqlite3backend/Makefile.in  2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/gsqlite3backend/Makefile.in  2024-09-30 
12:32:59.000000000 +0200
@@ -321,6 +321,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pdns-4.9.1/modules/gsqlite3backend/gsqlite3backend.cc 
new/pdns-4.9.2/modules/gsqlite3backend/gsqlite3backend.cc
--- old/pdns-4.9.1/modules/gsqlite3backend/gsqlite3backend.cc   2024-05-28 
09:44:43.000000000 +0200
+++ new/pdns-4.9.2/modules/gsqlite3backend/gsqlite3backend.cc   2024-09-30 
12:32:35.000000000 +0200
@@ -125,7 +125,7 @@
     declare(suffix, "update-account-query", "", "update domains set 
account=:account where name=:domain");
     declare(suffix, "update-serial-query", "", "update domains set 
notified_serial=:serial where id=:domain_id");
     declare(suffix, "update-lastcheck-query", "", "update domains set 
last_check=:last_check where id=:domain_id");
-    declare(suffix, "info-all-primary-query", "", "select domains.id, 
domains.name, domains.type, domains.notified_serial, domains.options, 
domains.catalog, records.content from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
records.type='SOA' and records.disabled=0 and domains.type in ('MASTER', 
'PRODUCER')");
+    declare(suffix, "info-all-primary-query", "", "select domains.id, 
domains.name, domains.type, domains.notified_serial, domains.options, 
domains.catalog, records.content from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
records.type='SOA' and records.disabled=0 and domains.type in ('MASTER', 
'PRODUCER') order by domains.id");
     declare(suffix, "info-producer-members-query", "", "select domains.id, 
domains.name, domains.options from records join domains on 
records.domain_id=domains.id and records.name=domains.name where 
domains.type='MASTER' and domains.catalog=:catalog and records.type='SOA' and 
records.disabled=0");
     declare(suffix, "info-consumer-members-query", "", "select id, name, 
options, master from domains where type='SLAVE' and catalog=:catalog");
     declare(suffix, "delete-domain-query", "", "delete from domains where 
name=:domain");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/ldapbackend/Makefile.in 
new/pdns-4.9.2/modules/ldapbackend/Makefile.in
--- old/pdns-4.9.1/modules/ldapbackend/Makefile.in      2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/ldapbackend/Makefile.in      2024-09-30 
12:32:59.000000000 +0200
@@ -327,6 +327,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/lmdbbackend/Makefile.in 
new/pdns-4.9.2/modules/lmdbbackend/Makefile.in
--- old/pdns-4.9.1/modules/lmdbbackend/Makefile.in      2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/lmdbbackend/Makefile.in      2024-09-30 
12:32:59.000000000 +0200
@@ -324,6 +324,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/lua2backend/Makefile.in 
new/pdns-4.9.2/modules/lua2backend/Makefile.in
--- old/pdns-4.9.1/modules/lua2backend/Makefile.in      2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/lua2backend/Makefile.in      2024-09-30 
12:32:59.000000000 +0200
@@ -321,6 +321,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/pipebackend/Makefile.in 
new/pdns-4.9.2/modules/pipebackend/Makefile.in
--- old/pdns-4.9.1/modules/pipebackend/Makefile.in      2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/pipebackend/Makefile.in      2024-09-30 
12:32:59.000000000 +0200
@@ -319,6 +319,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/remotebackend/Makefile.in 
new/pdns-4.9.2/modules/remotebackend/Makefile.in
--- old/pdns-4.9.1/modules/remotebackend/Makefile.in    2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/remotebackend/Makefile.in    2024-09-30 
12:32:59.000000000 +0200
@@ -713,6 +713,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/modules/tinydnsbackend/Makefile.in 
new/pdns-4.9.2/modules/tinydnsbackend/Makefile.in
--- old/pdns-4.9.1/modules/tinydnsbackend/Makefile.in   2024-05-28 
09:45:03.000000000 +0200
+++ new/pdns-4.9.2/modules/tinydnsbackend/Makefile.in   2024-09-30 
12:32:59.000000000 +0200
@@ -321,6 +321,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/Makefile.am 
new/pdns-4.9.2/pdns/Makefile.am
--- old/pdns-4.9.1/pdns/Makefile.am     2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/Makefile.am     2024-09-30 12:32:35.000000000 +0200
@@ -287,6 +287,7 @@
        utility.hh \
        uuid-utils.hh uuid-utils.cc \
        version.cc version.hh \
+       views.hh \
        webserver.cc webserver.hh \
        ws-api.cc ws-api.hh \
        ws-auth.cc ws-auth.hh \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/Makefile.in 
new/pdns-4.9.2/pdns/Makefile.in
--- old/pdns-4.9.1/pdns/Makefile.in     2024-05-28 09:45:03.000000000 +0200
+++ new/pdns-4.9.2/pdns/Makefile.in     2024-09-30 12:33:00.000000000 +0200
@@ -783,11 +783,11 @@
        trusted-notification-proxy.cc tsigutils.hh tsigutils.cc \
        tsigverifier.cc tsigverifier.hh ueberbackend.cc \
        ueberbackend.hh unix_semaphore.cc unix_utility.cc utility.hh \
-       uuid-utils.hh uuid-utils.cc version.cc version.hh webserver.cc \
-       webserver.hh ws-api.cc ws-api.hh ws-auth.cc ws-auth.hh \
-       zoneparser-tng.cc lua-record.cc minicurl.cc minicurl.hh \
-       sodiumsigners.cc decafsigners.cc ssqlite3.cc ssqlite3.hh \
-       pkcs11signers.cc pkcs11signers.hh
+       uuid-utils.hh uuid-utils.cc version.cc version.hh views.hh \
+       webserver.cc webserver.hh ws-api.cc ws-api.hh ws-auth.cc \
+       ws-auth.hh zoneparser-tng.cc lua-record.cc minicurl.cc \
+       minicurl.hh sodiumsigners.cc decafsigners.cc ssqlite3.cc \
+       ssqlite3.hh pkcs11signers.cc pkcs11signers.hh
 am__dirstamp = $(am__leading_dot)dirstamp
 @HAVE_LUA_RECORDS_TRUE@am__objects_6 = lua-record.$(OBJEXT) \
 @HAVE_LUA_RECORDS_TRUE@        minicurl.$(OBJEXT)
@@ -1668,6 +1668,7 @@
 CXXCPP = @CXXCPP@
 CXXDEPMODE = @CXXDEPMODE@
 CXXFLAGS = @CXXFLAGS@
+CXXFS_LIBS = @CXXFS_LIBS@
 CYGPATH_W = @CYGPATH_W@
 DEFS = @DEFS@
 DEPDIR = @DEPDIR@
@@ -1953,9 +1954,9 @@
        trusted-notification-proxy.cc tsigutils.hh tsigutils.cc \
        tsigverifier.cc tsigverifier.hh ueberbackend.cc \
        ueberbackend.hh unix_semaphore.cc unix_utility.cc utility.hh \
-       uuid-utils.hh uuid-utils.cc version.cc version.hh webserver.cc \
-       webserver.hh ws-api.cc ws-api.hh ws-auth.cc ws-auth.hh \
-       zoneparser-tng.cc $(am__append_12) $(am__append_14) \
+       uuid-utils.hh uuid-utils.cc version.cc version.hh views.hh \
+       webserver.cc webserver.hh ws-api.cc ws-api.hh ws-auth.cc \
+       ws-auth.hh zoneparser-tng.cc $(am__append_12) $(am__append_14) \
        $(am__append_16) $(am__append_18) $(am__append_20)
 pdns_server_LDFLAGS = \
        $(AM_LDFLAGS) \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/auth-main.cc 
new/pdns-4.9.2/pdns/auth-main.cc
--- old/pdns-4.9.1/pdns/auth-main.cc    2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/auth-main.cc    2024-09-30 12:32:35.000000000 +0200
@@ -242,6 +242,7 @@
   ::arg().set("webserver-allow-from", "Webserver/API access is only allowed 
from these subnets") = "127.0.0.1,::1";
   ::arg().set("webserver-loglevel", "Amount of logging in the webserver (none, 
normal, detailed)") = "normal";
   ::arg().set("webserver-max-bodysize", "Webserver/API maximum 
request/response body size in megabytes") = "2";
+  ::arg().set("webserver-connection-timeout", "Webserver/API request/response 
timeout in seconds") = "5";
   ::arg().setSwitch("webserver-hash-plaintext-credentials", "Whether to hash 
passwords and api keys supplied in plaintext, to prevent keeping the plaintext 
version in memory at runtime") = "no";
 
   ::arg().setSwitch("query-logging", "Hint backends that queries should be 
logged") = "no";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/communicator.cc 
new/pdns-4.9.2/pdns/communicator.cc
--- old/pdns-4.9.1/pdns/communicator.cc 2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/communicator.cc 2024-09-30 12:32:35.000000000 +0200
@@ -42,7 +42,7 @@
 // there can be MANY OF THESE
 void CommunicatorClass::retrievalLoopThread()
 {
-  setThreadName("pdns/comm-retre");
+  setThreadName("pdns/comm-retri");
   for (;;) {
     d_suck_sem.wait();
     SuckRequest sr;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/dbdnsseckeeper.cc 
new/pdns-4.9.2/pdns/dbdnsseckeeper.cc
--- old/pdns-4.9.1/pdns/dbdnsseckeeper.cc       2024-05-28 09:44:43.000000000 
+0200
+++ new/pdns-4.9.2/pdns/dbdnsseckeeper.cc       2024-09-30 12:32:35.000000000 
+0200
@@ -630,7 +630,7 @@
   return retval;
 }
 
-void DNSSECKeeper::getPreRRSIGs(UeberBackend& db, vector<DNSZoneRecord>& rrs, 
uint32_t signTTL)
+void DNSSECKeeper::getPreRRSIGs(UeberBackend& db, vector<DNSZoneRecord>& rrs, 
uint32_t signTTL, DNSPacket* packet)
 {
   if(rrs.empty()) {
     return;
@@ -640,7 +640,7 @@
 
   DNSZoneRecord dzr;
 
-  db.lookup(QType(QType::RRSIG), !rr.wildcardname.empty() ? rr.wildcardname : 
rr.dr.d_name, rr.domain_id);
+  db.lookup(QType(QType::RRSIG), !rr.wildcardname.empty() ? rr.wildcardname : 
rr.dr.d_name, rr.domain_id, packet);
   while(db.get(dzr)) {
     auto rrsig = getRR<RRSIGRecordContent>(dzr.dr);
     if (rrsig->d_type == rr.dr.d_type) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/dns.cc new/pdns-4.9.2/pdns/dns.cc
--- old/pdns-4.9.1/pdns/dns.cc  2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/dns.cc  2024-09-30 12:32:35.000000000 +0200
@@ -24,6 +24,7 @@
 #endif
 #include "dns.hh"
 #include "misc.hh"
+#include "views.hh"
 #include <stdexcept>
 #include <iostream>
 #include <boost/algorithm/string.hpp>
@@ -102,27 +103,27 @@
 }
 
 // goal is to hash based purely on the question name, and turn error into 
'default'
-uint32_t hashQuestion(const uint8_t* packet, uint16_t packet_len, uint32_t 
init, bool& ok)
+uint32_t hashQuestion(const uint8_t* packet, uint16_t packet_len, uint32_t 
init, bool& wasOK)
 {
   if (packet_len < sizeof(dnsheader)) {
-    ok = false;
+    wasOK = false;
     return init;
   }
-  // C++ 17 does not have std::u8string_view
-  std::basic_string_view<uint8_t> name(packet + sizeof(dnsheader), packet_len 
- sizeof(dnsheader));
-  std::basic_string_view<uint8_t>::size_type len = 0;
+  // NOLINTNEXTLINE(cppcoreguidelines-pro-bounds-pointer-arithmetic)
+  pdns::views::UnsignedCharView name(packet + sizeof(dnsheader), packet_len - 
sizeof(dnsheader));
+  pdns::views::UnsignedCharView::size_type len = 0;
 
   while (len < name.length()) {
     uint8_t labellen = name[len++];
     if (labellen == 0) {
-      ok = true;
+      wasOK = true;
       // len is name.length() at max as it was < before the increment
       return burtleCI(name.data(), len, init);
     }
     len += labellen;
   }
   // We've encountered a label that is too long
-  ok = false;
+  wasOK = false;
   return init;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/dnssecinfra.hh 
new/pdns-4.9.2/pdns/dnssecinfra.hh
--- old/pdns-4.9.1/pdns/dnssecinfra.hh  2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/dnssecinfra.hh  2024-09-30 12:32:35.000000000 +0200
@@ -21,6 +21,7 @@
  */
 #pragma once
 #include "dnsrecords.hh"
+#include "dnspacket.hh"
 
 #include <string>
 #include <vector>
@@ -291,7 +292,7 @@
 void incrementHash(std::string& raw);
 void decrementHash(std::string& raw);
 
-void addRRSigs(DNSSECKeeper& dk, UeberBackend& db, const std::set<DNSName>& 
authMap, vector<DNSZoneRecord>& rrs);
+void addRRSigs(DNSSECKeeper& dk, UeberBackend& db, const std::set<DNSName>& 
authSet, vector<DNSZoneRecord>& rrs, DNSPacket* packet=nullptr);
 
 void addTSIG(DNSPacketWriter& pw, TSIGRecordContent& trc, const DNSName& 
tsigkeyname, const string& tsigsecret, const string& tsigprevious, bool 
timersonly);
 bool validateTSIG(const std::string& packet, size_t sigPos, const TSIGTriplet& 
tt, const TSIGRecordContent& trc, const std::string& previousMAC, const 
std::string& theirMAC, bool timersOnly, unsigned int dnsHeaderOffset=0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/dnsseckeeper.hh 
new/pdns-4.9.2/pdns/dnsseckeeper.hh
--- old/pdns-4.9.1/pdns/dnsseckeeper.hh 2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/dnsseckeeper.hh 2024-09-30 12:32:35.000000000 +0200
@@ -31,6 +31,7 @@
 #include <boost/multi_index/sequenced_index.hpp>
 #include "dnssecinfra.hh"
 #include "dnsrecords.hh"
+#include "dnspacket.hh"
 #include "ueberbackend.hh"
 #include "lock.hh"
 
@@ -208,7 +209,7 @@
   bool checkNSEC3PARAM(const NSEC3PARAMRecordContent& ns3p, string& msg);
   bool setNSEC3PARAM(const DNSName& zname, const NSEC3PARAMRecordContent& n3p, 
const bool& narrow=false);
   bool unsetNSEC3PARAM(const DNSName& zname);
-  void getPreRRSIGs(UeberBackend& db, vector<DNSZoneRecord>& rrs, uint32_t 
signTTL);
+  void getPreRRSIGs(UeberBackend& db, vector<DNSZoneRecord>& rrs, uint32_t 
signTTL, DNSPacket* p=nullptr);
   bool isPresigned(const DNSName& zname, bool useCache=true);
   bool setPresigned(const DNSName& zname);
   bool unsetPresigned(const DNSName& zname);
@@ -303,7 +304,6 @@
   static size_t s_maxEntries;
 };
 
-class DNSPacket;
 uint32_t localtime_format_YYYYMMDDSS(time_t t, uint32_t seq);
 // for SOA-EDIT
 uint32_t calculateEditSOA(uint32_t old_serial, DNSSECKeeper& dk, const 
DNSName& zonename);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/dnssecsigner.cc 
new/pdns-4.9.2/pdns/dnssecsigner.cc
--- old/pdns-4.9.1/pdns/dnssecsigner.cc 2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/dnssecsigner.cc 2024-09-30 12:32:35.000000000 +0200
@@ -145,7 +145,7 @@
 // this is the entrypoint from DNSPacket
 static void addSignature(DNSSECKeeper& dk, UeberBackend& db, const DNSName& 
signer, const DNSName& signQName, const DNSName& wildcardname, uint16_t 
signQType,
                          uint32_t signTTL, DNSResourceRecord::Place signPlace,
-                         sortedRecords_t& toSign, vector<DNSZoneRecord>& 
outsigned, uint32_t origTTL)
+                         sortedRecords_t& toSign, vector<DNSZoneRecord>& 
outsigned, uint32_t origTTL, DNSPacket* packet)
 {
   //cerr<<"Asked to sign 
'"<<signQName<<"'|"<<DNSRecordContent::NumberToType(signQType)<<", 
"<<toSign.size()<<" records\n";
   if(toSign.empty())
@@ -153,7 +153,7 @@
   vector<RRSIGRecordContent> rrcs;
   if(dk.isPresigned(signer)) {
     //cerr<<"Doing presignatures"<<endl;
-    dk.getPreRRSIGs(db, outsigned, origTTL); // does it all
+    dk.getPreRRSIGs(db, outsigned, origTTL, packet); // does it all
   }
   else {
     if(getRRSIGsForRRSET(dk, signer, wildcardname.countLabels() ? wildcardname 
: signQName, signQType, signTTL, toSign, rrcs) < 0)  {
@@ -203,7 +203,7 @@
   return false;
 }
 
-void addRRSigs(DNSSECKeeper& dk, UeberBackend& db, const set<DNSName>& 
authSet, vector<DNSZoneRecord>& rrs)
+void addRRSigs(DNSSECKeeper& dk, UeberBackend& db, const set<DNSName>& 
authSet, vector<DNSZoneRecord>& rrs, DNSPacket* packet)
 {
   stable_sort(rrs.begin(), rrs.end(), rrsigncomp);
 
@@ -222,7 +222,7 @@
   for(auto pos = rrs.cbegin(); pos != rrs.cend(); ++pos) {
     if(pos != rrs.cbegin() && (signQType != pos->dr.d_type  || signQName != 
pos->dr.d_name)) {
       if (getBestAuthFromSet(authSet, authQName, signer))
-        addSignature(dk, db, signer, signQName, wildcardQName, signQType, 
signTTL, signPlace, toSign, signedRecords, origTTL);
+        addSignature(dk, db, signer, signQName, wildcardQName, signQType, 
signTTL, signPlace, toSign, signedRecords, origTTL, packet);
     }
     signedRecords.push_back(*pos);
     signQName = pos->dr.d_name.makeLowerCase();
@@ -248,6 +248,6 @@
     }
   }
   if (getBestAuthFromSet(authSet, authQName, signer))
-    addSignature(dk, db, signer, signQName, wildcardQName, signQType, signTTL, 
signPlace, toSign, signedRecords, origTTL);
+    addSignature(dk, db, signer, signQName, wildcardQName, signQType, signTTL, 
signPlace, toSign, signedRecords, origTTL, packet);
   rrs.swap(signedRecords);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/lua-record.cc 
new/pdns-4.9.2/pdns/lua-record.cc
--- old/pdns-4.9.1/pdns/lua-record.cc   2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/lua-record.cc   2024-09-30 12:32:35.000000000 +0200
@@ -90,6 +90,8 @@
 private:
   void checkURL(const CheckDesc& cd, const bool status, const bool first = 
false)
   {
+    setThreadName("pdns/lua-c-url");
+
     string remstring;
     try {
       int timeout = 2;
@@ -138,6 +140,7 @@
     }
   }
   void checkTCP(const CheckDesc& cd, const bool status, const bool first = 
false) {
+    setThreadName("pdns/lua-c-tcp");
     try {
       int timeout = 2;
       if (cd.opts.count("timeout")) {
@@ -168,6 +171,7 @@
   }
   void checkThread()
   {
+    setThreadName("pdns/luaupcheck");
     while (true)
     {
       std::chrono::system_clock::time_point checkStart = 
std::chrono::system_clock::now();
@@ -200,6 +204,10 @@
           statuses->erase(it);
         }
       }
+
+      // set thread name again, in case std::async surprised us by doing work 
in this thread
+      setThreadName("pdns/luaupcheck");
+
       std::this_thread::sleep_until(checkStart + 
std::chrono::seconds(g_luaHealthChecksInterval));
     }
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/packethandler.cc 
new/pdns-4.9.2/pdns/packethandler.cc
--- old/pdns-4.9.1/pdns/packethandler.cc        2024-05-28 09:44:43.000000000 
+0200
+++ new/pdns-4.9.2/pdns/packethandler.cc        2024-09-30 12:32:35.000000000 
+0200
@@ -1817,7 +1817,7 @@
       }
     }
     if(doSigs)
-      addRRSigs(d_dk, B, authSet, r->getRRS());
+      addRRSigs(d_dk, B, authSet, r->getRRS(), &p);
 
     if(PC.enabled() && !noCache && p.couldBeCached())
       PC.insert(p, *r, r->getMinTTL()); // in the packet cache
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/pdnsutil.cc 
new/pdns-4.9.2/pdns/pdnsutil.cc
--- old/pdns-4.9.1/pdns/pdnsutil.cc     2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/pdnsutil.cc     2024-09-30 12:32:35.000000000 +0200
@@ -378,6 +378,7 @@
     if(rr.qtype.getCode() == QType::A || rr.qtype.getCode() == QType::AAAA) {
       addresses.insert(rr.qname);
     }
+#ifdef HAVE_LUA_RECORDS
     if(rr.qtype.getCode() == QType::LUA) {
       shared_ptr<DNSRecordContent> 
drc(DNSRecordContent::make(rr.qtype.getCode(), QClass::IN, rr.content));
       auto luarec = std::dynamic_pointer_cast<LUARecordContent>(drc);
@@ -386,6 +387,7 @@
         addresses.insert(rr.qname);
       }
     }
+#endif
     if(rr.qtype.getCode() == QType::A) {
       arecords.insert(rr.qname);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/signingpipe.cc 
new/pdns-4.9.2/pdns/signingpipe.cc
--- old/pdns-4.9.1/pdns/signingpipe.cc  2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/signingpipe.cc  2024-09-30 12:32:35.000000000 +0200
@@ -1,3 +1,4 @@
+#include "threadname.hh"
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -49,6 +50,7 @@
 
 void* ChunkedSigningPipe::helperWorker(ChunkedSigningPipe* csp, int fd)
 try {
+  setThreadName("pdns/signer");
   csp->worker(fd);
   return nullptr;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/ssqlite3.cc 
new/pdns-4.9.2/pdns/ssqlite3.cc
--- old/pdns-4.9.1/pdns/ssqlite3.cc     2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/ssqlite3.cc     2024-09-30 12:32:35.000000000 +0200
@@ -377,7 +377,7 @@
 
 void SSQLite3::startTransaction()
 {
-  execute("begin");
+  execute("begin immediate");
   m_in_transaction = true;
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/test-distributor_hh.cc 
new/pdns-4.9.2/pdns/test-distributor_hh.cc
--- old/pdns-4.9.1/pdns/test-distributor_hh.cc  2024-05-28 09:44:43.000000000 
+0200
+++ new/pdns-4.9.2/pdns/test-distributor_hh.cc  2024-09-30 12:32:35.000000000 
+0200
@@ -6,7 +6,7 @@
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
-#include <stdlib.h>
+#include <cstdlib>
 #include <unistd.h>
 #include <boost/test/unit_test.hpp>
 #include "distributor.hh"
@@ -65,7 +65,7 @@
 
 struct BackendSlow
 {
-  std::unique_ptr<DNSPacket> question(Question&)
+  std::unique_ptr<DNSPacket> question([[maybe_unused]] Question& query)
   {
     if (d_shouldSleep) {
       /* only sleep once per distributor thread, otherwise
@@ -80,10 +80,10 @@
   bool d_shouldSleep{true};
 };
 
-static std::atomic<int> g_receivedAnswers1;
+static std::atomic<size_t> s_receivedAnswers;
 static void report1(std::unique_ptr<DNSPacket>& /* A */, int /* B */)
 {
-  g_receivedAnswers1++;
+  s_receivedAnswers++;
 }
 
 BOOST_AUTO_TEST_CASE(test_distributor_queue) {
@@ -93,17 +93,31 @@
   S.declare("servfail-packets","Number of times a server-failed packet was 
sent out");
   S.declare("timedout-packets", "timedout-packets");
 
-  auto d=Distributor<DNSPacket, Question, BackendSlow>::Create(2);
+  s_receivedAnswers.store(0);
+  auto* distributor = Distributor<DNSPacket, Question, BackendSlow>::Create(2);
 
+  size_t queued = 0;
   BOOST_CHECK_EXCEPTION( {
-    int n;
     // bound should be higher than max-queue-length
-    for(n=0; n < 2000; ++n)  {
-      Question q;
-      q.d_dt.set();
-      d->question(q, report1);
+    const size_t bound = 2000;
+    for (size_t idx = 0; idx < bound; ++idx)  {
+      Question query;
+      query.d_dt.set();
+      ++queued;
+      distributor->question(query, report1);
     }
     }, DistributorFatal, [](DistributorFatal) { return true; });
+
+  BOOST_CHECK_GT(queued, 1000);
+
+  // now we want to make sure that all queued queries have been processed
+  // otherwise LeakSanitizer will report a leak, but we are only willing to
+  // wait up to 3 seconds (3000 milliseconds)
+  size_t remainingMs = 3000;
+  while (s_receivedAnswers.load() < queued && remainingMs > 0) {
+    std::this_thread::sleep_for(std::chrono::milliseconds(10));
+    remainingMs -= 10;
+  }
 };
 
 struct BackendDies
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/uuid-utils.cc 
new/pdns-4.9.2/pdns/uuid-utils.cc
--- old/pdns-4.9.1/pdns/uuid-utils.cc   2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/uuid-utils.cc   2024-09-30 12:32:35.000000000 +0200
@@ -30,6 +30,7 @@
 #endif /* BOOST_PENDING_INTEGER_LOG2_HPP */
 #endif /* BOOST_VERSION */
 
+#include <boost/random/mersenne_twister.hpp>
 #include <boost/uuid/uuid_generators.hpp>
 
 // The default of:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/views.hh new/pdns-4.9.2/pdns/views.hh
--- old/pdns-4.9.1/pdns/views.hh        1970-01-01 01:00:00.000000000 +0100
+++ new/pdns-4.9.2/pdns/views.hh        2024-09-30 12:32:35.000000000 +0200
@@ -0,0 +1,73 @@
+/*
+ * This file is part of PowerDNS or dnsdist.
+ * Copyright -- PowerDNS.COM B.V. and its contributors
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of version 2 of the GNU General Public License as
+ * published by the Free Software Foundation.
+ *
+ * In addition, for the avoidance of any doubt, permission is granted to
+ * link this program with OpenSSL and to (re)distribute the binaries
+ * produced as the result of such linking.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 
USA.
+ */
+#pragma once
+
+#include <string_view>
+
+namespace pdns::views
+{
+
+class UnsignedCharView
+{
+public:
+  UnsignedCharView(const char* data_, size_t size_) :
+    view(data_, size_)
+  {
+  }
+  // NOLINTBEGIN(cppcoreguidelines-pro-type-reinterpret-cast): No unsigned 
char view in C++17
+  UnsignedCharView(const unsigned char* data_, size_t size_) :
+    view(reinterpret_cast<const char*>(data_), size_)
+  {
+  }
+  using size_type = std::string_view::size_type;
+
+  [[nodiscard]] const unsigned char& at(size_type pos) const
+  {
+    return reinterpret_cast<const unsigned char&>(view.at(pos));
+  }
+
+  [[nodiscard]] const unsigned char& operator[](size_type pos) const
+  {
+    return reinterpret_cast<const unsigned char&>(view[pos]);
+  }
+
+  [[nodiscard]] const unsigned char* data() const
+  {
+    return reinterpret_cast<const unsigned char*>(view.data());
+  }
+  // NOLINTEND(cppcoreguidelines-pro-type-reinterpret-cast): No unsigned char 
view in C++17
+
+  [[nodiscard]] size_t size() const
+  {
+    return view.size();
+  }
+
+  [[nodiscard]] size_t length() const
+  {
+    return view.length();
+  }
+
+private:
+  std::string_view view;
+};
+
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/webserver.cc 
new/pdns-4.9.2/pdns/webserver.cc
--- old/pdns-4.9.1/pdns/webserver.cc    2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/webserver.cc    2024-09-30 12:32:35.000000000 +0200
@@ -301,12 +301,12 @@
     catch(PDNSException &e) {
       SLOG(g_log<<Logger::Error<<req.logprefix<<"HTTP ISE for \""<< 
req.url.path << "\": Exception: " << e.reason << endl,
            log->error(Logr::Error, e.reason, msg, "exception", 
Logging::Loggable("PDNSException")));
-      throw HttpInternalServerErrorException();
+      throw HttpInternalServerErrorException(e.reason);
     }
     catch(std::exception &e) {
       SLOG(g_log<<Logger::Error<<req.logprefix<<"HTTP ISE for \""<< 
req.url.path << "\": STL Exception: " << e.what() << endl,
            log->error(Logr::Error, e.what(), msg, "exception", 
Logging::Loggable("std::exception")));
-      throw HttpInternalServerErrorException();
+      throw HttpInternalServerErrorException(e.what());
     }
     catch(...) {
       SLOG(g_log<<Logger::Error<<req.logprefix<<"HTTP ISE for \""<< 
req.url.path << "\": Unknown Exception" << endl,
@@ -520,7 +520,7 @@
     YaHTTP::AsyncRequestLoader yarl;
     yarl.initialize(&req);
     req.max_request_size=d_maxbodysize;
-    int timeout = 5;
+    int timeout = d_connectiontimeout;
     client->setNonBlocking();
 
     try {
@@ -588,7 +588,8 @@
   d_listenaddress(std::move(listenaddress)),
   d_port(port),
   d_server(nullptr),
-  d_maxbodysize(2*1024*1024)
+  d_maxbodysize(2*1024*1024),
+  d_connectiontimeout(5)
 {
     YaHTTP::Router::Map("OPTIONS", "/<*url>", [](YaHTTP::Request *req, 
YaHTTP::Response *resp) {
       // look for url in routes
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/webserver.hh 
new/pdns-4.9.2/pdns/webserver.hh
--- old/pdns-4.9.1/pdns/webserver.hh    2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/webserver.hh    2024-09-30 12:32:35.000000000 +0200
@@ -212,6 +212,10 @@
     d_maxbodysize = s * 1024 * 1024;
   }
 
+  void setConnectionTimeout(int t) { // in seconds
+    d_connectiontimeout = t;
+  }
+
   void setACL(const NetmaskGroup &nmg) {
     d_acl = nmg;
   }
@@ -285,6 +289,7 @@
   std::unique_ptr<CredentialsHolder> d_webserverPassword{nullptr};
 
   ssize_t d_maxbodysize; // in bytes
+  int d_connectiontimeout; // in seconds
 
   NetmaskGroup d_acl;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.9.1/pdns/ws-auth.cc 
new/pdns-4.9.2/pdns/ws-auth.cc
--- old/pdns-4.9.1/pdns/ws-auth.cc      2024-05-28 09:44:43.000000000 +0200
+++ new/pdns-4.9.2/pdns/ws-auth.cc      2024-09-30 12:32:35.000000000 +0200
@@ -117,6 +117,7 @@
     d_ws->setACL(acl);
 
     d_ws->setMaxBodySize(::arg().asNum("webserver-max-bodysize"));
+    d_ws->setConnectionTimeout(::arg().asNum("webserver-connection-timeout"));
 
     d_ws->bind();
   }
@@ -444,6 +445,9 @@
     vector<DNSResourceRecord> records;
     vector<Comment> comments;
 
+    QType qType = QType::ANY;
+    DNSName qName;
+
     // load all records + sort
     {
       DNSResourceRecord resourceRecord;
@@ -451,14 +455,11 @@
         domainInfo.backend->list(zonename, static_cast<int>(domainInfo.id), 
true); // incl. disabled
       }
       else {
-        QType qType;
-        if (req->getvars.count("rrset_type") == 0) {
-          qType = QType::ANY;
-        }
-        else {
+        qName = DNSName(req->getvars["rrset_name"]);
+        if (req->getvars.count("rrset_type") != 0) {
           qType = req->getvars["rrset_type"];
         }
-        domainInfo.backend->lookup(qType, DNSName(req->getvars["rrset_name"]), 
static_cast<int>(domainInfo.id));
+        domainInfo.backend->lookup(qType, qName, 
static_cast<int>(domainInfo.id));
       }
       while (domainInfo.backend->get(resourceRecord)) {
         if (resourceRecord.qtype.getCode() == 0) {
@@ -482,7 +483,9 @@
       Comment comment;
       domainInfo.backend->listComments(domainInfo.id);
       while (domainInfo.backend->getComment(comment)) {
-        comments.push_back(comment);
+        if ((qName.empty() || comment.qname == qName) && (qType == QType::ANY 
|| comment.qtype == qType)) {
+          comments.push_back(comment);
+        }
       }
       sort(comments.begin(), comments.end(), [](const Comment& rrA, const 
Comment& rrB) {
         /* if you ever want to update this comparison function,


++++++ series ++++++
--- /var/tmp/diff_new_pack.SfpzOO/_old  2024-11-05 15:41:59.108499920 +0100
+++ /var/tmp/diff_new_pack.SfpzOO/_new  2024-11-05 15:41:59.112500088 +0100
@@ -1,4 +1,3 @@
 pdns-4.0.3_allow_dacoverride_in_capset.patch
 pdns-4.9.0-fix_boost.patch
-powerdns-5_1_1-2_fix-build-with-boost-1_86_0.patch
 

Reply via email to