Hello community,

here is the log from the commit of package pdns for openSUSE:Factory checked in 
at 2018-02-19 13:01:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pdns (Old)
 and      /work/SRC/openSUSE:Factory/.pdns.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pdns"

Mon Feb 19 13:01:27 2018 rev:52 rq:577717 version:4.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/pdns/pdns.changes        2017-12-22 
12:19:09.073225604 +0100
+++ /work/SRC/openSUSE:Factory/.pdns.new/pdns.changes   2018-02-19 
13:02:05.127658872 +0100
@@ -1,0 +2,7 @@
+Fri Feb 16 17:55:03 UTC 2018 - mich...@stroeder.com
+
+- Update to version 4.1.1:
+  bug-fix only release, with fixes to the LDAP and MySQL backends,
+  the pdnsutil tool, and PDNS internals
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ pdns.spec ++++++
--- /var/tmp/diff_new_pack.1VSiVb/_old  2018-02-19 13:02:07.635568426 +0100
+++ /var/tmp/diff_new_pack.1VSiVb/_new  2018-02-19 13:02:07.639568282 +0100
@@ -17,11 +17,11 @@
 
 
 Name:           pdns
-Version:        4.1.0
+Version:        4.1.1
 Release:        0
 #
 %define pkg_name       pdns
-%define pkg_version 4.1.0
+%define pkg_version 4.1.1
 #
 %if 0%{?suse_version} > 1230 || 0%{?rhel_version} > 600 || 0%{?centos_version} 
> 600 || 0%{?fedora_version} >= 20 || 
0%{?el7}%{?fc20}%{?fc21}%{?fc22}%{?fc23}%{?fc24}%{?fc25}
 %bcond_without systemd

++++++ pdns-4.1.0.tar.bz2 -> pdns-4.1.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/.version new/pdns-4.1.1/.version
--- old/pdns-4.1.0/.version     2017-11-30 10:43:32.000000000 +0100
+++ new/pdns-4.1.1/.version     2018-02-16 10:52:42.000000000 +0100
@@ -1 +1 @@
-4.1.0
+4.1.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/configure new/pdns-4.1.1/configure
--- old/pdns-4.1.0/configure    2017-11-30 10:43:31.000000000 +0100
+++ new/pdns-4.1.1/configure    2018-02-16 10:52:42.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for pdns 4.1.0.
+# Generated by GNU Autoconf 2.69 for pdns 4.1.1.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='pdns'
 PACKAGE_TARNAME='pdns'
-PACKAGE_VERSION='4.1.0'
-PACKAGE_STRING='pdns 4.1.0'
+PACKAGE_VERSION='4.1.1'
+PACKAGE_STRING='pdns 4.1.1'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1538,7 +1538,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.1.0 to adapt to many kinds of systems.
+\`configure' configures pdns 4.1.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1608,7 +1608,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of pdns 4.1.0:";;
+     short | recursive ) echo "Configuration of pdns 4.1.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1842,7 +1842,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-pdns configure 4.1.0
+pdns configure 4.1.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2435,7 +2435,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.1.0, which was
+It was created by pdns $as_me 4.1.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3315,7 +3315,7 @@
 
 # Define the identity of the package.
  PACKAGE='pdns'
- VERSION='4.1.0'
+ VERSION='4.1.1'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -23543,7 +23543,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.1.0, which was
+This file was extended by pdns $as_me 4.1.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -23609,7 +23609,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-pdns config.status 4.1.0
+pdns config.status 4.1.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/calidns.1 
new/pdns-4.1.1/docs/calidns.1
--- old/pdns-4.1.0/docs/calidns.1       2017-11-30 10:44:23.000000000 +0100
+++ new/pdns-4.1.1/docs/calidns.1       2018-02-16 10:53:55.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "CALIDNS" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "CALIDNS" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 calidns \- 
 .
@@ -47,7 +47,7 @@
 .SH QUERY_FILE FORMAT
 .sp
 The format of the \fIQUERY_FILE\fP is very simple, it should contain
-“QNAME QTYPE” tuples, one per line. For example:
+"QNAME QTYPE" tuples, one per line. For example:
 .INDENT 0.0
 .INDENT 3.5
 .sp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/dnsbulktest.1 
new/pdns-4.1.1/docs/dnsbulktest.1
--- old/pdns-4.1.0/docs/dnsbulktest.1   2017-11-30 10:44:35.000000000 +0100
+++ new/pdns-4.1.1/docs/dnsbulktest.1   2018-02-16 10:54:13.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "DNSBULKTEST" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "DNSBULKTEST" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 dnsbulktest \- 
 .
@@ -34,7 +34,7 @@
 \fBdnsbulktest\fP \- A debugging tool for intermittent resolver failures
 .SH SYNOPSIS
 .sp
-\fBdnsbulktest\fP [\fIOPTION\fP]… \fIIPADDRESS\fP \fIPORT\fP [\fILIMIT\fP]
+\fBdnsbulktest\fP [\fIOPTION\fP]... \fIIPADDRESS\fP \fIPORT\fP [\fILIMIT\fP]
 .SH DESCRIPTION
 .sp
 \fBdnsbulktest\fP sends a large amount of different queries (for up to
@@ -48,7 +48,7 @@
 Show a summary of options.
 .TP
 .B \-\-quiet\fP,\fB  \-q
-Don’t show information on individual queries.
+Don\(aqt show information on individual queries.
 .TP
 .BI \-\-type\fP,\fB  \-t \ <TYPE>
 Query the nameserver for \fITYPE\fP, A by default.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/dnsgram.1 
new/pdns-4.1.1/docs/dnsgram.1
--- old/pdns-4.1.0/docs/dnsgram.1       2017-11-30 10:44:23.000000000 +0100
+++ new/pdns-4.1.1/docs/dnsgram.1       2018-02-16 10:53:57.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "DNSGRAM" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "DNSGRAM" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 dnsgram \- 
 .
@@ -34,7 +34,7 @@
 \fBdnsgram\fP \- A debugging tool for intermittent resolver failures
 .SH SYNOPSIS
 .sp
-\fBdnsgram\fP \fIINFILE\fP…
+\fBdnsgram\fP \fIINFILE\fP\&...
 .SH DESCRIPTION
 .sp
 \fBdnsgram\fP takes one or more \fIINFILE\fPs in PCAP format and generates
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/dnspcap2protobuf.1 
new/pdns-4.1.1/docs/dnspcap2protobuf.1
--- old/pdns-4.1.0/docs/dnspcap2protobuf.1      2017-11-30 10:44:37.000000000 
+0100
+++ new/pdns-4.1.1/docs/dnspcap2protobuf.1      2018-02-16 10:54:16.000000000 
+0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "DNSPCAP2PROTOBUF" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "DNSPCAP2PROTOBUF" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 dnspcap2protobuf \- 
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/dnsreplay.1 
new/pdns-4.1.1/docs/dnsreplay.1
--- old/pdns-4.1.0/docs/dnsreplay.1     2017-11-30 10:44:24.000000000 +0100
+++ new/pdns-4.1.1/docs/dnsreplay.1     2018-02-16 10:53:58.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "DNSREPLAY" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "DNSREPLAY" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 dnsreplay \- 
 .
@@ -34,7 +34,7 @@
 \fBdnsreplay\fP \- A PowerDNS nameserver debugging tool
 .SH SYNOPSIS
 .sp
-\fBdnsreplay\fP [\fIOPTION\fP]… \fIFILENAME\fP \fIADDRESS\fP [\fIPORT\fP]
+\fBdnsreplay\fP [\fIOPTION\fP]... \fIFILENAME\fP \fIADDRESS\fP [\fIPORT\fP]
 .SH DESCRIPTION
 .sp
 This program takes recorded questions and answers and replays them to
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/dnsscan.1 
new/pdns-4.1.1/docs/dnsscan.1
--- old/pdns-4.1.0/docs/dnsscan.1       2017-11-30 10:44:25.000000000 +0100
+++ new/pdns-4.1.1/docs/dnsscan.1       2018-02-16 10:53:59.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "DNSSCAN" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "DNSSCAN" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 dnsscan \- 
 .
@@ -34,7 +34,7 @@
 \fBdnsscan\fP \- List the amount of queries per qtype in a pcap
 .SH SYNOPSIS
 .sp
-\fBdnsscan\fP \fIINFILE\fP…
+\fBdnsscan\fP \fIINFILE\fP\&...
 .SH DESCRIPTION
 .sp
 \fBdnsscan\fP takes one or more \fIINFILE\fPs in PCAP format and generates a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/dnsscope.1 
new/pdns-4.1.1/docs/dnsscope.1
--- old/pdns-4.1.0/docs/dnsscope.1      2017-11-30 10:44:26.000000000 +0100
+++ new/pdns-4.1.1/docs/dnsscope.1      2018-02-16 10:54:01.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "DNSSCOPE" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "DNSSCOPE" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 dnsscope \- 
 .
@@ -34,7 +34,7 @@
 \fBdnsscope\fP \- A PowerDNS nameserver debugging tool
 .SH SYNOPSIS
 .sp
-\fBdnsscope\fP [\fIOPTION\fP]… \fIINFILE\fP
+\fBdnsscope\fP [\fIOPTION\fP]... \fIINFILE\fP
 .SH DESCRIPTION
 .sp
 \fBdnsscope\fP takes an \fIINFILE\fP in PCAP format. It generates some simple
@@ -55,10 +55,10 @@
 flag set. By default, we process all DNS packets in \fIINFILE\fP\&.
 .TP
 .BI \-\-ipv4\fB= <state>
-Process IPv4 packets. On by default, disable with \fB–ipv4 false\fP\&.
+Process IPv4 packets. On by default, disable with \fB\-\-ipv4 false\fP\&.
 .TP
 .BI \-\-ipv6\fB= <state>
-Process IPv6 packets. On by default, disable with \fB–ipv6 false\fP\&.
+Process IPv6 packets. On by default, disable with \fB\-\-ipv6 false\fP\&.
 .TP
 .B \-\-servfail\-tree
 Figure out subtrees that generate servfails.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/dnstcpbench.1 
new/pdns-4.1.1/docs/dnstcpbench.1
--- old/pdns-4.1.0/docs/dnstcpbench.1   2017-11-30 10:44:36.000000000 +0100
+++ new/pdns-4.1.1/docs/dnstcpbench.1   2018-02-16 10:54:14.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "DNSTCPBENCH" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "DNSTCPBENCH" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 dnstcpbench \- 
 .
@@ -34,7 +34,7 @@
 \fBdnstcpbench\fP \- tool to perform TCP benchmarking of nameservers
 .SH SYNOPSIS
 .sp
-\fBdnstcpbench\fP [\fIOPTION\fP]… \fIREMOTE\-ADDRESS\fP [\fIREMOTE\-PORT\fP]
+\fBdnstcpbench\fP [\fIOPTION\fP]... \fIREMOTE\-ADDRESS\fP [\fIREMOTE\-PORT\fP]
 .SH DESCRIPTION
 .sp
 \fBdnstcpbench\fP reads DNS queries (by default from standard input) and
@@ -44,7 +44,7 @@
 .sp
 The program reports both mean and median numbers for queries per second
 and UDP and TCP latency. Each query only counts once, even if it is
-tried over UDP first. This effectively means that passing ‘\-u’ can lower
+tried over UDP first. This effectively means that passing \(aq\-u\(aq can lower
 query rates if many queries get shunted to TCP.
 .sp
 The input format is one query per line: qname single\-space qtype. An
@@ -77,12 +77,12 @@
 The equivalent for IPv6 is not known.
 .SH OPTIONS
 .sp
-\-f, <FILENAME>, –file <FILENAME>       \fIFILENAME\fP from which to read 
queries. Defaults to standard input if unspecified.
-\-h, –help                              Provide a helpful message.
-–timeout\-msec <MSEC>                   \fIMSEC\fP milliseconds to wait for an 
answer.
-\-u, –udp\-first                         Attempt resolution via UDP first, 
only do TCP if truncated answer is received.
-\-v, –verbose                           Be wordy on what the program is doing.
-–workers <NUM>                         Use \fINUM\fP parallel worker threads.
+\-f, <FILENAME>, \-\-file <FILENAME>       \fIFILENAME\fP from which to read 
queries. Defaults to standard input if unspecified.
+\-h, \-\-help                              Provide a helpful message.
+\-\-timeout\-msec <MSEC>                   \fIMSEC\fP milliseconds to wait for 
an answer.
+\-u, \-\-udp\-first                         Attempt resolution via UDP first, 
only do TCP if truncated answer is received.
+\-v, \-\-verbose                           Be wordy on what the program is 
doing.
+\-\-workers <NUM>                         Use \fINUM\fP parallel worker 
threads.
 .sp
 \fIREMOTE\-ADDRESS\fP: IPv4 or IPv6 to test against.
 .sp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/dnswasher.1 
new/pdns-4.1.1/docs/dnswasher.1
--- old/pdns-4.1.0/docs/dnswasher.1     2017-11-30 10:44:27.000000000 +0100
+++ new/pdns-4.1.1/docs/dnswasher.1     2018-02-16 10:54:02.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "DNSWASHER" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "DNSWASHER" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 dnswasher \- 
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/dumresp.1 
new/pdns-4.1.1/docs/dumresp.1
--- old/pdns-4.1.0/docs/dumresp.1       2017-11-30 10:44:28.000000000 +0100
+++ new/pdns-4.1.1/docs/dumresp.1       2018-02-16 10:54:04.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "DUMRESP" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "DUMRESP" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 dumresp \- 
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/ixplore.1 
new/pdns-4.1.1/docs/ixplore.1
--- old/pdns-4.1.0/docs/ixplore.1       2017-11-30 10:44:29.000000000 +0100
+++ new/pdns-4.1.1/docs/ixplore.1       2018-02-16 10:54:05.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "IXPLORE" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "IXPLORE" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 ixplore \- 
 .
@@ -34,7 +34,7 @@
 \fBixplore\fP \- A tool that provides insights into IXFRs
 .SH SYNOPSIS
 .sp
-\fBixplore\fP \fICOMMAND\fP \fICOMMAND_OPT\fP…
+\fBixplore\fP \fICOMMAND\fP \fICOMMAND_OPT\fP\&...
 .sp
 \fBixplore\fP diff \fIZONE\fP \fIBEFORE\fP \fIAFTER\fP
 .sp
@@ -44,10 +44,10 @@
 \fBixplore\fP is a tool to work with IXFR (incremental zonetransfers) in
 two modes (specified by \fICOMMAND\fP): diff or track.
 .sp
-In the ‘diff’ mode, it will show a diff(1)\-like output between \fIBEFORE\fP
+In the \(aqdiff\(aq mode, it will show a diff(1)\-like output between 
\fIBEFORE\fP
 and \fIAFTER\fP\&.
 .sp
-In the ‘track’ mode, \fBixplore\fP consumes IXFRs from \fIIP ADDRESS\fP and
+In the \(aqtrack\(aq mode, \fBixplore\fP consumes IXFRs from \fIIP ADDRESS\fP 
and
 writes the resulting zonefiles out to \fIDIRECTORY\fP/\fIZONE\fP\-serial. If no
 initial zonefiles exist, an initial AXFR will be done first. \fBixplore\fP
 will then check the SOA serial on \fIIP ADDRESS\fP for \fIZONE\fP every SOA
@@ -60,10 +60,10 @@
 The name of the zone the IXFRs are consumed from.
 .TP
 .B BEFORE
-Path to the ‘before’ zonefile.
+Path to the \(aqbefore\(aq zonefile.
 .TP
 .B AFYER
-Path to the ‘after’ zonefile.
+Path to the \(aqafter\(aq zonefile.
 .UNINDENT
 .SH TRACK-MODE
 .INDENT 0.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/nproxy.1 new/pdns-4.1.1/docs/nproxy.1
--- old/pdns-4.1.0/docs/nproxy.1        2017-11-30 10:44:30.000000000 +0100
+++ new/pdns-4.1.1/docs/nproxy.1        2018-02-16 10:54:07.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "NPROXY" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "NPROXY" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 nproxy \- 
 .
@@ -34,24 +34,24 @@
 \fBnproxy\fP \- DNS notification proxy
 .SH SYNOPSIS
 .sp
-nproxy –powerdns\-address \fIADDRESS\fP [\fIOPTION\fP]… \fIADDRESS\fP…
+nproxy \-\-powerdns\-address \fIADDRESS\fP [\fIOPTION\fP]... \fIADDRESS\fP\&...
 .SH DESCRIPTION
 .sp
 \fBnproxy\fP is a simple daemon that reads DNS NOTIFY queries on one
-address and forwards them to an ‘inner’ nameserver that will process the
+address and forwards them to an \(aqinner\(aq nameserver that will process the
 notification.
 .sp
 Its usecase is e.g. a private authoritative server inside a NAT or
 firewalled LAN where \fBnproxy\fP is deployed in the DMZ.
 .sp
 The PowerDNS Authoritative Server has the trusted\-notification\-proxy
-option that should be set to the address set with \fI–origin\-address\fP to
+option that should be set to the address set with \fI\-\-origin\-address\fP to
 accept these proxied notifications.
 .sp
 \fBnproxy\fP also has a health\-check option built in. A query for
-‘pdns.nproxy.’ with QType ‘TXT’ will be responded to with an answer of
-“OK” (inside the TXT record. When the query is for an A\-record,
-‘1.2.3.4.’ is returned.
+\(aqpdns.nproxy.\(aq with QType \(aqTXT\(aq will be responded to with an 
answer of
+"OK" (inside the TXT record. When the query is for an A\-record,
+\(aq1.2.3.4.\(aq is returned.
 .SH OPTIONS
 .INDENT 0.0
 .TP
@@ -68,7 +68,7 @@
 setgid to this numerical \fIGID\fP\&.
 .TP
 .BI \-\-origin\-address \ <ADDRESS>
-Set the source of the notifications sent to PowerDNS to \fIADDRESS\fP\&. By 
default, the best matching address (kernel’s choice) is used.
+Set the source of the notifications sent to PowerDNS to \fIADDRESS\fP\&. By 
default, the best matching address (kernel\(aqs choice) is used.
 .TP
 .BI \-\-listen\-address \ <ADDRESS>
 IP addresses to listen on.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/nsec3dig.1 
new/pdns-4.1.1/docs/nsec3dig.1
--- old/pdns-4.1.0/docs/nsec3dig.1      2017-11-30 10:44:31.000000000 +0100
+++ new/pdns-4.1.1/docs/nsec3dig.1      2018-02-16 10:54:08.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "NSEC3DIG" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "NSEC3DIG" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 nsec3dig \- 
 .
@@ -39,7 +39,7 @@
 .sp
 \fBnsec3dig\fP sends a query for \fIQNAME\fP and \fIQTYPE\fP to the nameserver 
at
 \fIIPADDRESS\fP on port \fIPORT\fP and prints whether and why the NSEC3 proofs
-are correct. Using the ‘recurse’ option sets the Recursion Desired (RD)
+are correct. Using the \(aqrecurse\(aq option sets the Recursion Desired (RD)
 bit in the query.
 .SH EXAMPLE
 .sp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/pdns_control.1 
new/pdns-4.1.1/docs/pdns_control.1
--- old/pdns-4.1.0/docs/pdns_control.1  2017-11-30 10:44:18.000000000 +0100
+++ new/pdns-4.1.1/docs/pdns_control.1  2018-02-16 10:53:49.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "PDNS_CONTROL" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "PDNS_CONTROL" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 pdns_control \- 
 .
@@ -34,7 +34,7 @@
 \fBpdns_control\fP \- Control the PowerDNS nameserver
 .SH SYNOPSIS
 .sp
-\fBpdns_control\fP [\fIOPTION\fP]… \fICOMMAND\fP
+\fBpdns_control\fP [\fIOPTION\fP]... \fICOMMAND\fP
 .SH DESCRIPTION
 .sp
 \fBpdns_control\fP is used to send commands to a running PowerDNS
@@ -72,14 +72,14 @@
 When using the bindbackend, add a zone. This zone is added in\-memory
 and served immediately. Note that this does not add the zone to the
 bind\-config file. \fIFILENAME\fP must be an absolute path.
-.SS bind\-domain\-status [\fIDOMAIN\fP…]
+.SS bind\-domain\-status [\fIDOMAIN\fP\&...]
 .sp
 When using the bindbackend, list status of all domains. Optionally,
 append \fIDOMAIN\fPs to get the status of specific zones.
 .SS bind\-list\-rejects
 .sp
 When using the bindbackend, get a list of all rejected domains.
-.SS bind\-reload\-now \fIDOMAIN\fP [\fIDOMAIN\fP…]
+.SS bind\-reload\-now \fIDOMAIN\fP [\fIDOMAIN\fP\&...]
 .sp
 When using the bindbackend, immediately reload \fIDOMAIN\fP from disk.
 .SS ccounts
@@ -88,9 +88,9 @@
 .SS current\-config
 .sp
 Show the currently running configuration. The output has the same
-format as \fBpdns_server \-\-config\fP\&. You’ll notice that all the are
+format as \fBpdns_server \-\-config\fP\&. You\(aqll notice that all the are
 uncommented. This is because PowerDNS simply has values, and the
-default isn’t known at runtime.
+default isn\(aqt known at runtime.
 .SS cycle
 .sp
 Restart the nameserver so it reloads its configuration. Only works
@@ -116,7 +116,7 @@
 destination, to be used if you know better than PowerDNS.
 .SS ping, rping
 .sp
-Check if the server is still alive. Will return ‘PONG’ when it is.
+Check if the server is still alive. Will return \(aqPONG\(aq when it is.
 \fBping\fP works when running inside a guardian, whereas \fBrping\fP
 works when running without a guardian.
 .SS purge [\fIRECORD\fP]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/pdns_notify.1 
new/pdns-4.1.1/docs/pdns_notify.1
--- old/pdns-4.1.0/docs/pdns_notify.1   2017-11-30 10:44:32.000000000 +0100
+++ new/pdns-4.1.1/docs/pdns_notify.1   2018-02-16 10:54:09.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "PDNS_NOTIFY" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "PDNS_NOTIFY" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 pdns_notify \- 
 .
@@ -38,7 +38,7 @@
 .SH DESCRIPTION
 .sp
 \fBpdns_notify\fP sends a DNS NOTIFY message to \fIIP_ADDRESS\fP, by default
-on port 53, for \fIDOMAIN\fP and prints the remote nameserver’s response.
+on port 53, for \fIDOMAIN\fP and prints the remote nameserver\(aqs response.
 .SH OPTIONS
 .sp
 None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/pdns_server.1 
new/pdns-4.1.1/docs/pdns_server.1
--- old/pdns-4.1.0/docs/pdns_server.1   2017-11-30 10:44:17.000000000 +0100
+++ new/pdns-4.1.1/docs/pdns_server.1   2018-02-16 10:53:47.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "PDNS_SERVER" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "PDNS_SERVER" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 pdns_server \- 
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/pdnsutil.1 
new/pdns-4.1.1/docs/pdnsutil.1
--- old/pdns-4.1.0/docs/pdnsutil.1      2017-11-30 10:44:19.000000000 +0100
+++ new/pdns-4.1.1/docs/pdnsutil.1      2018-02-16 10:53:50.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "PDNSUTIL" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "PDNSUTIL" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 pdnsutil \- 
 .
@@ -34,7 +34,7 @@
 pdnsutil \- PowerDNS dnssec command and control
 .SH SYNOPSIS
 .sp
-pdnsutil [OPTION]… \fICOMMAND\fP
+pdnsutil [OPTION]... \fICOMMAND\fP
 .SH DESCRIPTION
 .sp
 \fBpdnsutil\fP (formerly pdnssec) is a powerful command that is the
@@ -128,7 +128,7 @@
 .B remove\-zone\-key \fIZONE\fP \fIKEY\-ID\fP
 Remove a key with id \fIKEY\-ID\fP from a zone called \fIZONE\fP\&.
 .TP
-set\-nsec3 \fIZONE\fP ‘\fIHASH\-ALGORITHM\fP \fIFLAGS\fP \fIITERATIONS\fP 
\fISALT\fP’ [\fBnarrow\fP]
+set\-nsec3 \fIZONE\fP \(aq\fIHASH\-ALGORITHM\fP \fIFLAGS\fP \fIITERATIONS\fP 
\fISALT\fP\(aq [\fBnarrow\fP]
 Sets NSEC3 parameters for this zone. The quoted parameters are 4
 values that are used for the the NSEC3PARAM record and decide how
 NSEC3 records are created. The NSEC3 parameters must be quoted on
@@ -138,10 +138,10 @@
 10.3. And be aware that a high number might overload validating
 resolvers. The \fISALT\fP is a hexadecimal string encoding the bits for
 the salt, or \- to use no salt. Setting \fBnarrow\fP will make PowerDNS
-send out “white lies” about the next secure record. Instead of
+send out "white lies" about the next secure record. Instead of
 looking it up in the database, it will send out the hash + 1 as the
-next secure record. A sample commandline is: “pdnsutil set\-nsec3
-powerdnssec.org ‘1 1 1 ab’ narrow”. \fBWARNING\fP: If running in
+next secure record. A sample commandline is: "pdnsutil set\-nsec3
+powerdnssec.org \(aq1 1 1 ab\(aq narrow". \fBWARNING\fP: If running in
 RSASHA1 mode (algorithm 5 or 7), switching from NSEC to NSEC3 will
 require a DS update in the parent zone.
 .TP
@@ -242,7 +242,7 @@
 from) in the editor set in the environment variable \fBEDITOR\fP\&. if
 \fBEDITOR\fP is empty, \fIpdnsutil\fP falls back to using \fIeditor\fP\&.
 .TP
-.B get\-meta \fIZONE\fP [\fIATTRIBUTE\fP]…
+.B get\-meta \fIZONE\fP [\fIATTRIBUTE\fP]...
 Get zone metadata. If no \fIATTRIBUTE\fP given, lists all known.
 .TP
 .B hash\-zone\-record \fIZONE\fP \fIRNAME\fP
@@ -261,28 +261,28 @@
 .TP
 .B load\-zone \fIZONE\fP \fIFILE\fP
 Load records for \fIZONE\fP from \fIFILE\fP\&. If \fIZONE\fP already exists, 
all
-records are overwritten, this operation is atomic. If \fIZONE\fP doesn’t
+records are overwritten, this operation is atomic. If \fIZONE\fP doesn\(aqt
 exist, it is created.
 .TP
 .B rectify\-zone \fIZONE\fP
-Calculates the ‘ordername’ and ‘auth’ fields for a zone called
+Calculates the \(aqordername\(aq and \(aqauth\(aq fields for a zone called
 \fIZONE\fP so they comply with DNSSEC settings. Can be used to fix up
 migrated data. Can always safely be run, it does no harm.
 .TP
 .B rectify\-all\-zones
-Calculates the ‘ordername’ and ‘auth’ fields for all zones so they
+Calculates the \(aqordername\(aq and \(aqauth\(aq fields for all zones so they
 comply with DNSSEC settings. Can be used to fix up migrated data.
 Can always safely be run, it does no harm.
 .TP
 .B secure\-zone \fIZONE\fP
 Configures a zone called \fIZONE\fP with reasonable DNSSEC settings. You
-should manually run ‘pdnsutil rectify\-zone’ afterwards.
+should manually run \(aqpdnsutil rectify\-zone\(aq afterwards.
 .TP
 secure\-all\-zones [\fBincrease\-serial\fP]
 Configures all zones that are not currently signed with reasonable
 DNSSEC settings. Setting \fBincrease\-serial\fP will increase the
-serial of those zones too. You should manually run ‘pdnsutil
-rectify\-all\-zones’ afterwards.
+serial of those zones too. You should manually run \(aqpdnsutil
+rectify\-all\-zones\(aq afterwards.
 .TP
 .B set\-kind \fIZONE\fP \fIKIND\fP
 Change the kind of \fIZONE\fP to \fIKIND\fP (master, slave, native).
@@ -290,12 +290,12 @@
 .B set\-account \fIZONE\fP \fIACCOUNT\fP
 Change the account (owner) of \fIZONE\fP to \fIACCOUNT\fP\&.
 .TP
-.B add\-meta \fIZONE\fP \fIATTRIBUTE\fP \fIVALUE\fP [\fIVALUE\fP]…
+.B add\-meta \fIZONE\fP \fIATTRIBUTE\fP \fIVALUE\fP [\fIVALUE\fP]...
 Append \fIVALUE\fP to the existing \fIATTRIBUTE\fP metadata for \fIZONE\fP\&.
 Will return an error if \fIATTRIBUTE\fP does not support multiple values, use
 \fBset\-meta\fP for these values.
 .TP
-.B set\-meta \fIZONE\fP \fIATTRIBUTE\fP [\fIVALUE\fP]…
+.B set\-meta \fIZONE\fP \fIATTRIBUTE\fP [\fIVALUE\fP]...
 Set domainmetadata \fIATTRIBUTE\fP for \fIZONE\fP to \fIVALUE\fP\&. An empty 
value
 clears it.
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/saxfr.1 new/pdns-4.1.1/docs/saxfr.1
--- old/pdns-4.1.0/docs/saxfr.1 2017-11-30 10:44:33.000000000 +0100
+++ new/pdns-4.1.1/docs/saxfr.1 2018-02-16 10:54:10.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "SAXFR" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "SAXFR" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 saxfr \- 
 .
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/sdig.1 new/pdns-4.1.1/docs/sdig.1
--- old/pdns-4.1.0/docs/sdig.1  2017-11-30 10:44:34.000000000 +0100
+++ new/pdns-4.1.1/docs/sdig.1  2018-02-16 10:54:12.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "SDIG" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "SDIG" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 sdig \- 
 .
@@ -46,7 +46,7 @@
 .INDENT 0.0
 .TP
 .B hidesoadetails
-Don’t show the SOA serial in the response.
+Don\(aqt show the SOA serial in the response.
 .TP
 .B recurse
 Set the RD bit in the question.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/zone2json.1 
new/pdns-4.1.1/docs/zone2json.1
--- old/pdns-4.1.0/docs/zone2json.1     2017-11-30 10:44:20.000000000 +0100
+++ new/pdns-4.1.1/docs/zone2json.1     2018-02-16 10:53:51.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "ZONE2JSON" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "ZONE2JSON" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 zone2json \- 
 .
@@ -34,7 +34,7 @@
 \fBzone2json\fP \- convert BIND zones to JSON
 .SH SYNOPSIS
 .sp
-\fBzone2json\fP {\fB–named\-conf=\fP\fIPATH\fP, \fB–zone\-file=\fP\fIPATH\fP 
[\fB–zone\-name=\fP\fINAME\fP]} [\fIOPTION\fP]
+\fBzone2json\fP {\fB\-\-named\-conf=\fP\fIPATH\fP, 
\fB\-\-zone\-file=\fP\fIPATH\fP [\fB\-\-zone\-name=\fP\fINAME\fP]} 
[\fIOPTION\fP]
 .SH DESCRIPTION
 .sp
 \fBzone2json\fP parses Bind named.conf files and zonefiles and outputs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/zone2ldap.1 
new/pdns-4.1.1/docs/zone2ldap.1
--- old/pdns-4.1.0/docs/zone2ldap.1     2017-11-30 10:44:21.000000000 +0100
+++ new/pdns-4.1.1/docs/zone2ldap.1     2018-02-16 10:53:52.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "ZONE2LDAP" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "ZONE2LDAP" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 zone2ldap \- 
 .
@@ -34,7 +34,7 @@
 \fBzone2ldap\fP \- convert zonefiles to ldif
 .SH SYNOPSIS
 .sp
-\fBzone2ldap\fP {\fB–named\-conf=\fP\fIPATH\fP,\fB–zone\-file=\fP\fIPATH\fP 
\fB–zone\-name=\fP\fINAME\fP} [\fIOPTION\fP]…
+\fBzone2ldap\fP 
{\fB\-\-named\-conf=\fP\fIPATH\fP,\fB\-\-zone\-file=\fP\fIPATH\fP 
\fB\-\-zone\-name=\fP\fINAME\fP} [\fIOPTION\fP]...
 .SH DESCRIPTION
 .sp
 \fBzone2ldap\fP is a program that converts bind zonefiles to ldif format
@@ -52,7 +52,7 @@
 Add dnsttl attribute to every entry
 .TP
 .BI \-\-layout\fB= <layout>
-How to arrange entries in the directory (“simple” or “tree”)
+How to arrange entries in the directory ("simple" or "tree")
 .TP
 .BI \-\-named\-conf\fB= <PATH>
 Path to a Bind named.conf to parse
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/docs/zone2sql.1 
new/pdns-4.1.1/docs/zone2sql.1
--- old/pdns-4.1.0/docs/zone2sql.1      2017-11-30 10:44:22.000000000 +0100
+++ new/pdns-4.1.1/docs/zone2sql.1      2018-02-16 10:53:53.000000000 +0100
@@ -1,6 +1,6 @@
 .\" Man page generated from reStructuredText.
 .
-.TH "ZONE2SQL" "1" "Nov 30, 2017" "4.1" "PowerDNS Recursor"
+.TH "ZONE2SQL" "1" "Feb 16, 2018" "4.1" "PowerDNS Recursor"
 .SH NAME
 zone2sql \- 
 .
@@ -34,7 +34,7 @@
 \fBzone2sql\fP \- convert BIND zones to SQL
 .SH SYNOPSIS
 .sp
-\fBzone2sql\fP {\fB–named\-conf=\fP\fIPATH\fP,\fB–zone\-file=\fP\fIPATH\fP 
[\fB–zone\-name=\fP\fINAME\fP]} [\fIOptions\fP]
+\fBzone2sql\fP 
{\fB\-\-named\-conf=\fP\fIPATH\fP,\fB\-\-zone\-file=\fP\fIPATH\fP 
[\fB\-\-zone\-name=\fP\fINAME\fP]} [\fIOptions\fP]
 .SH DESCRIPTION
 .sp
 \fBzone2sql\fP parses Bind named.conf files and zonefiles and outputs SQL
@@ -56,7 +56,7 @@
 Read \fIPATH\fP to get the bind configuration
 .TP
 .BI \-\-zone\fB= <PATH>
-Parse only the zone file at \fIPATH\fP Conflicts with \fB–named\-conf\fP 
parameter.
+Parse only the zone file at \fIPATH\fP Conflicts with \fB\-\-named\-conf\fP 
parameter.
 .TP
 .BI \-\-zone\-name\fB= <NAME>
 When parsing a single zone without $ORIGIN statement, set \fIZONE\fP as
@@ -92,7 +92,7 @@
 .INDENT 0.0
 .TP
 .B \-\-json\-comments
-Parse JSON in zonefile comments to set the ‘disabled’ and ‘comment’
+Parse JSON in zonefile comments to set the \(aqdisabled\(aq and \(aqcomment\(aq
 fields in the database. See \fIJSON COMMENTS\fP for more information.
 .TP
 .B \-\-transactions
@@ -103,8 +103,8 @@
 .INDENT 0.0
 .TP
 .B \-\-filter\-duplicate\-soa
-If there’s more than one SOA record in the zone (possibly because it
-was AXFR’d), ignore it. If this option is not set, all SOA records
+If there\(aqs more than one SOA record in the zone (possibly because it
+was AXFR\(aqd), ignore it. If this option is not set, all SOA records
 in the zone are emitted.
 .TP
 .B \-\-help
@@ -122,15 +122,15 @@
 .UNINDENT
 .SH JSON COMMENTS
 .sp
-The Generic SQL backends have the ‘comment’ and ‘disabled’ fields in the
-‘records’ table. The ‘comment’ field contains a comment for this record
-(if any) and the ‘disabled’ field tells PowerDNS if the record can be
+The Generic SQL backends have the \(aqcomment\(aq and \(aqdisabled\(aq fields 
in the
+\(aqrecords\(aq table. The \(aqcomment\(aq field contains a comment for this 
record
+(if any) and the \(aqdisabled\(aq field tells PowerDNS if the record can be
 served to clients.
 .sp
 When a zonefile contains a comment like
 \fB; json={"comment": "Something", "disabled": true}\fP and
-\fB–json\-comments\fP is provided, the ‘comment’ field will contain
-“Something” and the ‘disabled’ field will be set to the database’s
+\fB\-\-json\-comments\fP is provided, the \(aqcomment\(aq field will contain
+"Something" and the \(aqdisabled\(aq field will be set to the database\(aqs
 native true value.
 .sp
 WARNING: Using JSON comments to disable records means that the zone in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/modules/gmysqlbackend/smysql.cc 
new/pdns-4.1.1/modules/gmysqlbackend/smysql.cc
--- old/pdns-4.1.0/modules/gmysqlbackend/smysql.cc      2017-11-30 
10:43:22.000000000 +0100
+++ new/pdns-4.1.1/modules/gmysqlbackend/smysql.cc      2018-02-16 
10:52:29.000000000 +0100
@@ -182,7 +182,7 @@
       // prepare for result
       d_resnum = mysql_stmt_num_rows(d_stmt);
       
-      if (d_resnum>0 && d_res_bind == NULL) {
+      if (d_resnum > 0 && d_res_bind == nullptr) {
         MYSQL_RES* meta = mysql_stmt_result_metadata(d_stmt);
         d_fnum = static_cast<int>(mysql_num_fields(meta)); // ensure correct 
number of fields
         d_res_bind = new MYSQL_BIND[d_fnum];
@@ -201,12 +201,17 @@
         }
   
         mysql_free_result(meta);
-  
-        if ((err = mysql_stmt_bind_result(d_stmt, d_res_bind))) {
-          string error(mysql_stmt_error(d_stmt));
-          releaseStatement();
-          throw SSqlException("Could not bind parameters to mysql statement: " 
+ d_query + string(": ") + error);
-        }
+      }
+
+      /* we need to bind the results array again because a call to 
mysql_stmt_next_result() followed
+         by a call to mysql_stmt_store_result() might have invalidated it (the 
first one sets
+         stmt->bind_result_done to false, causing the second to reset the 
existing binding),
+         and we can't bind it right after the call to 
mysql_stmt_store_result() if it returned
+         no rows, because then the statement 'contains no metadata' */
+      if (d_res_bind != nullptr && (err = mysql_stmt_bind_result(d_stmt, 
d_res_bind))) {
+        string error(mysql_stmt_error(d_stmt));
+        releaseStatement();
+        throw SSqlException("Could not bind parameters to mysql statement: " + 
d_query + string(": ") + error);
       }
     }
 
@@ -220,9 +225,11 @@
   SSqlStatement* nextRow(row_t& row) {
     int err;
     row.clear();
-    if (!hasNextRow()) return this;
+    if (!hasNextRow()) {
+      return this;
+    }
 
-    if ((err =mysql_stmt_fetch(d_stmt))) {
+    if ((err = mysql_stmt_fetch(d_stmt))) {
       if (err != MYSQL_DATA_TRUNCATED) {
         string error(mysql_stmt_error(d_stmt));
         releaseStatement();
@@ -252,13 +259,13 @@
         if ((err = mysql_stmt_store_result(d_stmt))) {
           string error(mysql_stmt_error(d_stmt));
           releaseStatement();
-          throw SSqlException("Could not store mysql statement: " + d_query + 
string(": ") + error);
+          throw SSqlException("Could not store mysql statement while 
processing additional sets: " + d_query + string(": ") + error);
         }
         d_resnum = mysql_stmt_num_rows(d_stmt);
         // XXX: For some reason mysql_stmt_result_metadata returns NULL here, 
so we cannot
         // ensure row field count matches first result set.
-        if (d_resnum>0) { // ignore empty result set
-          if ((err = mysql_stmt_bind_result(d_stmt, d_res_bind))) {
+        if (d_resnum > 0) { // ignore empty result set
+          if (d_res_bind != nullptr && (err = mysql_stmt_bind_result(d_stmt, 
d_res_bind))) {
             string error(mysql_stmt_error(d_stmt));
             releaseStatement();
             throw SSqlException("Could not bind parameters to mysql statement: 
" + d_query + string(": ") + error);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/modules/ldapbackend/ldapbackend.cc 
new/pdns-4.1.1/modules/ldapbackend/ldapbackend.cc
--- old/pdns-4.1.0/modules/ldapbackend/ldapbackend.cc   2017-11-30 
10:43:22.000000000 +0100
+++ new/pdns-4.1.1/modules/ldapbackend/ldapbackend.cc   2018-02-16 
10:52:29.000000000 +0100
@@ -150,6 +150,7 @@
   try
   {
     m_qname = target;
+    m_qtype = QType::ANY;
     m_axfrqlen = target.toStringRootDot().length();
     m_adomain = m_adomains.end();   // skip loops in get() first time
 
@@ -585,8 +586,6 @@
     if ( !getDomainInfo( DNSName( result["associatedDomain"][0] ), di ) )
       continue;
 
-    di.backend = this;
-
     if( di.notified_serial < di.serial )
       domains->push_back( di );
   }
@@ -680,7 +679,6 @@
 {
   string filter;
   SOAData sd;
-  int msgid=0;
   PowerLDAP::sentry_t result;
   const char* attronly[] = {
     "sOARecord",
@@ -697,7 +695,7 @@
     // search for SOARecord of domain
     filter = "(&(associatedDomain=" + toLower( m_pldap->escape( 
domain.toStringRootDot() ) ) + ")(SOARecord=*))";
     m_msgid = m_pldap->search( getArg( "basedn" ), LDAP_SCOPE_SUBTREE, filter, 
attronly );
-    m_pldap->getSearchEntry( msgid, result );
+    m_pldap->getSearchEntry( m_msgid, result );
   }
   catch( LDAPTimeout &lt )
   {
@@ -761,6 +759,7 @@
       di.kind = DomainInfo::Native;
     }
 
+    di.backend = this;
     return true;
   }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/pdns/dnsparser.cc 
new/pdns-4.1.1/pdns/dnsparser.cc
--- old/pdns-4.1.0/pdns/dnsparser.cc    2017-11-30 10:43:22.000000000 +0100
+++ new/pdns-4.1.1/pdns/dnsparser.cc    2018-02-16 10:52:29.000000000 +0100
@@ -491,7 +491,7 @@
 
 string PacketReader::getUnquotedText(bool lenField)
 {
-  int16_t stop_at;
+  uint16_t stop_at;
   if(lenField)
     stop_at = (uint8_t)d_content.at(d_pos) + d_pos + 1;
   else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/pdns/dnsrecords.cc 
new/pdns-4.1.1/pdns/dnsrecords.cc
--- old/pdns-4.1.0/pdns/dnsrecords.cc   2017-11-30 10:43:22.000000000 +0100
+++ new/pdns-4.1.1/pdns/dnsrecords.cc   2018-02-16 10:52:29.000000000 +0100
@@ -136,7 +136,7 @@
 boilerplate_conv(NS, QType::NS, conv.xfrName(d_content, true));
 boilerplate_conv(PTR, QType::PTR, conv.xfrName(d_content, true));
 boilerplate_conv(CNAME, QType::CNAME, conv.xfrName(d_content, true));
-boilerplate_conv(ALIAS, QType::ALIAS, conv.xfrName(d_content, true));
+boilerplate_conv(ALIAS, QType::ALIAS, conv.xfrName(d_content, false));
 boilerplate_conv(DNAME, QType::DNAME, conv.xfrName(d_content));
 boilerplate_conv(MR, QType::MR, conv.xfrName(d_alias, true));
 boilerplate_conv(MINFO, QType::MINFO, conv.xfrName(d_rmailbx, true); 
conv.xfrName(d_emailbx, true));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/pdns/effective_tld_names.dat 
new/pdns-4.1.1/pdns/effective_tld_names.dat
--- old/pdns-4.1.0/pdns/effective_tld_names.dat 2017-11-30 10:44:39.000000000 
+0100
+++ new/pdns-4.1.1/pdns/effective_tld_names.dat 2018-02-16 10:54:18.000000000 
+0100
@@ -384,27 +384,62 @@
 // bn : https://en.wikipedia.org/wiki/.bn
 *.bn
 
-// bo : http://www.nic.bo/
+// bo : https://nic.bo/delegacion2015.php#h-1.10
 bo
 com.bo
 edu.bo
-gov.bo
 gob.bo
 int.bo
 org.bo
 net.bo
 mil.bo
 tv.bo
+web.bo
+// Social Domains 
+academia.bo
+agro.bo
+arte.bo
+blog.bo
+bolivia.bo
+ciencia.bo
+cooperativa.bo
+democracia.bo
+deporte.bo
+ecologia.bo
+economia.bo
+empresa.bo
+indigena.bo
+industria.bo
+info.bo
+medicina.bo
+movimiento.bo
+musica.bo
+natural.bo
+nombre.bo
+noticias.bo
+patria.bo
+politica.bo
+profesional.bo
+plurinacional.bo
+pueblo.bo
+revista.bo
+salud.bo
+tecnologia.bo
+tksat.bo
+transporte.bo
+wiki.bo
 
 // br : http://registro.br/dominio/categoria.html
 // Submitted by registry <fne...@registro.br>
 br
+9guacu.br
 abc.br
 adm.br
 adv.br
 agr.br
 aju.br
 am.br
+anani.br
 aparecida.br
 arq.br
 art.br
@@ -417,6 +452,7 @@
 bmd.br
 boavista.br
 bsb.br
+campinagrande.br
 campinas.br
 caxias.br
 cim.br
@@ -427,6 +463,7 @@
 coop.br
 cri.br
 cuiaba.br
+curitiba.br
 def.br
 ecn.br
 eco.br
@@ -444,6 +481,7 @@
 fnd.br
 fortal.br
 fot.br
+foz.br
 fst.br
 g12.br
 ggf.br
@@ -492,6 +530,8 @@
 londrina.br
 macapa.br
 maceio.br
+manaus.br
+maringa.br
 mat.br
 med.br
 mil.br
@@ -521,8 +561,13 @@
 ribeirao.br
 rio.br
 riobranco.br
+riopreto.br
 salvador.br
 sampa.br
+santamaria.br
+santoandre.br
+saobernardo.br
+saogonca.br
 sjc.br
 slg.br
 slz.br
@@ -3492,8 +3537,17 @@
 yamanakako.yamanashi.jp
 yamanashi.yamanashi.jp
 
-// ke : 
http://www.kenic.or.ke/index.php?option=com_content&task=view&id=117&Itemid=145
-*.ke
+// ke : http://www.kenic.or.ke/index.php/en/ke-domains/ke-domains
+ke
+ac.ke
+co.ke
+go.ke
+info.ke
+me.ke
+mobi.ke
+ne.ke
+or.ke
+sc.ke
 
 // kg : http://www.domain.kg/dmn_n.html
 kg
@@ -10585,6 +10639,12 @@
 inf.ua
 ltd.ua
 
+// AgileBits Inc : https://agilebits.com
+// Submitted by Roustem Karimov <rous...@agilebits.com>
+1password.ca
+1password.com
+1password.eu
+
 // Agnat sp. z o.o. : https://domena.pl
 // Submitted by Przemyslaw Plewa <it-ad...@domena.pl>
 beep.pl
@@ -10596,7 +10656,7 @@
 
 // alwaysdata : https://www.alwaysdata.com
 // Submitted by Cyril <ad...@alwaysdata.com>
-*.alwaysdata.net
+alwaysdata.net
 
 // Amazon CloudFront : https://aws.amazon.com/cloudfront/
 // Submitted by Donavan Miller <donav...@amazon.com>
@@ -10622,6 +10682,7 @@
 eu-central-1.elasticbeanstalk.com
 eu-west-1.elasticbeanstalk.com
 eu-west-2.elasticbeanstalk.com
+eu-west-3.elasticbeanstalk.com
 sa-east-1.elasticbeanstalk.com
 us-east-1.elasticbeanstalk.com
 us-east-2.elasticbeanstalk.com
@@ -10646,6 +10707,7 @@
 s3-eu-central-1.amazonaws.com
 s3-eu-west-1.amazonaws.com
 s3-eu-west-2.amazonaws.com
+s3-eu-west-3.amazonaws.com
 s3-external-1.amazonaws.com
 s3-fips-us-gov-west-1.amazonaws.com
 s3-sa-east-1.amazonaws.com
@@ -10659,6 +10721,7 @@
 s3.ca-central-1.amazonaws.com
 s3.eu-central-1.amazonaws.com
 s3.eu-west-2.amazonaws.com
+s3.eu-west-3.amazonaws.com
 s3.us-east-2.amazonaws.com
 s3.dualstack.ap-northeast-1.amazonaws.com
 s3.dualstack.ap-northeast-2.amazonaws.com
@@ -10669,6 +10732,7 @@
 s3.dualstack.eu-central-1.amazonaws.com
 s3.dualstack.eu-west-1.amazonaws.com
 s3.dualstack.eu-west-2.amazonaws.com
+s3.dualstack.eu-west-3.amazonaws.com
 s3.dualstack.sa-east-1.amazonaws.com
 s3.dualstack.us-east-1.amazonaws.com
 s3.dualstack.us-east-2.amazonaws.com
@@ -10685,6 +10749,7 @@
 s3-website.ca-central-1.amazonaws.com
 s3-website.eu-central-1.amazonaws.com
 s3-website.eu-west-2.amazonaws.com
+s3-website.eu-west-3.amazonaws.com
 s3-website.us-east-2.amazonaws.com
 
 // Amune : https://amune.org/
@@ -10873,6 +10938,11 @@
 co.nl
 co.no
 
+// Combell.com : https://www.combell.com
+// Submitted by Thomas Wouters <thomas.wout...@combellgroup.com>
+webhosting.be
+hosting-cluster.nl
+
 // COSIMO GmbH : http://www.cosimo.de
 // Submitted by Rene Marticke <rmarti...@cosimo.de>
 dyn.cosidns.de
@@ -11471,6 +11541,8 @@
 fedorainfracloud.org
 fedorapeople.org
 cloud.fedoraproject.org
+app.os.fedoraproject.org
+app.os.stg.fedoraproject.org
 
 // Filegear Inc. : https://www.filegear.com
 // Submitted by Jason Zhu <ja...@owtware.com>
@@ -11494,10 +11566,6 @@
 freebox-os.fr
 freeboxos.fr
 
-// Fusion Intranet : https://www.fusion-intranet.com
-// Submitted by Matthias Burtscher <matthias.burtsc...@fusonic.net>
-myfusion.cloud
-
 // Futureweb OG : http://www.futureweb.at
 // Submitted by Andreas Schnederle-Wagner <schnede...@futureweb.at>
 *.futurecms.at
@@ -11783,6 +11851,10 @@
 // Submitted by Alan Shreve <a...@ngrok.com>
 ngrok.io
 
+// Nimbus Hosting Ltd. : https://www.nimbushosting.co.uk/
+// Submitted by Nicholas Ford <n...@nimbushosting.co.uk>
+nh-serv.co.uk
+
 // NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
 // Submitted by Jeff Wheelhouse <supp...@nearlyfreespeech.net>
 nfshost.com
@@ -12040,6 +12112,11 @@
 // Submitted by Tim Kramer <tkra...@rhcloud.com>
 rhcloud.com
 
+// Resin.io : https://resin.io
+// Submitted by Tim Perry <t...@resin.io>
+resindevice.io
+devices.resinstaging.io
+
 // RethinkDB : https://www.rethinkdb.com/
 // Submitted by Chris Kastorff <i...@rethinkdb.com>
 hzc.io
@@ -12059,6 +12136,10 @@
 logoip.de
 logoip.com
 
+// Scry Security : http://www.scrysec.com
+// Submitted by Shante Adam <sha...@skyhat.io>
+scrysec.com
+
 // Securepoint GmbH : https://www.securepoint.de
 // Submitted by Erik Anders <erik.and...@securepoint.de>
 firewall-gateway.com
@@ -12074,6 +12155,7 @@
 
 // SensioLabs, SAS : https://sensiolabs.com/
 // Submitted by Fabien Potencier <fabien.potenc...@sensiolabs.com>
+*.s5y.io
 *.sensiosite.cloud
 
 // Service Online LLC : http://drs.ua/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/pdns/mplexer.hh 
new/pdns-4.1.1/pdns/mplexer.hh
--- old/pdns-4.1.0/pdns/mplexer.hh      2017-11-30 10:43:22.000000000 +0100
+++ new/pdns-4.1.1/pdns/mplexer.hh      2018-02-16 10:52:29.000000000 +0100
@@ -30,6 +30,7 @@
 #include <map>
 #include <stdexcept>
 #include <string>
+#include <sys/time.h>
 
 class FDMultiplexerException : public std::runtime_error
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/pdns/nproxy.cc 
new/pdns-4.1.1/pdns/nproxy.cc
--- old/pdns-4.1.0/pdns/nproxy.cc       2017-11-30 10:43:22.000000000 +0100
+++ new/pdns-4.1.1/pdns/nproxy.cc       2018-02-16 10:52:29.000000000 +0100
@@ -38,6 +38,7 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <grp.h>
+#include <unistd.h>
 #include "dnsrecords.hh"
 #include "mplexer.hh"
 #include "statbag.hh"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/pdns/pdnsutil.cc 
new/pdns-4.1.1/pdns/pdnsutil.cc
--- old/pdns-4.1.0/pdns/pdnsutil.cc     2017-11-30 10:43:22.000000000 +0100
+++ new/pdns-4.1.1/pdns/pdnsutil.cc     2018-02-16 10:52:29.000000000 +0100
@@ -125,6 +125,15 @@
 
   seedRandom(::arg()["entropy-source"]);
 
+#ifdef HAVE_LIBSODIUM
+  if (sodium_init() == -1) {
+    cerr<<"Unable to initialize sodium crypto library"<<endl;
+    exit(99);
+  }
+#endif
+
+  openssl_seed();
+
   if (!::arg()["chroot"].empty()) {
     if (chroot(::arg()["chroot"].c_str())<0 || chdir("/") < 0) {
       cerr<<"Unable to chroot to '"+::arg()["chroot"]+"': "<<strerror 
(errno)<<endl;
@@ -1956,15 +1965,6 @@
 
   loadMainConfig(g_vm["config-dir"].as<string>());
 
-#ifdef HAVE_LIBSODIUM
-  if (sodium_init() == -1) {
-    cerr<<"Unable to initialize sodium crypto library"<<endl;
-    exit(99);
-  }
-#endif
-
-  openssl_seed();
-
   if (cmds[0] == "test-algorithm") {
     if(cmds.size() != 2) {
       cerr << "Syntax: pdnsutil test-algorithm algonum"<<endl;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdns-4.1.0/pdns/slavecommunicator.cc 
new/pdns-4.1.1/pdns/slavecommunicator.cc
--- old/pdns-4.1.0/pdns/slavecommunicator.cc    2017-11-30 10:43:22.000000000 
+0100
+++ new/pdns-4.1.1/pdns/slavecommunicator.cc    2018-02-16 10:52:29.000000000 
+0100
@@ -137,8 +137,9 @@
         vector<DNSRecord> rrset;
         {
           DNSZoneRecord zrr;
-          B.lookup(QType(g.first.second), g.first.first, 0, di.id);
+          B.lookup(QType(g.first.second), g.first.first+domain, 0, di.id);
           while(B.get(zrr)) {
+            zrr.dr.d_name.makeUsRelative(domain);
             rrset.push_back(zrr.dr);
           }
         }



Reply via email to