Update net/powerdns-recursor to 4.0.4.
PowerDNS Recursor 4.0.4 ======================= Change highlights include: - Check TSIG signature on IXFR (Security Advisory 2016-04) - Don't parse spurious RRs in queries when we don't need them (Security Advisory 2016-02) - Add 'max-recursion-depth' to limit the number of internal recursion - Wait until after daemonizing to start the RPZ and protobuf threads - On RPZ customPolicy, follow the resulting CNAME - Make the negcache forwarded zones aware - Cache records for zones that were delegated to from a forwarded zone - DNSSEC: don't go bogus on zero configured DSs - DNSSEC: NSEC3 optout and Bogus insecure forward fixes - DNSSEC: Handle CNAMEs at the apex of secure zones to other secure zones PowerDNS Recursor 4.0.3 ======================= Bug fixes - Call gettag() for TCP queries - Fix the use of an uninitialized filtering policy - Parse query-local-address before lua-config-file - Fix accessing an empty policyCustom, policyName from Lua - ComboAddress: don't allow invalid ports - Fix RPZ default policy not being applied over IXFR - DNSSEC: Actually follow RFC 7646 §2.1 - Add boost context ldflags so freebsd builds can find the libs - Ignore NS records in a RPZ zone received over IXFR - Fix build with OpenSSL 1.1.0 final - Don't validate when a Lua hook took the query - Fix a protobuf regression (requestor/responder mix-up) Additions and Enhancements - Support Boost 1.61+ fcontext - Add Lua binding for DNSRecord::d_place PowerDNS Recursor 4.0.2 ======================= Bug fixes - Set dq.rcode before calling postresolve - Honor PIE flags. - Fix build with LibreSSL, for which OPENSSL_VERSION_NUMBER is irrelevant - Don't shuffle CNAME records. (thanks to Gert van Dijk for the extensive bug report!) - Fix delegation-only Additions and enhancements - Respect the timeout when connecting to a protobuf server - allow newDN to take a DNSName in; document missing methods - expose SMN toString to lua - Anonymize the protobuf ECS value as well (thanks to Kai Storbeck of XS4All for finding this) - Allow Lua access to the result of the Policy Engine decision, skip RPZ, finish RPZ implementation - Remove unused DNSPacket::d_qlen - RPZ: Use query-local-address(6) by default (thanks to Oli Schacher of switch.ch for the feature request) - Move the root DNSSEC data to a header file PowerDNS Recursor 4.0.1 ======================= Bug fixes - Improve DNSSEC record skipping for non dnssec queries (Kees Monshouwer) - Don't validate zones from the local auth store, go one level down while validating when there is a CNAME - Don't go bogus on islands of security - Check all possible chains for Insecures - Don't go Bogus on a CNAME at the apex - RPZ: default policy should also override local data RRs - Fix a crash when the next name in a chained query is empty and rec_control current-queries is invoked Improvements - OpenSSL 1.1.0 support (Christian Hofstaedtler) - Fix warnings with gcc on musl-libc (James Taylor) - Also validate on +DO - Fail to start when the lua-dns-script does not exist - Add more Netmask methods for Lua (Aki Tuomi) - Validate DNSSEC for security polling - Turn on root-nx-trust by default and log-common-errors=off - Allow for multiple trust anchors per zone - Fix compilation warning when building without Protobuf PowerDNS Recursor 4.0.0 ======================= - Moved to C++ 2011, a cleaner more powerful version of C++ that has allowed us to improve the quality of implementation in many places. - Implemented dedicated infrastructure for dealing with DNS names that is fully "DNS Native" and needs less escaping and unescaping. - Switched to binary storage of DNS records in all places. - Moved ACLs to a dedicated Netmask Tree. - Implemented a version of RCU for configuration changes - Instrumented our use of the memory allocator, reduced number of malloc calls substantially. - The Lua hook infrastructure was redone using LuaWrapper; old scripts will no longer work, but new scripts are easier to write under the new interface. - DNSSEC processing: if you ask for DNSSEC records, you will get them. - DNSSEC validation: if so configured, PowerDNS perform DNSSEC validation of your answers. - Completely revamped Lua scripting API that is "DNSName" native and therefore far less error prone, and likely faster for most commonly used scenarios. - New asynchronous per-domain, per-ip address, query engine. - RPZ (from file, over AXFR or IXFR) support. - All caches can now be wiped on suffixes, because of canonical ordering. - Many, many more relevant performance metrics, including upstream authoritative performance measurements. - EDNS Client Subnet support, including cache awareness of subnet-varying answers.
This commit is contained in:
parent
8791799143
commit
aa9e0f90c5
18 changed files with 43 additions and 510 deletions
|
@ -1,7 +1,7 @@
|
|||
# $NetBSD: Makefile,v 1.18 2015/06/10 14:40:07 fhajny Exp $
|
||||
# $NetBSD: Makefile,v 1.19 2017/03/09 13:43:49 fhajny Exp $
|
||||
#
|
||||
|
||||
DISTNAME= pdns-recursor-3.7.3
|
||||
DISTNAME= pdns-recursor-4.0.4
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= http://downloads.powerdns.com/releases/
|
||||
EXTRACT_SUFX= .tar.bz2
|
||||
|
@ -11,7 +11,7 @@ HOMEPAGE= http://www.powerdns.com/
|
|||
COMMENT= PowerDNS resolver/recursing nameserver
|
||||
LICENSE= gnu-gpl-v2
|
||||
|
||||
HAS_CONFIGURE= yes
|
||||
GNU_CONFIGURE= yes
|
||||
USE_LANGUAGES= c c++
|
||||
USE_TOOLS+= gmake
|
||||
|
||||
|
@ -19,10 +19,9 @@ RCD_SCRIPTS+= pdns_recursor
|
|||
|
||||
EGDIR= ${PREFIX}/share/examples/pdns-recursor
|
||||
|
||||
BUILD_MAKE_FLAGS+= SYSCONFDIR=${PKG_SYSCONFDIR} OPTFLAGS=
|
||||
PTHREAD_AUTO_VARS= yes
|
||||
|
||||
INSTALL_MAKE_FLAGS+= BINDIR=${PREFIX}/bin SBINDIR=${PREFIX}/sbin
|
||||
INSTALL_MAKE_FLAGS+= SYSCONFDIR=${EGDIR} MANDIR=${PREFIX}/${PKGMANDIR}
|
||||
INSTALL_MAKE_FLAGS+= sysconfdir=${EGDIR}
|
||||
|
||||
CONF_FILES+= ${EGDIR}/recursor.conf-dist \
|
||||
${PKG_SYSCONFDIR}/recursor.conf
|
||||
|
@ -34,12 +33,7 @@ CXXFLAGS+= -std=c++11 -Wno-c++11-narrowing
|
|||
|
||||
.include "options.mk"
|
||||
|
||||
post-extract:
|
||||
${LN} -s FreeBSD.inc ${WRKSRC}/sysdeps/NetBSD.inc
|
||||
|
||||
post-build:
|
||||
${CP} ${WRKSRC}/pdns_recursor.1 ${WRKSRC}/pdns_recursor.8
|
||||
${CP} ${WRKSRC}/rec_control.1 ${WRKSRC}/rec_control.8
|
||||
|
||||
.include "../../devel/boost-headers/buildlink3.mk"
|
||||
.include "../../security/openssl/buildlink3.mk"
|
||||
.include "../../mk/pthread.buildlink3.mk"
|
||||
.include "../../mk/bsd.pkg.mk"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
@comment $NetBSD: PLIST,v 1.3 2014/03/11 14:05:10 jperkin Exp $
|
||||
@comment $NetBSD: PLIST,v 1.4 2017/03/09 13:43:49 fhajny Exp $
|
||||
bin/rec_control
|
||||
man/man8/pdns_recursor.8
|
||||
man/man8/rec_control.8
|
||||
man/man1/pdns_recursor.1
|
||||
man/man1/rec_control.1
|
||||
sbin/pdns_recursor
|
||||
share/examples/pdns-recursor/recursor.conf-dist
|
||||
|
|
|
@ -1,21 +1,10 @@
|
|||
$NetBSD: distinfo,v 1.15 2015/11/04 00:35:28 agc Exp $
|
||||
$NetBSD: distinfo,v 1.16 2017/03/09 13:43:49 fhajny Exp $
|
||||
|
||||
SHA1 (pdns-recursor-3.7.3.tar.bz2) = a09d960852ba67c1618dfa9258158a1145f657c1
|
||||
RMD160 (pdns-recursor-3.7.3.tar.bz2) = c73738ea571b8ce4ef4c01ee02c971c990d03f42
|
||||
SHA512 (pdns-recursor-3.7.3.tar.bz2) = 35b95130e46d04c91adc3c4676a6e5546ac25d21ec576734162764732993d876d34f0e8124b7b6934c8354c0d042ffa5ec30f138b83a9aeaafcefa3808adcf23
|
||||
Size (pdns-recursor-3.7.3.tar.bz2) = 245192 bytes
|
||||
SHA1 (patch-Makefile.in) = 4aa3fc487afab1795532cc6a09975fa6580625fe
|
||||
SHA1 (pdns-recursor-4.0.4.tar.bz2) = e3d2f18e0ea929e425bc9da4256f76331797f691
|
||||
RMD160 (pdns-recursor-4.0.4.tar.bz2) = 12b1b7239156d9b898199c02a1edd6875301a7b1
|
||||
SHA512 (pdns-recursor-4.0.4.tar.bz2) = 9473dfe9abc509b2bb953139dd7892de2027ee1508902fa0c2cd30dd9a88878fcf44370b8372d573cbab12de32bb8c604005d3b39ea34db2ef86786e689d36ab
|
||||
Size (pdns-recursor-4.0.4.tar.bz2) = 1050596 bytes
|
||||
SHA1 (patch-dns.hh) = 7e9c1b10a066a605b74ebdbee2d894aed50f6c68
|
||||
SHA1 (patch-dnsparser.cc) = acd60fbeaa5ad3aa09db306eeaddb1071bbedfb7
|
||||
SHA1 (patch-dnsparser.hh) = 289e271629969a50b41e805ae9f092ce75a1483f
|
||||
SHA1 (patch-iputils.hh) = 01134b045189653046036d7cb081a2f4d1ed27e4
|
||||
SHA1 (patch-kqueuemplexer.cc) = 1e3923aec5f81400eaedffa07c50762da7bdd5c8
|
||||
SHA1 (patch-namespaces.hh) = b7abe73b649569819fb070e10d3c926c95589bfb
|
||||
SHA1 (patch-pdns__recursor.1) = de3c561e770558850a9f1bdf13f60570d90a5643
|
||||
SHA1 (patch-pdns__recursor.cc) = b1d6ba1d1abfbd2759431caffc113bca22513abd
|
||||
SHA1 (patch-rec__channel.cc) = dee9fba4bbe240ca2070cdf8a8f303bb2e3bce61
|
||||
SHA1 (patch-rec__channel__rec.cc) = b0b277167fff8a080528f6a5cc75a81658f7c66f
|
||||
SHA1 (patch-rec__control.1) = 6a38b768cf5ab6f91fcf6eb7e4d5f0c62824f723
|
||||
SHA1 (patch-recursor__cache.cc) = c2f86bd695ed01ae6b415a61a099696c87f78d63
|
||||
SHA1 (patch-reczones.cc) = f187de66d755a8e134804282ceb7723aa9bd392e
|
||||
SHA1 (patch-sysdeps_SunOS.inc) = e2087d1469437c88266bc30566cf9d7415e7af69
|
||||
SHA1 (patch-iputils.hh) = aaf3b913fbe26f5daa9c2b16ff24cc9a7a1d7de0
|
||||
SHA1 (patch-kqueuemplexer.cc) = 87b3b6670393ee60fc96cf91c5acf575adfd06c0
|
||||
SHA1 (patch-qtype.hh) = f14eb9ad7efc7dd4a0ce220c1f93044ef69e99c2
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
$NetBSD: patch-Makefile.in,v 1.1 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Use proper locations and install scripts.
|
||||
|
||||
--- Makefile.in.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ Makefile.in
|
||||
@@ -1,6 +1,8 @@
|
||||
# user editable stuff:
|
||||
-SBINDIR=/usr/sbin/
|
||||
-BINDIR=/usr/bin/
|
||||
+PREFIX?=/usr
|
||||
+SBINDIR=$(PREFIX)/sbin/
|
||||
+BINDIR=$(PREFIX)/bin/
|
||||
+MANDIR=$(PREFIX)/share/man
|
||||
SYSCONFDIR=/etc/powerdns/
|
||||
LOCALSTATEDIR=/var/run/
|
||||
OPTFLAGS?=-O3
|
||||
@@ -12,6 +14,13 @@ STRIP_BINARIES?=1
|
||||
LINKCC=$(CXX)
|
||||
CC?=gcc
|
||||
|
||||
+INSTALL?=install
|
||||
+SHAREMODE?=644
|
||||
+MANMODE?=444
|
||||
+INSTALL_DIR?=$(INSTALL) -d
|
||||
+INSTALL_DATA?=$(INSTALL) -m $(SHAREMODE)
|
||||
+INSTALL_MAN?=$(INSTALL) -m $(MANMODE)
|
||||
+
|
||||
# Lua 5.1 settings
|
||||
|
||||
# static dependencies
|
||||
@@ -30,7 +39,7 @@ REC_CONTROL_OBJECTS=rec_channel.o rec_co
|
||||
unix_utility.o logger.o qtype.o
|
||||
|
||||
# what we need
|
||||
-all: message version_generated.h build
|
||||
+all: message version_generated.h build recursor.conf-dist
|
||||
|
||||
# OS specific instructions
|
||||
-include sysdeps/$(shell uname).inc
|
||||
@@ -71,7 +80,7 @@ CFLAGS += -DSYSCONFDIR='"$(SYSCONFDIR)"'
|
||||
|
||||
# Version
|
||||
build_date := $(shell LC_TIME=C date '+%Y%m%d%H%M%S')
|
||||
-build_host := $(shell id -u -n)@$(shell hostname -f)
|
||||
+build_host := $(shell id -u -n)@$(shell hostname)
|
||||
|
||||
.PHONY: version_generated.h
|
||||
version_generated.h:
|
||||
@@ -89,6 +98,10 @@ endef
|
||||
|
||||
export create_version_generated_h
|
||||
|
||||
+recursor.conf-dist: pdns_recursor
|
||||
+ @# Not cross-compile friendly :/
|
||||
+ ./pdns_recursor --config > $@
|
||||
+
|
||||
message:
|
||||
@echo
|
||||
@echo PLEASE READ: If you get an error mentioning \#include '<boost/something.hpp>', please read README
|
||||
@@ -107,20 +120,14 @@ basic_checks:
|
||||
fi
|
||||
|
||||
install: build-stamp
|
||||
- -mkdir -p $(DESTDIR)/$(SBINDIR)
|
||||
- cp pdns_recursor $(DESTDIR)/$(SBINDIR)
|
||||
-ifeq ($(STRIP_BINARIES), 1)
|
||||
- strip $(DESTDIR)/$(SBINDIR)/pdns_recursor
|
||||
-endif
|
||||
- mkdir -p $(DESTDIR)/$(BINDIR)
|
||||
- cp rec_control $(DESTDIR)/$(BINDIR)
|
||||
-ifeq ($(STRIP_BINARIES), 1)
|
||||
- strip $(DESTDIR)/$(BINDIR)/rec_control
|
||||
-endif
|
||||
- -mkdir -p $(DESTDIR)/$(SYSCONFDIR)
|
||||
- $(DESTDIR)/$(SBINDIR)/pdns_recursor --config > $(DESTDIR)/$(SYSCONFDIR)/recursor.conf-dist
|
||||
- -mkdir -p $(DESTDIR)/usr/share/man/man1
|
||||
- cp pdns_recursor.1 rec_control.1 $(DESTDIR)/usr/share/man/man1
|
||||
+ $(INSTALL_DIR) $(DESTDIR)/$(SBINDIR)
|
||||
+ $(INSTALL) pdns_recursor $(DESTDIR)/$(SBINDIR)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)/$(BINDIR)
|
||||
+ $(INSTALL) rec_control $(DESTDIR)/$(BINDIR)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)/$(SYSCONFDIR)
|
||||
+ $(INSTALL_DATA) recursor.conf-dist $(DESTDIR)/$(SYSCONFDIR)
|
||||
+ $(INSTALL_DIR) $(DESTDIR)/$(MANDIR)/man8
|
||||
+ $(INSTALL_MAN) pdns_recursor.8 rec_control.8 $(DESTDIR)/$(MANDIR)/man8
|
||||
$(OS_SPECIFIC_INSTALL)
|
||||
|
||||
clean: binclean
|
||||
@@ -135,7 +142,7 @@ dep:
|
||||
-include dep
|
||||
|
||||
optional:
|
||||
- mkdir optional
|
||||
+ $(INSTALL_DIR) optional
|
||||
|
||||
pdns_recursor: optional $(OPTIONALS) $(PDNS_RECURSOR_OBJECTS)
|
||||
$(LINKCC) $(PDNS_RECURSOR_OBJECTS) $(wildcard optional/*.o) $(LDFLAGS) -o $@
|
|
@ -1,24 +0,0 @@
|
|||
$NetBSD: patch-dnsparser.cc,v 1.2 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Straighten Boost namespace.
|
||||
|
||||
--- dnsparser.cc.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ dnsparser.cc
|
||||
@@ -109,7 +109,7 @@ static const string EncodeDNSLabel(const
|
||||
}
|
||||
|
||||
|
||||
-shared_ptr<DNSRecordContent> DNSRecordContent::unserialize(const string& qname, uint16_t qtype, const string& serialized)
|
||||
+boost::shared_ptr<DNSRecordContent> DNSRecordContent::unserialize(const string& qname, uint16_t qtype, const string& serialized)
|
||||
{
|
||||
dnsheader dnsheader;
|
||||
memset(&dnsheader, 0, sizeof(dnsheader));
|
||||
@@ -143,7 +143,7 @@ shared_ptr<DNSRecordContent> DNSRecordCo
|
||||
memcpy(&packet[pos], serialized.c_str(), serialized.size()); pos+=(uint16_t)serialized.size();
|
||||
|
||||
MOADNSParser mdp((char*)&*packet.begin(), (unsigned int)packet.size());
|
||||
- shared_ptr<DNSRecordContent> ret= mdp.d_answers.begin()->first.d_content;
|
||||
+ boost::shared_ptr<DNSRecordContent> ret= mdp.d_answers.begin()->first.d_content;
|
||||
ret->header.d_type=ret->d_qtype;
|
||||
ret->label=mdp.d_answers.begin()->first.d_label;
|
||||
ret->header.d_ttl=mdp.d_answers.begin()->first.d_ttl;
|
|
@ -1,27 +0,0 @@
|
|||
$NetBSD: patch-dnsparser.hh,v 1.2 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Straighten Boost namespace.
|
||||
|
||||
--- dnsparser.hh.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ dnsparser.hh
|
||||
@@ -183,7 +183,7 @@ public:
|
||||
return record;
|
||||
}
|
||||
|
||||
- static shared_ptr<DNSRecordContent> unserialize(const string& qname, uint16_t qtype, const string& serialized);
|
||||
+ static boost::shared_ptr<DNSRecordContent> unserialize(const string& qname, uint16_t qtype, const string& serialized);
|
||||
|
||||
void doRecordCheck(const struct DNSRecord&){}
|
||||
|
||||
@@ -327,9 +327,9 @@ public:
|
||||
//! All answers contained in this packet
|
||||
answers_t d_answers;
|
||||
|
||||
- shared_ptr<PacketReader> getPacketReader(uint16_t offset)
|
||||
+ boost::shared_ptr<PacketReader> getPacketReader(uint16_t offset)
|
||||
{
|
||||
- shared_ptr<PacketReader> pr(new PacketReader(d_content));
|
||||
+ boost::shared_ptr<PacketReader> pr(new PacketReader(d_content));
|
||||
pr->d_pos=offset;
|
||||
return pr;
|
||||
}
|
|
@ -1,12 +1,12 @@
|
|||
$NetBSD: patch-iputils.hh,v 1.1 2015/06/10 14:22:29 fhajny Exp $
|
||||
$NetBSD: patch-iputils.hh,v 1.2 2017/03/09 13:43:49 fhajny Exp $
|
||||
|
||||
IP_PKTINFO structure different on NetBSD than expected.
|
||||
|
||||
--- iputils.hh.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
--- iputils.hh.orig 2017-01-13 08:55:55.000000000 +0000
|
||||
+++ iputils.hh
|
||||
@@ -38,6 +38,10 @@
|
||||
#include <boost/tuple/tuple.hpp>
|
||||
#include <boost/tuple/tuple_comparison.hpp>
|
||||
#include <boost/lexical_cast.hpp>
|
||||
|
||||
+#if defined(IP_PKTINFO) && defined(__NetBSD__)
|
||||
+#undef IP_PKTINFO
|
||||
|
@ -14,4 +14,4 @@ IP_PKTINFO structure different on NetBSD than expected.
|
|||
+
|
||||
#include "namespaces.hh"
|
||||
|
||||
union ComboAddress {
|
||||
#ifdef __APPLE__
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
$NetBSD: patch-kqueuemplexer.cc,v 1.2 2015/06/10 14:22:29 fhajny Exp $
|
||||
$NetBSD: patch-kqueuemplexer.cc,v 1.3 2017/03/09 13:43:49 fhajny Exp $
|
||||
|
||||
kqueue systems normally have sys/event.h
|
||||
|
||||
--- kqueuemplexer.cc.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
--- kqueuemplexer.cc.orig 2017-01-13 08:55:55.000000000 +0000
|
||||
+++ kqueuemplexer.cc
|
||||
@@ -6,9 +6,7 @@
|
||||
#include <boost/lexical_cast.hpp>
|
||||
@@ -29,9 +29,7 @@
|
||||
#include "misc.hh"
|
||||
#include "syncres.hh"
|
||||
#include <sys/types.h>
|
||||
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
||||
|
|
|
@ -1,16 +0,0 @@
|
|||
$NetBSD: patch-namespaces.hh,v 1.2 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Straighten Boost namespace.
|
||||
|
||||
--- namespaces.hh.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ namespaces.hh
|
||||
@@ -46,9 +46,7 @@ using boost::tie;
|
||||
using boost::shared_ptr;
|
||||
using boost::shared_array;
|
||||
using boost::scoped_array;
|
||||
-using boost::tuple;
|
||||
using boost::format;
|
||||
-using boost::make_tuple;
|
||||
using boost::optional;
|
||||
using boost::any_cast;
|
||||
using boost::any;
|
|
@ -1,29 +0,0 @@
|
|||
$NetBSD: patch-pdns__recursor.1,v 1.2 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Man pages belong to man8.
|
||||
|
||||
--- pdns_recursor.1.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ pdns_recursor.1
|
||||
@@ -1,4 +1,4 @@
|
||||
-.TH PDNS_RECURSOR 1 "March 2008"
|
||||
+.TH PDNS_RECURSOR 8 "March 2008"
|
||||
.SH NAME
|
||||
.PP
|
||||
\f[B]pdns_recursor\f[] - high-performance, simple and secure recursing
|
||||
@@ -8,7 +8,7 @@ nameserver
|
||||
\f[B]pdns_recursor\f[] [\f[I]OPTION\f[]]...
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
-pdns_recursor(1) is a high performance, simple and secure recursing
|
||||
+pdns_recursor(8) is a high performance, simple and secure recursing
|
||||
nameserver.
|
||||
It currently powers over two million internet connections.
|
||||
.PP
|
||||
@@ -251,6 +251,6 @@ File new ones at https://github.com/Powe
|
||||
Website: http://www.powerdns.com, https://github.com/PowerDNS/pdns
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
-rec_control(1)
|
||||
+rec_control(8)
|
||||
.SH AUTHORS
|
||||
PowerDNS.COM BV.
|
|
@ -1,126 +0,0 @@
|
|||
$NetBSD: patch-pdns__recursor.cc,v 1.4 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Straighten Boost namespace.
|
||||
Cast to int so we use the correct overload.
|
||||
|
||||
--- pdns_recursor.cc.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ pdns_recursor.cc
|
||||
@@ -80,12 +80,12 @@ uint64_t g_latencyStatSize;
|
||||
bool g_logCommonErrors;
|
||||
bool g_anyToTcp;
|
||||
uint16_t g_udpTruncationThreshold;
|
||||
-__thread shared_ptr<RecursorLua>* t_pdl;
|
||||
+__thread boost::shared_ptr<RecursorLua>* t_pdl;
|
||||
|
||||
__thread addrringbuf_t* t_remotes, *t_servfailremotes, *t_largeanswerremotes;
|
||||
|
||||
__thread boost::circular_buffer<pair<std::string, uint16_t> >* t_queryring, *t_servfailqueryring;
|
||||
-__thread shared_ptr<Regex>* t_traceRegex;
|
||||
+__thread boost::shared_ptr<Regex>* t_traceRegex;
|
||||
|
||||
RecursorControlChannel s_rcc; // only active in thread 0
|
||||
|
||||
@@ -169,7 +169,7 @@ struct DNSComboWriter {
|
||||
ComboAddress d_remote, d_local;
|
||||
bool d_tcp;
|
||||
int d_socket;
|
||||
- shared_ptr<TCPConnection> d_tcpConnection;
|
||||
+ boost::shared_ptr<TCPConnection> d_tcpConnection;
|
||||
};
|
||||
|
||||
|
||||
@@ -661,7 +661,7 @@ void startDoResolve(void *p)
|
||||
IpToU32(i->content, &ip);
|
||||
pw.xfr32BitInt(htonl(ip));
|
||||
} else {
|
||||
- shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(i->qtype.getCode(), i->qclass, i->content));
|
||||
+ boost::shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(i->qtype.getCode(), i->qclass, i->content));
|
||||
drc->toPacket(pw);
|
||||
}
|
||||
if(pw.size() > maxanswersize) {
|
||||
@@ -814,7 +814,7 @@ void makeControlChannelSocket(int proces
|
||||
|
||||
void handleRunningTCPQuestion(int fd, FDMultiplexer::funcparam_t& var)
|
||||
{
|
||||
- shared_ptr<TCPConnection> conn=any_cast<shared_ptr<TCPConnection> >(var);
|
||||
+ boost::shared_ptr<TCPConnection> conn=any_cast<boost::shared_ptr<TCPConnection> >(var);
|
||||
|
||||
if(conn->state==TCPConnection::BYTE0) {
|
||||
int bytes=recv(conn->getFD(), conn->data, 2, 0);
|
||||
@@ -919,7 +919,7 @@ void handleNewTCPQuestion(int fd, FDMult
|
||||
}
|
||||
|
||||
Utility::setNonBlocking(newsock);
|
||||
- shared_ptr<TCPConnection> tc(new TCPConnection(newsock, addr));
|
||||
+ boost::shared_ptr<TCPConnection> tc(new TCPConnection(newsock, addr));
|
||||
tc->state=TCPConnection::BYTE0;
|
||||
|
||||
t_fdm->addReadFD(tc->getFD(), handleRunningTCPQuestion, tc);
|
||||
@@ -1081,7 +1081,7 @@ void handleNewUDPQuestion(int fd, FDMult
|
||||
}
|
||||
|
||||
|
||||
-typedef vector<pair<int, function< void(int, any&) > > > deferredAdd_t;
|
||||
+typedef vector<pair<int, boost::function< void(int, any&) > > > deferredAdd_t;
|
||||
deferredAdd_t deferredAdd;
|
||||
|
||||
void makeTCPServerSockets()
|
||||
@@ -1273,7 +1273,7 @@ void doStats(void)
|
||||
|
||||
time_t now = time(0);
|
||||
if(lastOutputTime && lastQueryCount && now != lastOutputTime) {
|
||||
- L<<Logger::Warning<<"stats: "<< (SyncRes::s_queries - lastQueryCount) / (now - lastOutputTime) <<" qps (average over "<< (now - lastOutputTime) << " seconds)"<<endl;
|
||||
+ L<<Logger::Warning<<"stats: "<< (SyncRes::s_queries - lastQueryCount) / (now - lastOutputTime) <<" qps (average over "<< (int)(now - lastOutputTime) << " seconds)"<<endl;
|
||||
}
|
||||
lastOutputTime = now;
|
||||
lastQueryCount = SyncRes::s_queries;
|
||||
@@ -1734,7 +1734,7 @@ string* doReloadLuaScript()
|
||||
return new string("unloaded\n");
|
||||
}
|
||||
else {
|
||||
- *t_pdl = shared_ptr<RecursorLua>(new RecursorLua(fname));
|
||||
+ *t_pdl = boost::shared_ptr<RecursorLua>(new RecursorLua(fname));
|
||||
}
|
||||
}
|
||||
catch(std::exception& e) {
|
||||
@@ -1762,7 +1762,7 @@ try
|
||||
return new string("unset\n");
|
||||
}
|
||||
else {
|
||||
- (*t_traceRegex) = shared_ptr<Regex>(new Regex(newRegex));
|
||||
+ (*t_traceRegex) = boost::shared_ptr<Regex>(new Regex(newRegex));
|
||||
return new string("ok\n");
|
||||
}
|
||||
}
|
||||
@@ -2096,11 +2096,11 @@ try
|
||||
|
||||
L<<Logger::Warning<<"Done priming cache with root hints"<<endl;
|
||||
|
||||
- t_pdl = new shared_ptr<RecursorLua>();
|
||||
+ t_pdl = new boost::shared_ptr<RecursorLua>();
|
||||
|
||||
try {
|
||||
if(!::arg()["lua-dns-script"].empty()) {
|
||||
- *t_pdl = shared_ptr<RecursorLua>(new RecursorLua(::arg()["lua-dns-script"]));
|
||||
+ *t_pdl = boost::shared_ptr<RecursorLua>(new RecursorLua(::arg()["lua-dns-script"]));
|
||||
L<<Logger::Warning<<"Loaded 'lua' script from '"<<::arg()["lua-dns-script"]<<"'"<<endl;
|
||||
}
|
||||
}
|
||||
@@ -2109,7 +2109,7 @@ try
|
||||
_exit(99);
|
||||
}
|
||||
|
||||
- t_traceRegex = new shared_ptr<Regex>();
|
||||
+ t_traceRegex = new boost::shared_ptr<Regex>();
|
||||
unsigned int ringsize=::arg().asNum("stats-ringbuffer-entries") / g_numWorkerThreads;
|
||||
if(ringsize) {
|
||||
t_remotes = new addrringbuf_t();
|
||||
@@ -2176,7 +2176,7 @@ try
|
||||
expired_t expired=t_fdm->getTimeouts(g_now);
|
||||
|
||||
for(expired_t::iterator i=expired.begin() ; i != expired.end(); ++i) {
|
||||
- shared_ptr<TCPConnection> conn=any_cast<shared_ptr<TCPConnection> >(i->second);
|
||||
+ boost::shared_ptr<TCPConnection> conn=any_cast<boost::shared_ptr<TCPConnection> >(i->second);
|
||||
if(g_logCommonErrors)
|
||||
L<<Logger::Warning<<"Timeout from remote TCP client "<< conn->d_remote.toString() <<endl;
|
||||
t_fdm->removeReadFD(i->first);
|
17
net/powerdns-recursor/patches/patch-qtype.hh
Normal file
17
net/powerdns-recursor/patches/patch-qtype.hh
Normal file
|
@ -0,0 +1,17 @@
|
|||
$NetBSD: patch-qtype.hh,v 1.1 2017/03/09 13:43:49 fhajny Exp $
|
||||
|
||||
Avoid symbol pollution on SunOS.
|
||||
|
||||
--- qtype.hh.orig 2017-01-13 08:55:55.000000000 +0000
|
||||
+++ qtype.hh
|
||||
@@ -26,6 +26,10 @@
|
||||
#include <vector>
|
||||
#include "namespaces.hh"
|
||||
|
||||
+#if defined(__sun) && defined(DS)
|
||||
+#undef DS
|
||||
+#endif
|
||||
+
|
||||
/** The QType class is meant to deal easily with the different kind of resource types, like 'A', 'NS',
|
||||
* 'CNAME' etcetera. These types have both a name and a number. This class can seamlessly move between
|
||||
* them. Use it like this:
|
|
@ -1,32 +0,0 @@
|
|||
$NetBSD: patch-rec__channel.cc,v 1.3 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
We need to include cstring
|
||||
|
||||
--- rec_channel.cc.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ rec_channel.cc
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "misc.hh"
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
+#include <cstring>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
@@ -46,7 +47,7 @@ int RecursorControlChannel::listen(const
|
||||
if(makeUNsockaddr(fname, &d_local))
|
||||
throw PDNSException("Unable to bind to controlsocket, path '"+fname+"' is not a valid UNIX socket path.");
|
||||
|
||||
- if(bind(d_fd, (sockaddr*)&d_local,sizeof(d_local))<0)
|
||||
+ if(::bind(d_fd, (sockaddr*)&d_local,sizeof(d_local))<0)
|
||||
throw PDNSException("Unable to bind to controlsocket '"+fname+"': "+stringerror());
|
||||
|
||||
return d_fd;
|
||||
@@ -79,7 +80,7 @@ void RecursorControlChannel::connect(con
|
||||
if(err < 0 && errno!=ENOENT)
|
||||
throw PDNSException("Unable to remove local controlsocket: "+stringerror());
|
||||
|
||||
- if(bind(d_fd, (sockaddr*)&d_local,sizeof(d_local))<0)
|
||||
+ if(::bind(d_fd, (sockaddr*)&d_local,sizeof(d_local))<0)
|
||||
throw PDNSException("Unable to bind to local temporary file: "+stringerror());
|
||||
|
||||
if(chmod(d_local.sun_path,0666)<0) // make sure that pdns can reply!
|
|
@ -1,33 +0,0 @@
|
|||
$NetBSD: patch-rec__channel__rec.cc,v 1.2 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Straighten Boost namespace.
|
||||
|
||||
--- rec_channel_rec.cc.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ rec_channel_rec.cc
|
||||
@@ -31,7 +31,7 @@ pthread_mutex_t g_carbon_config_lock=PTH
|
||||
|
||||
map<string, const uint32_t*> d_get32bitpointers;
|
||||
map<string, const uint64_t*> d_get64bitpointers;
|
||||
-map<string, function< uint32_t() > > d_get32bitmembers;
|
||||
+map<string, boost::function< uint32_t() > > d_get32bitmembers;
|
||||
|
||||
void addGetStat(const string& name, const uint32_t* place)
|
||||
{
|
||||
@@ -41,7 +41,7 @@ void addGetStat(const string& name, cons
|
||||
{
|
||||
d_get64bitpointers[name]=place;
|
||||
}
|
||||
-void addGetStat(const string& name, function<uint32_t ()> f )
|
||||
+void addGetStat(const string& name, boost::function<uint32_t ()> f )
|
||||
{
|
||||
d_get32bitmembers[name]=f;
|
||||
}
|
||||
@@ -66,7 +66,7 @@ map<string,string> getAllStatsMap()
|
||||
|
||||
pair<string, const uint32_t*> the32bits;
|
||||
pair<string, const uint64_t*> the64bits;
|
||||
- pair<string, function< uint32_t() > > the32bitmembers;
|
||||
+ pair<string, boost::function< uint32_t() > > the32bitmembers;
|
||||
|
||||
BOOST_FOREACH(the32bits, d_get32bitpointers) {
|
||||
ret.insert(make_pair(the32bits.first, lexical_cast<string>(*the32bits.second)));
|
|
@ -1,29 +0,0 @@
|
|||
$NetBSD: patch-rec__control.1,v 1.2 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Man pages belong to man8.
|
||||
|
||||
--- rec_control.1.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ rec_control.1
|
||||
@@ -1,4 +1,4 @@
|
||||
-.TH REC_CONTROL 1 "April 2006"
|
||||
+.TH REC_CONTROL 8 "April 2006"
|
||||
.SH NAME
|
||||
.PP
|
||||
rec_control - control pdns_recursor
|
||||
@@ -8,7 +8,7 @@ rec_control - control pdns_recursor
|
||||
\f[I]COMMAND\f[] [\f[I]COMMAND-OPTION\f[]]...
|
||||
.SS DESCRIPTION
|
||||
.PP
|
||||
-rec_control(1) allows the operator to control a running instance of the
|
||||
+rec_control(8) allows the operator to control a running instance of the
|
||||
pdns_recursor.
|
||||
.PP
|
||||
The commands that can be passed to the recursor are described on
|
||||
@@ -185,6 +185,6 @@ File new ones at https://github.com/Powe
|
||||
Website: http://wiki.powerdns.com, http://www.powerdns.com
|
||||
.SH SEE ALSO
|
||||
.PP
|
||||
-pdns_recursor(1)
|
||||
+pdns_recursor(8)
|
||||
.SH AUTHORS
|
||||
PowerDNS.COM BV.
|
|
@ -1,24 +0,0 @@
|
|||
$NetBSD: patch-recursor__cache.cc,v 1.2 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Straighten Boost namespace.
|
||||
|
||||
--- recursor_cache.cc.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ recursor_cache.cc
|
||||
@@ -53,7 +53,7 @@ DNSResourceRecord String2DNSRR(const str
|
||||
rr.content=".";
|
||||
}
|
||||
else {
|
||||
- shared_ptr<DNSRecordContent> regen=DNSRecordContent::unserialize(qname, qt.getCode(), serial);
|
||||
+ boost::shared_ptr<DNSRecordContent> regen=DNSRecordContent::unserialize(qname, qt.getCode(), serial);
|
||||
rr.content=regen->getZoneRepresentation();
|
||||
}
|
||||
rr.content.reserve(0);
|
||||
@@ -79,7 +79,7 @@ string DNSRR2String(const DNSResourceRec
|
||||
return simpleCompress(rr.content, rr.qname);
|
||||
else {
|
||||
string ret;
|
||||
- shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(type, 1, rr.content));
|
||||
+ boost::shared_ptr<DNSRecordContent> drc(DNSRecordContent::mastermake(type, 1, rr.content));
|
||||
ret=drc->serialize(rr.qname);
|
||||
// cerr<<"stored '"<<rr.qname<<" '"<<rr.qtype.getName()<<"' '"<<rr.content<<"' as "<<ret.size()<<" bytes"<<endl;
|
||||
return ret;
|
|
@ -1,15 +0,0 @@
|
|||
$NetBSD: patch-reczones.cc,v 1.2 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Straighten Boost namespace.
|
||||
|
||||
--- reczones.cc.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ reczones.cc
|
||||
@@ -378,7 +378,7 @@ SyncRes::domainmap_t* parseAuthAndForwar
|
||||
throw PDNSException("Error opening forward-zones-file '"+::arg()["forward-zones-file"]+"': "+stringerror());
|
||||
}
|
||||
|
||||
- shared_ptr<FILE> fp=shared_ptr<FILE>(rfp, fclose);
|
||||
+ boost::shared_ptr<FILE> fp=boost::shared_ptr<FILE>(rfp, fclose);
|
||||
|
||||
string line;
|
||||
int linenum=0;
|
|
@ -1,14 +0,0 @@
|
|||
$NetBSD: patch-sysdeps_SunOS.inc,v 1.1 2015/06/10 14:22:29 fhajny Exp $
|
||||
|
||||
Do not bother with init.d scripts on SunOS.
|
||||
|
||||
--- sysdeps/SunOS.inc.orig 2015-04-21 13:02:57.000000000 +0000
|
||||
+++ sysdeps/SunOS.inc
|
||||
@@ -3,7 +3,6 @@ ifeq ($(CC),cc)
|
||||
endif
|
||||
|
||||
LDFLAGS+=-lresolv -lsocket -lnsl -ldl
|
||||
-OS_SPECIFIC_INSTALL=mkdir -p $(DESTDIR)/etc/init.d ; cp pdns-recursor.init.d $(DESTDIR)/etc/init.d/pdns-recursor
|
||||
|
||||
LUA_LIBS_CONFIG ?= -llua
|
||||
|
Loading…
Reference in a new issue