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-05-28 17:30:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pdns (Old)
 and      /work/SRC/openSUSE:Factory/.pdns.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pdns"

Tue May 28 17:30:19 2024 rev:93 rq:1177309 version:4.9.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/pdns/pdns.changes        2024-04-02 
16:45:55.956653869 +0200
+++ /work/SRC/openSUSE:Factory/.pdns.new.24587/pdns.changes     2024-05-28 
17:31:22.333611263 +0200
@@ -1,0 +2,27 @@
+Tue May 28 09:49:18 UTC 2024 - Adam Majer <adam.ma...@suse.de>
+
+- Update to version 4.9.1
+  * Improvements
+    + rpm: Change home directory to /var/lib/pdns
+    + m4: Add option for 64-bit time_t on 32-bit systems with glibc-2.34 (Sven 
Wegener)
+    + Wrap backend factories in smart pointers
+    + (optionally) drop whitespace on join
+
+  * Bug Fixes
+    + autoconf: allow prerelease systemd versions (Chris Hofstaedtler)
+    + ixfrdist: Fix broken ‘uid’ and ‘gid’ parsing for non-numerical 
values
+    + YaHTTP: Enforce max # of request fields and max request line size
+    + Fix memory leaks in the bind file format parser
+    + dnsproxy: fix build on s390x (Chris Hofstaedtler)
+    + pdnsutil check-zone: accept LUA A/AAAA as SVCB address targets
+    + Properly finalize PKCS11 modules before releasing them (Aki Tuomi)
+    + don’t crash when a catalog SOA is invalid
+    + debian: adjust option name in shipped postinst
+
+-------------------------------------------------------------------
+Tue Apr  2 22:10:29 UTC 2024 - Adam Mizerski <a...@mizerski.pl>
+
+- fix building on older openSUSE releases
+- added pdns-4.9.0-fix_boost.patch
+
+-------------------------------------------------------------------

Old:
----
  pdns-4.9.0.tar.bz2
  pdns-4.9.0.tar.bz2.sig

New:
----
  pdns-4.9.0-fix_boost.patch
  pdns-4.9.1.tar.bz2
  pdns-4.9.1.tar.bz2.sig

BETA DEBUG BEGIN:
  New:- fix building on older openSUSE releases
- added pdns-4.9.0-fix_boost.patch
BETA DEBUG END:

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

Other differences:
------------------
++++++ pdns.spec ++++++
--- /var/tmp/diff_new_pack.CINqsi/_old  2024-05-28 17:31:22.941633496 +0200
+++ /var/tmp/diff_new_pack.CINqsi/_new  2024-05-28 17:31:22.941633496 +0200
@@ -43,9 +43,11 @@
 %bcond_with    pdns_lmdb
 %endif
 
-%if 0%{?suse_version} < 1500
-BuildRequires:  gcc9-c++
-%define compiler_ver -9
+%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
 %else
 BuildRequires:  gcc-c++
 %endif
@@ -57,7 +59,7 @@
 %endif
 
 Name:           pdns
-Version:        4.9.0
+Version:        4.9.1
 Release:        0
 Summary:        Authoritative-only nameserver
 License:        GPL-2.0-only
@@ -67,12 +69,13 @@
 Source1:        
https://downloads.powerdns.com/releases/pdns-%{version}.tar.bz2.sig
 Source2:        https://powerdns.com/powerdns-keyblock.asc#/pdns.keyring
 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
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  bison
 BuildRequires:  curl-devel
 BuildRequires:  flex
-BuildRequires:  gcc-c++
 BuildRequires:  gdbm-devel
 BuildRequires:  libmysqlclient-devel
 BuildRequires:  libsodium-devel
@@ -84,7 +87,9 @@
 BuildRequires:  pkgconfig(openssl)
 BuildRequires:  pkgconfig(systemd)
 %{?systemd_ordering}
-%if 0%{?suse_version} > 1325
+%if 0%{?suse_version}
+# version 1.55 adds support for boost::hash<CompositeKeyResult> used in 
auth-querycache.cc
+BuildRequires:  libboost_headers-devel >= 1.55
 BuildRequires:  libboost_program_options-devel
 BuildRequires:  libboost_serialization-devel
 %else
@@ -264,6 +269,7 @@
 %autosetup -n %{name}-%{version} -p1
 
 %build
+export CC=gcc%{?compiler_ver}
 export CXX=g++%{?compiler_ver}
 %configure \
   --docdir=%{_docdir}/%{name}/ \

++++++ pdns-4.9.0-fix_boost.patch ++++++
Index: pdns-4.9.0/pdns/dnsparser.hh
===================================================================
--- pdns-4.9.0.orig/pdns/dnsparser.hh
+++ pdns-4.9.0/pdns/dnsparser.hh
@@ -39,6 +39,8 @@
 #include "iputils.hh"
 #include "svc-records.hh"
 
+#include <boost/utility.hpp>
+
 /** DNS records have three representations:
     1) in the packet
     2) parsed in a class, ready for use
Index: pdns-4.9.0/pdns/dnswriter.hh
===================================================================
--- pdns-4.9.0.orig/pdns/dnswriter.hh
+++ pdns-4.9.0/pdns/dnswriter.hh
@@ -30,6 +30,7 @@
 #include "svc-records.hh"
 #include <arpa/inet.h>
 
+#include <boost/utility.hpp>
 
 /** this class can be used to write DNS packets. It knows about DNS in the 
sense that it makes
     the packet header and record headers.
Index: pdns-4.9.0/pdns/iputils.hh
===================================================================
--- pdns-4.9.0.orig/pdns/iputils.hh
+++ pdns-4.9.0/pdns/iputils.hh
@@ -33,6 +33,8 @@
 #include <netdb.h>
 #include <sstream>
 
+#include <boost/utility.hpp>
+
 #include "namespaces.hh"
 
 #ifdef __APPLE__
Index: pdns-4.9.0/pdns/auth-zonecache.hh
===================================================================
--- pdns-4.9.0.orig/pdns/auth-zonecache.hh
+++ pdns-4.9.0/pdns/auth-zonecache.hh
@@ -27,6 +27,8 @@
 #include "lock.hh"
 #include "misc.hh"
 
+#include <boost/utility.hpp>
+
 class AuthZoneCache : public boost::noncopyable
 {
 public:

++++++ pdns-4.9.0.tar.bz2 -> pdns-4.9.1.tar.bz2 ++++++
++++ 2026 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/configure.ac new/pdns-4.9.1/configure.ac
--- old/pdns-4.9.0/configure.ac 2024-03-15 10:18:43.000000000 +0100
+++ new/pdns-4.9.1/configure.ac 2024-05-28 09:44:54.000000000 +0200
@@ -1,6 +1,6 @@
 AC_PREREQ([2.69])
 
-AC_INIT([pdns], [4.9.0])
+AC_INIT([pdns], [4.9.1])
 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])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/calidns.1 new/pdns-4.9.1/docs/calidns.1
--- old/pdns-4.9.0/docs/calidns.1       2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/calidns.1       2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "CALIDNS" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 calidns \- A DNS recursor testing tool
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dnsbulktest.1 new/pdns-4.9.1/docs/dnsbulktest.1
--- old/pdns-4.9.0/docs/dnsbulktest.1   2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/dnsbulktest.1   2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSBULKTEST" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dnsgram.1 new/pdns-4.9.1/docs/dnsgram.1
--- old/pdns-4.9.0/docs/dnsgram.1       2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/dnsgram.1       2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSGRAM" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dnspcap2calidns.1 new/pdns-4.9.1/docs/dnspcap2calidns.1
--- old/pdns-4.9.0/docs/dnspcap2calidns.1       2024-03-15 10:19:34.000000000 
+0100
+++ new/pdns-4.9.1/docs/dnspcap2calidns.1       2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSPCAP2CALIDNS" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dnspcap2protobuf.1 new/pdns-4.9.1/docs/dnspcap2protobuf.1
--- old/pdns-4.9.0/docs/dnspcap2protobuf.1      2024-03-15 10:19:34.000000000 
+0100
+++ new/pdns-4.9.1/docs/dnspcap2protobuf.1      2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSPCAP2PROTOBUF" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dnsreplay.1 new/pdns-4.9.1/docs/dnsreplay.1
--- old/pdns-4.9.0/docs/dnsreplay.1     2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/dnsreplay.1     2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSREPLAY" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnsreplay \- A PowerDNS nameserver debugging tool
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dnsscan.1 new/pdns-4.9.1/docs/dnsscan.1
--- old/pdns-4.9.0/docs/dnsscan.1       2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/dnsscan.1       2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSSCAN" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dnsscope.1 new/pdns-4.9.1/docs/dnsscope.1
--- old/pdns-4.9.0/docs/dnsscope.1      2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/dnsscope.1      2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSSCOPE" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnsscope \- A PowerDNS nameserver debugging tool
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dnstcpbench.1 new/pdns-4.9.1/docs/dnstcpbench.1
--- old/pdns-4.9.0/docs/dnstcpbench.1   2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/dnstcpbench.1   2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSTCPBENCH" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dnswasher.1 new/pdns-4.9.1/docs/dnswasher.1
--- old/pdns-4.9.0/docs/dnswasher.1     2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/dnswasher.1     2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DNSWASHER" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dnswasher \- A PowerDNS nameserver debugging tool
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/dumresp.1 new/pdns-4.9.1/docs/dumresp.1
--- old/pdns-4.9.0/docs/dumresp.1       2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/dumresp.1       2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "DUMRESP" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 dumresp \- A dumb DNS responder
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/ixfrdist.1 new/pdns-4.9.1/docs/ixfrdist.1
--- old/pdns-4.9.0/docs/ixfrdist.1      2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/ixfrdist.1      2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "IXFRDIST" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/ixfrdist.yml.5 new/pdns-4.9.1/docs/ixfrdist.yml.5
--- old/pdns-4.9.0/docs/ixfrdist.yml.5  2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/ixfrdist.yml.5  2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "IXFRDIST.YML" "5" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 ixfrdist.yml \- The ixfrdist configuration file
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/ixplore.1 new/pdns-4.9.1/docs/ixplore.1
--- old/pdns-4.9.0/docs/ixplore.1       2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/ixplore.1       2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "IXPLORE" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/nproxy.1 new/pdns-4.9.1/docs/nproxy.1
--- old/pdns-4.9.0/docs/nproxy.1        2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/nproxy.1        2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "NPROXY" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 nproxy \- DNS notification proxy
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/nsec3dig.1 new/pdns-4.9.1/docs/nsec3dig.1
--- old/pdns-4.9.0/docs/nsec3dig.1      2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/nsec3dig.1      2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "NSEC3DIG" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 nsec3dig \- Show and validate NSEC3 proofs
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/pdns_control.1 new/pdns-4.9.1/docs/pdns_control.1
--- old/pdns-4.9.0/docs/pdns_control.1  2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/pdns_control.1  2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "PDNS_CONTROL" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 pdns_control \- Control the PowerDNS nameserver
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/pdns_notify.1 new/pdns-4.9.1/docs/pdns_notify.1
--- old/pdns-4.9.0/docs/pdns_notify.1   2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/pdns_notify.1   2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "PDNS_NOTIFY" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/pdns_server.1 new/pdns-4.9.1/docs/pdns_server.1
--- old/pdns-4.9.0/docs/pdns_server.1   2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/pdns_server.1   2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "PDNS_SERVER" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 pdns_server \- The PowerDNS Authoritative Nameserver
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/pdnsutil.1 new/pdns-4.9.1/docs/pdnsutil.1
--- old/pdns-4.9.0/docs/pdnsutil.1      2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/pdnsutil.1      2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "PDNSUTIL" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/saxfr.1 new/pdns-4.9.1/docs/saxfr.1
--- old/pdns-4.9.0/docs/saxfr.1 2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/saxfr.1 2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "SAXFR" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/sdig.1 new/pdns-4.9.1/docs/sdig.1
--- old/pdns-4.9.0/docs/sdig.1  2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/sdig.1  2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "SDIG" "1" "May 28, 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' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/zone2json.1 new/pdns-4.9.1/docs/zone2json.1
--- old/pdns-4.9.0/docs/zone2json.1     2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/zone2json.1     2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "ZONE2JSON" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 zone2json \- convert BIND zones to JSON
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/zone2ldap.1 new/pdns-4.9.1/docs/zone2ldap.1
--- old/pdns-4.9.0/docs/zone2ldap.1     2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/zone2ldap.1     2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "ZONE2LDAP" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 zone2ldap \- convert zonefiles to ldif
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/docs/zone2sql.1 new/pdns-4.9.1/docs/zone2sql.1
--- old/pdns-4.9.0/docs/zone2sql.1      2024-03-15 10:19:34.000000000 +0100
+++ new/pdns-4.9.1/docs/zone2sql.1      2024-05-28 09:45:48.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" "Mar 15, 2024" "" "PowerDNS Authoritative Server"
+.TH "ZONE2SQL" "1" "May 28, 2024" "" "PowerDNS Authoritative Server"
 .SH NAME
 zone2sql \- convert BIND zones to SQL
 .SH SYNOPSIS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/ext/yahttp/yahttp/utility.hpp 
new/pdns-4.9.1/ext/yahttp/yahttp/utility.hpp
--- old/pdns-4.9.0/ext/yahttp/yahttp/utility.hpp        2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/ext/yahttp/yahttp/utility.hpp        2024-05-28 
09:44:43.000000000 +0200
@@ -1,4 +1,13 @@
 #pragma once
+
+#ifndef YAHTTP_MAX_REQUEST_LINE_SIZE
+#define YAHTTP_MAX_REQUEST_LINE_SIZE 8192
+#endif
+
+#ifndef YAHTTP_MAX_REQUEST_FIELDS
+#define YAHTTP_MAX_REQUEST_FIELDS 100
+#endif
+
 namespace YaHTTP {
   static const char *MONTHS[] = 
{0,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec",0}; 
//<! List of months 
   static const char *DAYS[] = {"Sun","Mon","Tue","Wed","Thu","Fri","Sat",0}; 
//<! List of days
@@ -364,7 +373,10 @@
        }
     }; //<! static HTTP codes to text mappings
 
-    static strstr_map_t parseUrlParameters(std::string parameters) {
+    static strstr_map_t parseUrlParameters(const std::string& parameters) {
+      if (parameters.size() > YAHTTP_MAX_REQUEST_LINE_SIZE) {
+        return {};
+      }
       std::string::size_type pos = 0;
       strstr_map_t parameter_map;
       while (pos != std::string::npos) {
@@ -390,13 +402,14 @@
           // no parameters at all
           break;
         }
-        key = decodeURL(key);
-        value = decodeURL(value);
-        parameter_map[key] = std::move(value);
+        parameter_map[decodeURL(key)] = decodeURL(value);
         if (nextpos == std::string::npos) {
           // no more parameters left
           break;
         }
+        if (parameter_map.size() >= YAHTTP_MAX_REQUEST_FIELDS) {
+          break;
+        }
 
         pos = nextpos+1;
       }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/m4/pdns_check_time_t.m4 new/pdns-4.9.1/m4/pdns_check_time_t.m4
--- old/pdns-4.9.0/m4/pdns_check_time_t.m4      2024-03-15 10:18:33.000000000 
+0100
+++ new/pdns-4.9.1/m4/pdns_check_time_t.m4      2024-05-28 09:44:43.000000000 
+0200
@@ -1,4 +1,23 @@
 AC_DEFUN([PDNS_CHECK_TIME_T], [
+AC_ARG_ENABLE([experimental_64bit_time_t_support_on_glibc],
+  AS_HELP_STRING([--enable-experimental-64bit-time_t-support-on-glibc],
+    [enable experimental 64bit time_t support on >=glibc-2.34 for 32bit 
systems @<:@default=no@:>@]
+  ),
+  [enable_experimental_64bit_time_t_support_on_glibc=$enableval],
+  [enable_experimental_64bit_time_t_support_on_glibc=no]
+)
+AS_IF([test "x$enable_experimental_64bit_time_t_support_on_glibc" != "xno"],
+  # _TIME_BITS=64 is supported on glibc-2.34 and requires _FILE_OFFSET_BITS=64
+  [AC_EGREP_CPP(yes, [
+    #include <features.h>
+    #if __GLIBC__ == 2 && __GLIBC_MINOR__ >= 34 || __GLIBC__ > 2
+      yes
+    #endif
+    ], [
+    CFLAGS="${CFLAGS} -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64"
+    CXXFLAGS="${CXXFLAGS} -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64"
+  ])]
+)
 AX_COMPILE_CHECK_SIZEOF(time_t)
 AS_IF([test $ac_size -lt 8], [AC_MSG_ERROR([size of time_t is $ac_size, which 
is not large enough to fix the y2k38 bug])])
 AX_CHECK_SIGN([time_t], [:], [AC_MSG_ERROR([time_t is unsigned, PowerDNS code 
relies on it being signed])], [
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/m4/systemd.m4 new/pdns-4.9.1/m4/systemd.m4
--- old/pdns-4.9.0/m4/systemd.m4        2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/m4/systemd.m4        2024-05-28 09:44:43.000000000 +0200
@@ -134,7 +134,7 @@
           AC_PATH_PROG([SYSTEMCTL], [systemctl], [no])
           AS_IF([test "$SYSTEMCTL" = "no"],
             [AC_MSG_ERROR([systemctl not found])], [
-              _systemd_version=`${SYSTEMCTL} --version|head -1 |cut -d" " -f 2`
+              _systemd_version=`${SYSTEMCTL} --version|head -1 | tr ".~" "  " 
| cut -d" " -f 2`
               if test $_systemd_version -ge 183; then
                  systemd_private_tmp=y
               fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/bindbackend/bindbackend2.cc 
new/pdns-4.9.1/modules/bindbackend/bindbackend2.cc
--- old/pdns-4.9.0/modules/bindbackend/bindbackend2.cc  2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/bindbackend/bindbackend2.cc  2024-05-28 
09:44:43.000000000 +0200
@@ -1535,7 +1535,7 @@
 public:
   Bind2Loader()
   {
-    BackendMakers().report(new Bind2Factory);
+    BackendMakers().report(std::make_unique<Bind2Factory>());
     g_log << Logger::Info << "[bind2backend] This is the bind backend version 
" << VERSION
 #ifndef REPRODUCIBLE
           << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/geoipbackend/geoipbackend.cc 
new/pdns-4.9.1/modules/geoipbackend/geoipbackend.cc
--- old/pdns-4.9.0/modules/geoipbackend/geoipbackend.cc 2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/geoipbackend/geoipbackend.cc 2024-05-28 
09:44:43.000000000 +0200
@@ -1199,7 +1199,7 @@
 public:
   GeoIPLoader()
   {
-    BackendMakers().report(new GeoIPFactory);
+    BackendMakers().report(std::make_unique<GeoIPFactory>());
     g_log << Logger::Info << "[geoipbackend] This is the geoip backend version 
" VERSION
 #ifndef REPRODUCIBLE
           << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/gmysqlbackend/gmysqlbackend.cc 
new/pdns-4.9.1/modules/gmysqlbackend/gmysqlbackend.cc
--- old/pdns-4.9.0/modules/gmysqlbackend/gmysqlbackend.cc       2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/gmysqlbackend/gmysqlbackend.cc       2024-05-28 
09:44:43.000000000 +0200
@@ -185,7 +185,7 @@
   //! This reports us to the main UeberBackend class
   gMySQLLoader()
   {
-    BackendMakers().report(new gMySQLFactory("gmysql"));
+    BackendMakers().report(std::make_unique<gMySQLFactory>("gmysql"));
     g_log << Logger::Info << "[gmysqlbackend] This is the gmysql backend 
version " VERSION
 #ifndef REPRODUCIBLE
           << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/godbcbackend/godbcbackend.cc 
new/pdns-4.9.1/modules/godbcbackend/godbcbackend.cc
--- old/pdns-4.9.0/modules/godbcbackend/godbcbackend.cc 2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/godbcbackend/godbcbackend.cc 2024-05-28 
09:44:43.000000000 +0200
@@ -169,7 +169,7 @@
   //! This reports us to the main UeberBackend class
   gODBCLoader()
   {
-    BackendMakers().report(new gODBCFactory("godbc"));
+    BackendMakers().report(std::make_unique<gODBCFactory>("godbc"));
     g_log << Logger::Warning << "This is module godbcbackend reporting" << 
std::endl;
   }
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/gpgsqlbackend/gpgsqlbackend.cc 
new/pdns-4.9.1/modules/gpgsqlbackend/gpgsqlbackend.cc
--- old/pdns-4.9.0/modules/gpgsqlbackend/gpgsqlbackend.cc       2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/gpgsqlbackend/gpgsqlbackend.cc       2024-05-28 
09:44:43.000000000 +0200
@@ -192,7 +192,7 @@
   //! This reports us to the main UeberBackend class
   gPgSQLLoader()
   {
-    BackendMakers().report(new gPgSQLFactory("gpgsql"));
+    BackendMakers().report(std::make_unique<gPgSQLFactory>("gpgsql"));
     g_log << Logger::Info << "[gpgsqlbackend] This is the gpgsql backend 
version " VERSION
 #ifndef REPRODUCIBLE
           << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/gsqlite3backend/gsqlite3backend.cc 
new/pdns-4.9.1/modules/gsqlite3backend/gsqlite3backend.cc
--- old/pdns-4.9.0/modules/gsqlite3backend/gsqlite3backend.cc   2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/gsqlite3backend/gsqlite3backend.cc   2024-05-28 
09:44:43.000000000 +0200
@@ -179,7 +179,7 @@
   //! This reports us to the main UeberBackend class
   gSQLite3Loader()
   {
-    BackendMakers().report(new gSQLite3Factory("gsqlite3"));
+    BackendMakers().report(std::make_unique<gSQLite3Factory>("gsqlite3"));
     g_log << Logger::Info << "[gsqlite3] This is the gsqlite3 backend version 
" VERSION
 #ifndef REPRODUCIBLE
           << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/ldapbackend/ldapbackend.cc 
new/pdns-4.9.1/modules/ldapbackend/ldapbackend.cc
--- old/pdns-4.9.0/modules/ldapbackend/ldapbackend.cc   2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/ldapbackend/ldapbackend.cc   2024-05-28 
09:44:43.000000000 +0200
@@ -293,12 +293,10 @@
 
 class LdapLoader
 {
-  LdapFactory factory;
-
 public:
   LdapLoader()
   {
-    BackendMakers().report(&factory);
+    BackendMakers().report(std::make_unique<LdapFactory>());
     g_log << Logger::Info << "[ldapbackend] This is the ldap backend version " 
VERSION
 #ifndef REPRODUCIBLE
           << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/lmdbbackend/lmdbbackend.cc 
new/pdns-4.9.1/modules/lmdbbackend/lmdbbackend.cc
--- old/pdns-4.9.0/modules/lmdbbackend/lmdbbackend.cc   2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/lmdbbackend/lmdbbackend.cc   2024-05-28 
09:44:43.000000000 +0200
@@ -2792,7 +2792,7 @@
 public:
   LMDBLoader()
   {
-    BackendMakers().report(new LMDBFactory);
+    BackendMakers().report(std::make_unique<LMDBFactory>());
     g_log << Logger::Info << "[lmdbbackend] This is the lmdb backend version " 
VERSION
 #ifndef REPRODUCIBLE
           << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/lua2backend/lua2backend.cc 
new/pdns-4.9.1/modules/lua2backend/lua2backend.cc
--- old/pdns-4.9.0/modules/lua2backend/lua2backend.cc   2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/lua2backend/lua2backend.cc   2024-05-28 
09:44:43.000000000 +0200
@@ -62,7 +62,7 @@
 public:
   Lua2Loader()
   {
-    BackendMakers().report(new Lua2Factory);
+    BackendMakers().report(std::make_unique<Lua2Factory>());
 
     g_log << Logger::Info << "[lua2backend] This is the lua2 backend version " 
VERSION
 #ifndef REPRODUCIBLE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/pipebackend/pipebackend.cc 
new/pdns-4.9.1/modules/pipebackend/pipebackend.cc
--- old/pdns-4.9.0/modules/pipebackend/pipebackend.cc   2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/pipebackend/pipebackend.cc   2024-05-28 
09:44:43.000000000 +0200
@@ -379,7 +379,7 @@
 public:
   PipeLoader()
   {
-    BackendMakers().report(new PipeFactory);
+    BackendMakers().report(std::make_unique<PipeFactory>());
     g_log << Logger::Info << kBackendId << " This is the pipe backend version 
" VERSION
 #ifndef REPRODUCIBLE
           << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/remotebackend/remotebackend.cc 
new/pdns-4.9.1/modules/remotebackend/remotebackend.cc
--- old/pdns-4.9.0/modules/remotebackend/remotebackend.cc       2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/remotebackend/remotebackend.cc       2024-05-28 
09:44:43.000000000 +0200
@@ -1007,7 +1007,7 @@
 
 RemoteLoader::RemoteLoader()
 {
-  BackendMakers().report(new RemoteBackendFactory);
+  BackendMakers().report(std::make_unique<RemoteBackendFactory>());
   g_log << Logger::Info << kBackendId << " This is the remote backend version 
" VERSION
 #ifndef REPRODUCIBLE
         << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/remotebackend/test-remotebackend-http.cc 
new/pdns-4.9.1/modules/remotebackend/test-remotebackend-http.cc
--- old/pdns-4.9.0/modules/remotebackend/test-remotebackend-http.cc     
2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/remotebackend/test-remotebackend-http.cc     
2024-05-28 09:44:43.000000000 +0200
@@ -75,7 +75,7 @@
     try {
       // setup minimum arguments
       ::arg().set("module-dir") = "./.libs";
-      new RemoteLoader();
+      auto loader = std::make_unique<RemoteLoader>();
       BackendMakers().launch("remote");
       // then get us a instance of it
       ::arg().set("remote-connection-string") = 
"http:url=http://localhost:62434/dns";;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/remotebackend/test-remotebackend-json.cc 
new/pdns-4.9.1/modules/remotebackend/test-remotebackend-json.cc
--- old/pdns-4.9.0/modules/remotebackend/test-remotebackend-json.cc     
2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/remotebackend/test-remotebackend-json.cc     
2024-05-28 09:44:43.000000000 +0200
@@ -73,7 +73,7 @@
     try {
       // setup minimum arguments
       ::arg().set("module-dir") = "./.libs";
-      new RemoteLoader();
+      auto loader = std::make_unique<RemoteLoader>();
       BackendMakers().launch("remote");
       // then get us a instance of it
       ::arg().set("remote-connection-string") = 
"http:url=http://localhost:62434/dns/endpoint.json,post=1,post_json=1";;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/remotebackend/test-remotebackend-pipe.cc 
new/pdns-4.9.1/modules/remotebackend/test-remotebackend-pipe.cc
--- old/pdns-4.9.0/modules/remotebackend/test-remotebackend-pipe.cc     
2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/remotebackend/test-remotebackend-pipe.cc     
2024-05-28 09:44:43.000000000 +0200
@@ -73,7 +73,7 @@
     try {
       // setup minimum arguments
       ::arg().set("module-dir") = "./.libs";
-      new RemoteLoader();
+      auto loader = std::make_unique<RemoteLoader>();
       BackendMakers().launch("remote");
       // then get us a instance of it
       ::arg().set("remote-connection-string") = 
"pipe:command=unittest_pipe.rb";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/remotebackend/test-remotebackend-post.cc 
new/pdns-4.9.1/modules/remotebackend/test-remotebackend-post.cc
--- old/pdns-4.9.0/modules/remotebackend/test-remotebackend-post.cc     
2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/remotebackend/test-remotebackend-post.cc     
2024-05-28 09:44:43.000000000 +0200
@@ -73,7 +73,7 @@
     try {
       // setup minimum arguments
       ::arg().set("module-dir") = "./.libs";
-      new RemoteLoader();
+      auto loader = std::make_unique<RemoteLoader>();
       BackendMakers().launch("remote");
       // then get us a instance of it
       ::arg().set("remote-connection-string") = 
"http:url=http://localhost:62434/dns,post=1";;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/remotebackend/test-remotebackend-unix.cc 
new/pdns-4.9.1/modules/remotebackend/test-remotebackend-unix.cc
--- old/pdns-4.9.0/modules/remotebackend/test-remotebackend-unix.cc     
2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/remotebackend/test-remotebackend-unix.cc     
2024-05-28 09:44:43.000000000 +0200
@@ -73,7 +73,7 @@
     try {
       // setup minimum arguments
       ::arg().set("module-dir") = "./.libs";
-      new RemoteLoader();
+      auto loader = std::make_unique<RemoteLoader>();
       BackendMakers().launch("remote");
       // then get us a instance of it
       ::arg().set("remote-connection-string") = 
"unix:path=/tmp/remotebackend.sock";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/remotebackend/test-remotebackend-zeromq.cc 
new/pdns-4.9.1/modules/remotebackend/test-remotebackend-zeromq.cc
--- old/pdns-4.9.0/modules/remotebackend/test-remotebackend-zeromq.cc   
2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/remotebackend/test-remotebackend-zeromq.cc   
2024-05-28 09:44:43.000000000 +0200
@@ -75,7 +75,7 @@
     try {
       // setup minimum arguments
       ::arg().set("module-dir") = "./.libs";
-      new RemoteLoader();
+      auto loader = std::make_unique<RemoteLoader>();
       BackendMakers().launch("remote");
       // then get us a instance of it
       ::arg().set("remote-connection-string") = 
"zeromq:endpoint=ipc:///tmp/remotebackend.0";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/modules/tinydnsbackend/tinydnsbackend.cc 
new/pdns-4.9.1/modules/tinydnsbackend/tinydnsbackend.cc
--- old/pdns-4.9.0/modules/tinydnsbackend/tinydnsbackend.cc     2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/modules/tinydnsbackend/tinydnsbackend.cc     2024-05-28 
09:44:43.000000000 +0200
@@ -393,7 +393,7 @@
 public:
   TinyDNSLoader()
   {
-    BackendMakers().report(new TinyDNSFactory);
+    BackendMakers().report(std::make_unique<TinyDNSFactory>());
     g_log << Logger::Info << "[tinydnsbackend] This is the tinydns backend 
version " VERSION
 #ifndef REPRODUCIBLE
           << " (" __DATE__ " " __TIME__ ")"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/auth-main.cc new/pdns-4.9.1/pdns/auth-main.cc
--- old/pdns-4.9.0/pdns/auth-main.cc    2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/auth-main.cc    2024-05-28 09:44:43.000000000 +0200
@@ -307,6 +307,7 @@
   ::arg().setSwitch("8bit-dns", "Allow 8bit dns queries") = "no";
 #ifdef HAVE_LUA_RECORDS
   ::arg().setSwitch("enable-lua-records", "Process LUA records for all zones 
(metadata overrides this)") = "no";
+  ::arg().setSwitch("lua-records-insert-whitespace", "Insert whitespace when 
combining LUA chunks") = "yes";
   ::arg().set("lua-records-exec-limit", "LUA records scripts execution limit 
(instructions count). Values <= 0 mean no limit") = "1000";
   ::arg().set("lua-health-checks-expire-delay", "Stops doing health checks 
after the record hasn't been used for that delay (in seconds)") = "3600";
   ::arg().set("lua-health-checks-interval", "LUA records health checks 
monitoring interval in seconds") = "5";
@@ -702,6 +703,7 @@
   g_doLuaRecord = ::arg().mustDo("enable-lua-records");
   g_LuaRecordSharedState = (::arg()["enable-lua-records"] == "shared");
   g_luaRecordExecLimit = ::arg().asNum("lua-records-exec-limit");
+  g_luaRecordInsertWhitespace = 
::arg().mustDo("lua-records-insert-whitespace");
   g_luaHealthChecksInterval = ::arg().asNum("lua-health-checks-interval");
   g_luaConsistentHashesExpireDelay = 
::arg().asNum("lua-consistent-hashes-expire-delay");
   g_luaConsistentHashesCleanupInterval = 
::arg().asNum("lua-consistent-hashes-cleanup-interval");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/auth-main.hh new/pdns-4.9.1/pdns/auth-main.hh
--- old/pdns-4.9.0/pdns/auth-main.hh    2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/auth-main.hh    2024-05-28 09:44:43.000000000 +0200
@@ -50,6 +50,7 @@
 #ifdef HAVE_LUA_RECORDS
 extern bool g_doLuaRecord;
 extern bool g_LuaRecordSharedState;
+extern bool g_luaRecordInsertWhitespace;
 extern time_t g_luaHealthChecksInterval;
 extern time_t g_luaHealthChecksExpireDelay;
 extern time_t g_luaConsistentHashesExpireDelay;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/auth-primarycommunicator.cc 
new/pdns-4.9.1/pdns/auth-primarycommunicator.cc
--- old/pdns-4.9.0/pdns/auth-primarycommunicator.cc     2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/auth-primarycommunicator.cc     2024-05-28 
09:44:43.000000000 +0200
@@ -157,16 +157,21 @@
           continue;
         }
 
-        B->setDomainMetadata(di.zone, "CATALOG-HASH", mapHash);
-
-        g_log << Logger::Warning << "new CATALOG-HASH '" << mapHash << "' for 
zone '" << di.zone << "'" << endl;
-
         SOAData sd;
-        if (!B->getSOAUncached(di.zone, sd)) {
-          g_log << Logger::Warning << "SOA lookup failed for producer zone '" 
<< di.zone << "'" << endl;
+        try {
+          if (!B->getSOAUncached(di.zone, sd)) {
+            g_log << Logger::Warning << "SOA lookup failed for producer zone 
'" << di.zone << "'" << endl;
+            continue;
+          }
+        }
+        catch (...) {
           continue;
         }
 
+        g_log << Logger::Warning << "new CATALOG-HASH '" << mapHash << "' for 
zone '" << di.zone << "'" << endl;
+
+        B->setDomainMetadata(di.zone, "CATALOG-HASH", mapHash);
+
         DNSResourceRecord rr;
         makeIncreasedSOARecord(sd, "EPOCH", "", rr);
         di.backend->startTransaction(sd.qname, -1);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/backends/gsql/gsqlbackend.cc 
new/pdns-4.9.1/pdns/backends/gsql/gsqlbackend.cc
--- old/pdns-4.9.0/pdns/backends/gsql/gsqlbackend.cc    2024-03-15 
10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/backends/gsql/gsqlbackend.cc    2024-05-28 
09:44:43.000000000 +0200
@@ -463,7 +463,7 @@
         continue;
       }
       catch (...) {
-        g_log << Logger::Warning << __PRETTY_FUNCTION__ << " error while 
parsing SOA data for zone '" << di.zone << endl;
+        g_log << Logger::Warning << __PRETTY_FUNCTION__ << " error while 
parsing SOA data for zone '" << di.zone << "'" << endl;
         continue;
       }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/bindparser.cc new/pdns-4.9.1/pdns/bindparser.cc
--- old/pdns-4.9.0/pdns/bindparser.cc   2024-03-15 10:19:04.000000000 +0100
+++ new/pdns-4.9.1/pdns/bindparser.cc   2024-05-28 09:45:15.000000000 +0200
@@ -87,7 +87,7 @@
 
 #define YYSTYPE char *
 
-extern "C" 
+extern "C"
 {
        int yyparse(void);
        int yylex(void);
@@ -105,7 +105,7 @@
 extern int linenumber;
 static void yyerror(const char *str)
 {
-  extern char *current_filename;       
+  extern char *current_filename;
   throw PDNSException("Error in bind configuration 
'"+string(current_filename)+"' on line "+std::to_string(linenumber)+": "+str);
 }
 
@@ -114,7 +114,7 @@
 BindDomainInfo s_di;
 
 void BindParser::parse(const string &fname)
-{      
+{
        yydebug=0;
        yyin=fopen(fname.c_str(),"r");
        yyrestart(yyin);
@@ -717,11 +717,11 @@
 static const yytype_int16 yyrline[] =
 {
        0,   115,   115,   117,   120,   120,   120,   120,   123,   125,
-     129,   133,   141,   152,   154,   159,   159,   162,   165,   167,
-     171,   174,   176,   179,   179,   182,   182,   185,   192,   195,
-     197,   200,   206,   208,   211,   211,   211,   214,   218,   221,
-     223,   229,   229,   229,   233,   233,   233,   236,   239,   242,
-     244,   247,   254,   256,   259,   267,   276,   285,   291
+     129,   133,   141,   152,   154,   159,   163,   166,   169,   171,
+     175,   181,   183,   186,   186,   189,   189,   192,   199,   202,
+     204,   207,   213,   215,   218,   222,   222,   228,   232,   235,
+     237,   243,   243,   243,   247,   247,   247,   250,   253,   256,
+     258,   261,   268,   270,   273,   281,   289,   298,   304
 };
 #endif
 
@@ -1366,71 +1366,110 @@
 #line 1367 "bindparser.cc"
     break;
 
+  case 15: /* acl_command: ACLTOK quotedname acl_block  */
+#line 160 "bindparser.yy"
+        {
+               free(yyvsp[-1]);
+       }
+#line 1375 "bindparser.cc"
+    break;
+
+  case 20: /* acl: AWORD  */
+#line 176 "bindparser.yy"
+        {
+               free(yyvsp[0]);
+       }
+#line 1383 "bindparser.cc"
+    break;
+
   case 27: /* options_directory_command: DIRECTORYTOK quotedname  */
-#line 186 "bindparser.yy"
+#line 193 "bindparser.yy"
         {
                parent->setDirectory(yyvsp[0]);
                free(yyvsp[0]);
        }
-#line 1376 "bindparser.cc"
+#line 1392 "bindparser.cc"
     break;
 
   case 31: /* also_notify: AWORD  */
-#line 201 "bindparser.yy"
+#line 208 "bindparser.yy"
         {
                parent->addAlsoNotify(yyvsp[0]);
                free(yyvsp[0]);
        }
-#line 1385 "bindparser.cc"
+#line 1401 "bindparser.cc"
+    break;
+
+  case 34: /* term: AWORD  */
+#line 219 "bindparser.yy"
+        {
+               free(yyvsp[0]);
+       }
+#line 1409 "bindparser.cc"
+    break;
+
+  case 36: /* term: quotedname  */
+#line 223 "bindparser.yy"
+        {
+               free(yyvsp[0]);
+       }
+#line 1417 "bindparser.cc"
     break;
 
   case 51: /* zone_also_notify: AWORD  */
-#line 248 "bindparser.yy"
+#line 262 "bindparser.yy"
         {
                 s_di.alsoNotify.insert(yyvsp[0]);
                 free(yyvsp[0]);
         }
-#line 1394 "bindparser.cc"
+#line 1426 "bindparser.cc"
     break;
 
   case 54: /* primary: AWORD  */
-#line 260 "bindparser.yy"
+#line 274 "bindparser.yy"
         {
                s_di.primaries.push_back(ComboAddress(yyvsp[0], 53));
                free(yyvsp[0]);
        }
-#line 1403 "bindparser.cc"
+#line 1435 "bindparser.cc"
     break;
 
   case 55: /* zone_file_command: FILETOK quotedname  */
-#line 268 "bindparser.yy"
+#line 282 "bindparser.yy"
         {
-         //            printf("Found a filename: '%s'\n",$2);
                s_di.filename=yyvsp[0];
                free(yyvsp[0]);
        }
-#line 1413 "bindparser.cc"
+#line 1444 "bindparser.cc"
     break;
 
   case 56: /* zone_type_command: TYPETOK AWORD  */
-#line 277 "bindparser.yy"
+#line 290 "bindparser.yy"
         {
                s_di.type=yyvsp[0];
                free(yyvsp[0]);
        }
-#line 1422 "bindparser.cc"
+#line 1453 "bindparser.cc"
     break;
 
   case 57: /* quotedname: QUOTEDWORD  */
-#line 286 "bindparser.yy"
+#line 299 "bindparser.yy"
         {
                yyval=yyvsp[0];
        }
-#line 1430 "bindparser.cc"
+#line 1461 "bindparser.cc"
+    break;
+
+  case 58: /* filename: AWORD  */
+#line 305 "bindparser.yy"
+        {
+               free(yyvsp[0]);
+       }
+#line 1469 "bindparser.cc"
     break;
 
 
-#line 1434 "bindparser.cc"
+#line 1473 "bindparser.cc"
 
       default: break;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/bindparser.yy new/pdns-4.9.1/pdns/bindparser.yy
--- old/pdns-4.9.0/pdns/bindparser.yy   2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/bindparser.yy   2024-05-28 09:44:43.000000000 +0200
@@ -17,7 +17,7 @@
 
 #define YYSTYPE char *
 
-extern "C" 
+extern "C"
 {
        int yyparse(void);
        int yylex(void);
@@ -35,7 +35,7 @@
 extern int linenumber;
 static void yyerror(const char *str)
 {
-  extern char *current_filename;       
+  extern char *current_filename;
   throw PDNSException("Error in bind configuration 
'"+string(current_filename)+"' on line "+std::to_string(linenumber)+": "+str);
 }
 
@@ -44,7 +44,7 @@
 BindDomainInfo s_di;
 
 void BindParser::parse(const string &fname)
-{      
+{
        yydebug=0;
        yyin=fopen(fname.c_str(),"r");
        yyrestart(yyin);
@@ -113,7 +113,7 @@
 %%
 
 root_commands:
-       |        
+       |
        root_commands root_command SEMICOLON
        ;
 
@@ -126,7 +126,7 @@
        ;
 
 command:
-       terms 
+       terms
        ;
 
 global_zone_command:
@@ -137,7 +137,7 @@
                parent->commit(s_di);
                s_di.clear();
        }
-       |       
+       |
        ZONETOK quotedname AWORD zone_block
        {
                s_di.name=DNSName($2);
@@ -156,19 +156,26 @@
 
 
 acl_command:
-       ACLTOK quotedname acl_block |   ACLTOK filename acl_block
+       ACLTOK quotedname acl_block
+       {
+               free($2);
+       }
+       |       ACLTOK filename acl_block
        ;
 
 acl_block: OBRACE acls EBRACE
        ;
-       
-acls: 
+
+acls:
        |
        acl SEMICOLON acls
        ;
 
 acl:
        AWORD
+       {
+               free($1);
+       }
        ;
 
 options_commands:
@@ -189,10 +196,10 @@
        }
        ;
 
-also_notify_command: ALSONOTIFYTOK OBRACE also_notify_list EBRACE 
+also_notify_command: ALSONOTIFYTOK OBRACE also_notify_list EBRACE
        ;
 
-also_notify_list: 
+also_notify_list:
        |
        also_notify SEMICOLON also_notify_list
        ;
@@ -208,10 +215,17 @@
        terms term
        ;
 
-term: AWORD | block | quotedname
+term: AWORD
+       {
+               free($1);
+       }
+       | block | quotedname
+       {
+               free($1);
+       }
        ;
-block: 
-       OBRACE commands EBRACE 
+block:
+       OBRACE commands EBRACE
        ;
 
 zone_block:
@@ -252,7 +266,7 @@
         ;
 
 primaries: /* empty */
-       | 
+       |
        primaries primary SEMICOLON
        ;
 
@@ -266,7 +280,6 @@
 zone_file_command:
        FILETOK quotedname
        {
-         //            printf("Found a filename: '%s'\n",$2);
                s_di.filename=$2;
                free($2);
        }
@@ -289,4 +302,7 @@
        ;
 
 filename: AWORD
+       {
+               free($1);
+       }
        ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/dnsbackend.cc new/pdns-4.9.1/pdns/dnsbackend.cc
--- old/pdns-4.9.0/pdns/dnsbackend.cc   2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/dnsbackend.cc   2024-05-28 09:44:43.000000000 +0200
@@ -85,18 +85,14 @@
   return bmc;
 }
 
-void BackendMakerClass::report(BackendFactory* backendFactory)
+void BackendMakerClass::report(std::unique_ptr<BackendFactory>&& 
backendFactory)
 {
-  d_repository[backendFactory->getName()] = backendFactory;
+  d_repository[backendFactory->getName()] = std::move(backendFactory);
 }
 
 void BackendMakerClass::clear()
 {
   d_instances.clear();
-  for (auto& repo : d_repository) {
-    delete repo.second;
-    repo.second = nullptr;
-  }
   d_repository.clear();
 }
 
@@ -199,7 +195,7 @@
   try {
     for (const auto& instance : d_instances) {
       current = instance.first + instance.second;
-      auto* repo = d_repository[instance.first];
+      const auto& repo = d_repository[instance.first];
       std::unique_ptr<DNSBackend> made{metadataOnly ? 
repo->makeMetadataOnly(instance.second) : repo->make(instance.second)};
       if (made == nullptr) {
         throw PDNSException("Unable to launch backend '" + instance.first + 
"'");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/dnsbackend.hh new/pdns-4.9.1/pdns/dnsbackend.hh
--- old/pdns-4.9.0/pdns/dnsbackend.hh   2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/dnsbackend.hh   2024-05-28 09:44:43.000000000 +0200
@@ -500,7 +500,7 @@
 class BackendMakerClass
 {
 public:
-  void report(BackendFactory* backendFactory);
+  void report(std::unique_ptr<BackendFactory>&& backendFactory);
   void launch(const string& instr);
   vector<std::unique_ptr<DNSBackend>> all(bool metadataOnly = false);
   static void load(const string& module);
@@ -510,7 +510,7 @@
 
 private:
   static void load_all();
-  using d_repository_t = map<string, BackendFactory*>;
+  using d_repository_t = map<string, std::unique_ptr<BackendFactory>>;
   d_repository_t d_repository;
   vector<pair<string, string>> d_instances;
 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/dnsproxy.cc new/pdns-4.9.1/pdns/dnsproxy.cc
--- old/pdns-4.9.0/pdns/dnsproxy.cc     2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/dnsproxy.cc     2024-05-28 09:44:43.000000000 +0200
@@ -240,10 +240,11 @@
       memcpy(&dHead, &buffer[0], sizeof(dHead));
       {
         auto conntrack = d_conntrack.lock();
-#if BYTE_ORDER == BIG_ENDIAN
-        // this is needed because spoof ID down below does not respect the 
native byteorder
-        d.id = (256 * (uint16_t)buffer[1]) + (uint16_t)buffer[0];
-#endif
+        if (BYTE_ORDER == BIG_ENDIAN) {
+          // this is needed because spoof ID down below does not respect the 
native byteorder
+          dHead.id = (256 * (uint16_t)buffer[1]) + (uint16_t)buffer[0];
+        }
+
         auto iter = conntrack->find(dHead.id ^ d_xor);
         if (iter == conntrack->end()) {
           g_log << Logger::Error << "Discarding untracked packet from recursor 
backend with id " << (dHead.id ^ d_xor) << ". Conntrack table size=" << 
conntrack->size() << endl;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/dnsrecords.cc new/pdns-4.9.1/pdns/dnsrecords.cc
--- old/pdns-4.9.0/pdns/dnsrecords.cc   2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/dnsrecords.cc   2024-05-28 09:44:43.000000000 +0200
@@ -167,15 +167,27 @@
                  );
 
 #ifdef HAVE_LUA_RECORDS
+
+bool g_luaRecordInsertWhitespace;
+
 string LUARecordContent::getCode() const
 {
   // in d_code, series of "part1" "part2"
   vector<string> parts;
   stringtok(parts, d_code, "\"");
   string ret;
-  for(const auto& p : parts) {
-    ret += p;
-    ret.append(1, ' ');
+  if (g_luaRecordInsertWhitespace) { // default before 5.0
+    for(const auto& part : parts) {
+      ret += part;
+      ret.append(1, ' ');
+    }
+  }
+  else { // default since 5.0
+    for(const auto& part : parts) {
+      if (part != " ") {
+        ret += part;
+      }
+    }
   }
   return ret;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/ixfrdist.cc new/pdns-4.9.1/pdns/ixfrdist.cc
--- old/pdns-4.9.0/pdns/ixfrdist.cc     2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/ixfrdist.cc     2024-05-28 09:44:43.000000000 +0200
@@ -1642,15 +1642,16 @@
     }
 
     if (config["gid"].IsDefined()) {
+      bool gidParsed = false;
       auto gid = config["gid"].as<string>();
       try {
         configuration.gid = pdns::checked_stoi<gid_t>(gid);
+        gidParsed = true;
       }
       catch (const std::exception& e) {
-        g_log<<Logger::Error<<"Can not parse gid "<<gid<<endl;
-        had_error = true;
+        configuration.gid = 0;
       }
-      if (configuration.gid != 0) {
+      if (!gidParsed) {
         //NOLINTNEXTLINE(concurrency-mt-unsafe): only one thread at this point
         const struct group *gr = getgrnam(gid.c_str());
         if (gr == nullptr) {
@@ -1691,15 +1692,16 @@
     }
 
     if (config["uid"].IsDefined()) {
+      bool uidParsed = false;
       auto uid = config["uid"].as<string>();
       try {
         configuration.uid = pdns::checked_stoi<uid_t>(uid);
+        uidParsed = true;
       }
       catch (const std::exception& e) {
-        g_log<<Logger::Error<<"Can not parse uid "<<uid<<endl;
-        had_error = true;
+        configuration.uid = 0;
       }
-      if (configuration.uid != 0) {
+      if (!uidParsed) {
         //NOLINTNEXTLINE(concurrency-mt-unsafe): only one thread at this point
         const struct passwd *pw = getpwnam(uid.c_str());
         if (pw == nullptr) {
@@ -1707,8 +1709,11 @@
           had_error = true;
         } else {
           configuration.uid = pw->pw_uid;
+          uidParsed = true;
         }
         //NOLINTNEXTLINE(concurrency-mt-unsafe): only one thread at this point
+      }
+      if (uidParsed) {
         configuration.userInfo = getpwuid(configuration.uid);
       }
     }
@@ -1794,11 +1799,6 @@
     }
 
     if (configuration->uid != 0) {
-      g_log<<Logger::Notice<<"Dropping effective user-id to 
"<<configuration->uid<<endl;
-      if (setuid(configuration->uid) < 0) {
-        g_log<<Logger::Error<<"Could not set user id to 
"<<configuration->uid<<": "<<stringerror()<<endl;
-        had_error = true;
-      }
       if (configuration->userInfo == nullptr) {
         if (setgroups(0, nullptr) < 0) {
           g_log<<Logger::Error<<"Unable to drop supplementary gids: 
"<<stringerror()<<endl;
@@ -1810,6 +1810,12 @@
           had_error = true;
         }
       }
+
+      g_log<<Logger::Notice<<"Dropping effective user-id to 
"<<configuration->uid<<endl;
+      if (setuid(configuration->uid) < 0) {
+        g_log<<Logger::Error<<"Could not set user id to 
"<<configuration->uid<<": "<<stringerror()<<endl;
+        had_error = true;
+      }
     }
 
     if (had_error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/named.conf.parsertest 
new/pdns-4.9.1/pdns/named.conf.parsertest
--- old/pdns-4.9.0/pdns/named.conf.parsertest   2024-03-15 10:18:33.000000000 
+0100
+++ new/pdns-4.9.1/pdns/named.conf.parsertest   2024-05-28 09:44:43.000000000 
+0200
@@ -1,6 +1,15 @@
 # this file is used by ../pdns/test-bindparser_cc.cc
 # if you change it, please make check!
 
+acl bogusnets {
+    0.0.0.0/8;  192.0.2.0/24; 224.0.0.0/3;
+    10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16;
+};
+
+acl "not-these-ips" {
+    !192.168.0/24;!10.0/16;any;
+};
+
 options {
        directory "./zones/";
        recursion no;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/pdnsutil.cc new/pdns-4.9.1/pdns/pdnsutil.cc
--- old/pdns-4.9.0/pdns/pdnsutil.cc     2024-03-15 10:18:33.000000000 +0100
+++ new/pdns-4.9.1/pdns/pdnsutil.cc     2024-05-28 09:44:43.000000000 +0200
@@ -1,3 +1,4 @@
+#include "dnsrecords.hh"
 #include <boost/smart_ptr/make_shared_array.hpp>
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -250,7 +251,7 @@
   return result;
 }
 
-static int checkZone(DNSSECKeeper &dk, UeberBackend &B, const DNSName& zone, 
const vector<DNSResourceRecord>* suppliedrecords=nullptr)
+static int checkZone(DNSSECKeeper &dk, UeberBackend &B, const DNSName& zone, 
const vector<DNSResourceRecord>* suppliedrecords=nullptr) // 
NOLINTNEXTLINE(readability-function-cognitive-complexity)
 {
   uint64_t numerrors=0, numwarnings=0;
 
@@ -377,6 +378,14 @@
     if(rr.qtype.getCode() == QType::A || rr.qtype.getCode() == QType::AAAA) {
       addresses.insert(rr.qname);
     }
+    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);
+      QType qtype = luarec->d_type;
+      if(qtype == QType::A || qtype == QType::AAAA) {
+        addresses.insert(rr.qname);
+      }
+    }
     if(rr.qtype.getCode() == QType::A) {
       arecords.insert(rr.qname);
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/pkcs11signers.cc new/pdns-4.9.1/pdns/pkcs11signers.cc
--- old/pdns-4.9.0/pdns/pkcs11signers.cc        2024-03-15 10:18:33.000000000 
+0100
+++ new/pdns-4.9.1/pdns/pkcs11signers.cc        2024-05-28 09:44:43.000000000 
+0200
@@ -1030,7 +1030,7 @@
     };
     ~LoaderStruct() {
 #ifdef HAVE_P11KIT1_V2
-      p11_kit_modules_release(p11_modules);
+      p11_kit_modules_finalize_and_release(p11_modules);
 #else
       p11_kit_finalize_registered();
 #endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/test-distributor_hh.cc 
new/pdns-4.9.1/pdns/test-distributor_hh.cc
--- old/pdns-4.9.0/pdns/test-distributor_hh.cc  2024-03-15 10:18:33.000000000 
+0100
+++ new/pdns-4.9.1/pdns/test-distributor_hh.cc  2024-05-28 09:44:43.000000000 
+0200
@@ -67,9 +67,17 @@
 {
   std::unique_ptr<DNSPacket> question(Question&)
   {
-    sleep(1);
+    if (d_shouldSleep) {
+      /* only sleep once per distributor thread, otherwise
+         we are sometimes destroyed before picking up the queued
+         queries, triggering a memory leak reported by Leak Sanitizer */
+      std::this_thread::sleep_for(std::chrono::seconds(1));
+      d_shouldSleep = false;
+    }
     return make_unique<DNSPacket>(true);
   }
+private:
+  bool d_shouldSleep{true};
 };
 
 static std::atomic<int> g_receivedAnswers1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/pdns-4.9.0/pdns/test-ueberbackend_cc.cc 
new/pdns-4.9.1/pdns/test-ueberbackend_cc.cc
--- old/pdns-4.9.0/pdns/test-ueberbackend_cc.cc 2024-03-15 10:18:33.000000000 
+0100
+++ new/pdns-4.9.1/pdns/test-ueberbackend_cc.cc 2024-05-28 09:44:43.000000000 
+0200
@@ -467,7 +467,7 @@
     
zoneA.d_records->insert(SimpleBackend::SimpleDNSRecord(DNSName("geo.powerdns.com."),
 QType::A, "192.168.0.42", 60));
     SimpleBackend::s_zones[1].insert(zoneA);
 
-    BackendMakers().report(new SimpleBackendFactory());
+    BackendMakers().report(std::make_unique<SimpleBackendFactory>());
     BackendMakers().launch("SimpleBackend:1");
     UeberBackend::go();
 
@@ -580,7 +580,7 @@
     
zoneB.d_records->insert(SimpleBackend::SimpleDNSRecord(DNSName("geo.powerdns.org."),
 QType::AAAA, "2001:db8::42", 60));
     SimpleBackend::s_zones[2].insert(zoneB);
 
-    BackendMakers().report(new SimpleBackendFactory());
+    BackendMakers().report(std::make_unique<SimpleBackendFactory>());
     BackendMakers().launch("SimpleBackend:1, SimpleBackend:2");
     UeberBackend::go();
 
@@ -725,7 +725,7 @@
     
zoneB.d_records->insert(SimpleBackend::SimpleDNSRecord(DNSName("geo.powerdns.com."),
 QType::A, "192.168.0.42", 60));
     SimpleBackend::s_zones[2].insert(zoneB);
 
-    BackendMakers().report(new SimpleBackendFactory());
+    BackendMakers().report(std::make_unique<SimpleBackendFactory>());
     BackendMakers().launch("SimpleBackend:1, SimpleBackend:2");
     UeberBackend::go();
 
@@ -852,7 +852,7 @@
     
zoneB.d_records->insert(SimpleBackend::SimpleDNSRecord(DNSName("geo.powerdns.com."),
 QType::A, "192.168.0.42", 60));
     SimpleBackend::s_zones[2].insert(zoneB);
 
-    BackendMakers().report(new SimpleBackendFactory());
+    BackendMakers().report(std::make_unique<SimpleBackendFactory>());
     BackendMakers().launch("SimpleBackend:1, SimpleBackend:2");
     UeberBackend::go();
 
@@ -976,7 +976,7 @@
     
zoneB.d_records->insert(SimpleBackend::SimpleDNSRecord(DNSName("ns1.powerdns.com."),
 QType::A, "192.0.2.1", 3600));
     SimpleBackend::s_zones[2].insert(zoneB);
 
-    BackendMakers().report(new SimpleBackendFactory());
+    BackendMakers().report(std::make_unique<SimpleBackendFactory>());
     BackendMakers().launch("SimpleBackend:1, SimpleBackend:2");
     UeberBackend::go();
 
@@ -1049,8 +1049,8 @@
     
zoneB.d_records->insert(SimpleBackend::SimpleDNSRecord(DNSName("0.1.0.0.2.ip6.arpa."),
 QType::SOA, "ns.apnic.net. read-txt-record-of-zone-first-dns-admin.apnic.net. 
3005126844 7200 1800 604800 3600", 3600));
     SimpleBackend::s_zones[2].insert(zoneB);
 
-    BackendMakers().report(new SimpleBackendFactory());
-    BackendMakers().report(new SimpleBackendBestAuthFactory());
+    BackendMakers().report(std::make_unique<SimpleBackendFactory>());
+    BackendMakers().report(std::make_unique<SimpleBackendBestAuthFactory>());
     BackendMakers().launch("SimpleBackendBestAuth:1, SimpleBackend:2");
     UeberBackend::go();
 
@@ -1112,7 +1112,7 @@
     SimpleBackend::s_zones[2].insert(zoneB);
     
SimpleBackend::s_metadata[2].insert(SimpleBackend::SimpleMetaData(DNSName("powerdns.org."),
 "test-data-b", { "value1", "value2"}));
 
-    BackendMakers().report(new SimpleBackendFactory());
+    BackendMakers().report(std::make_unique<SimpleBackendFactory>());
     BackendMakers().launch("SimpleBackend:1, SimpleBackend:2");
     UeberBackend::go();
 

Reply via email to