aboutsummaryrefslogtreecommitdiffstats
path: root/testing/pdns
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2015-03-11 08:37:20 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2015-03-11 08:44:34 +0000
commitebcf082a79f5b36210d7191ce461cc3a9384472e (patch)
tree18b0e35d7d26aa7c936029fc89877320c92301c8 /testing/pdns
parente2107de80453c3de62039148f54d579dcaf97e5b (diff)
downloadaports-ebcf082a79f5b36210d7191ce461cc3a9384472e.tar.bz2
aports-ebcf082a79f5b36210d7191ce461cc3a9384472e.tar.xz
testing/pdns: upgrade to 3.4.3 and cherry-pick patch from upstream
Diffstat (limited to 'testing/pdns')
-rw-r--r--testing/pdns/APKBUILD14
-rw-r--r--testing/pdns/allocate-tcp-buffer-dynamically.patch46
2 files changed, 55 insertions, 5 deletions
diff --git a/testing/pdns/APKBUILD b/testing/pdns/APKBUILD
index e92712abd8..467b9b0580 100644
--- a/testing/pdns/APKBUILD
+++ b/testing/pdns/APKBUILD
@@ -2,8 +2,8 @@
# Contributor: Matt Smith <mcs@darkregion.net>
# Maintainer: Matt Smith <mcs@darkregion.net>
pkgname=pdns
-pkgver=3.4.1
-pkgrel=1
+pkgver=3.4.3
+pkgrel=0
pkgdesc="PowerDNS Authoritative Server"
url="http://www.powerdns.com/"
arch="all"
@@ -25,6 +25,7 @@ pkgusers="pdns"
pkggroups="pdns"
source="http://downloads.powerdns.com/releases/pdns-$pkgver.tar.bz2
0010-disable-execinfo.patch
+ allocate-tcp-buffer-dynamically.patch
pdns.initd
pdns.conf
"
@@ -92,15 +93,18 @@ _mv_backend() {
"$subpkgdir"/usr/lib/pdns/pdns/ || return 1
}
-md5sums="3259505caeaae2a5e9baf3255be437ff pdns-3.4.1.tar.bz2
+md5sums="c570495b556eccbecb12136c72f04240 pdns-3.4.3.tar.bz2
fd4d14c30bae793072ba7f3fa6cca80e 0010-disable-execinfo.patch
+ca62012b5037dd3b9f9a7127d0091a7a allocate-tcp-buffer-dynamically.patch
db146742b8f5bd91494690ee01f29862 pdns.initd
351bac7f784a1a40e768466d9e6f1a79 pdns.conf"
-sha256sums="13e32a31759e7fd341b98c89fe551723a5c6a768350b3609c576f70602deb24a pdns-3.4.1.tar.bz2
+sha256sums="5cd9a087757066427cd0c348f546cb84b4be4bd5e06c7ce969ec2bc21dbb8ce6 pdns-3.4.3.tar.bz2
b826f47c7693f3d90c424fffc6035c5bf253dd92e41bf2d7873bed1dee4e2d7e 0010-disable-execinfo.patch
+22acf599f258a23078f81f01eac7f7f9d043ebbaf82c08504ae712abb95a0095 allocate-tcp-buffer-dynamically.patch
fbef85e8d53ea4a25e166578c0f642426d1fe3091a822a5c78837a71f563e6b4 pdns.initd
5fdf423f829dca0b50bc81bab773d7ec4ee6627e35f861124d8c2ccd79a2f50c pdns.conf"
-sha512sums="5c65a52bbf5ab72f6887c5b862d75b0f712323c6f682eda3dd337f6cbdc0c5824306eb620d97b40d76912392751a170c3783b14e4308cba855c4288291ff4c14 pdns-3.4.1.tar.bz2
+sha512sums="468b9d360af6730183e8b502ad9fca0965cb7f3c0927d30b88680d9b4a17dad09de791b3b343363f443a61918e973bb05ec5b43cf54f92dd12171fc7757a1278 pdns-3.4.3.tar.bz2
1a16d9695d267d14f4c08a7b932d12e5949be1e6211b413ae0fa98cea25653d7d73eaec9cddd411a89de56fc36a79371a01f57a4234af4c039d0d7994801cb05 0010-disable-execinfo.patch
+e424190c03fcea66989284bde17179feeeaf42b7ef2095fa5e538cc6dd57400d193ac0195ab01f855e57c84a15da5d608905d6adf25b430253481a9c78fcbd20 allocate-tcp-buffer-dynamically.patch
589ab8d53d654dc3ae86150a80ca2853632170e21c2cf3045cb27118d6f26cb00fd3aad50a4d3de757c33bcbd249529317be099598acf2d02cff00153aba0daa pdns.initd
9913551bb4d685aaced806134b1037d85ce759e7d9e780e256e67651d9d346aad5e608b4a45a4933f0ba879605b69d06e579c38b7f917f7a9be37c7797c5953b pdns.conf"
diff --git a/testing/pdns/allocate-tcp-buffer-dynamically.patch b/testing/pdns/allocate-tcp-buffer-dynamically.patch
new file mode 100644
index 0000000000..b346a2e9a1
--- /dev/null
+++ b/testing/pdns/allocate-tcp-buffer-dynamically.patch
@@ -0,0 +1,46 @@
+From c2b4ccc0d125a30a1970f555f572bf74de27a3d5 Mon Sep 17 00:00:00 2001
+From: bert hubert <bert.hubert@netherlabs.nl>
+Date: Sat, 10 Jan 2015 23:06:38 +0100
+Subject: [PATCH] allocate TCP buffer dynamically, decreasing our stack usage
+
+---
+ pdns/tcpreceiver.cc | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/pdns/tcpreceiver.cc b/pdns/tcpreceiver.cc
+index f90bf90..6356d34 100644
+--- a/pdns/tcpreceiver.cc
++++ b/pdns/tcpreceiver.cc
+@@ -253,7 +253,8 @@ void *TCPNameserver::doConnection(void *data)
+ pthread_detach(pthread_self());
+ Utility::setNonBlocking(fd);
+ try {
+- char mesg[65535];
++ int mesgsize=65535;
++ scoped_array<char> mesg(new char[mesgsize]);
+
+ DLOG(L<<"TCP Connection accepted on fd "<<fd<<endl);
+ bool logDNSQueries= ::arg().mustDo("log-dns-queries");
+@@ -278,19 +279,19 @@ void *TCPNameserver::doConnection(void *data)
+
+ // do not remove this check as it will catch if someone
+ // decreases the mesg buffer size for some reason.
+- if(pktlen>sizeof(mesg)) {
++ if(pktlen > mesgsize) {
+ L<<Logger::Error<<"Received an overly large question from "<<remote.toString()<<", dropping"<<endl;
+ break;
+ }
+
+- getQuestion(fd, mesg, pktlen, remote);
++ getQuestion(fd, mesg.get(), pktlen, remote);
+ S.inc("tcp-queries");
+
+ packet=shared_ptr<DNSPacket>(new DNSPacket);
+ packet->setRemote(&remote);
+ packet->d_tcp=true;
+ packet->setSocket(fd);
+- if(packet->parse(mesg, pktlen)<0)
++ if(packet->parse(mesg.get(), pktlen)<0)
+ break;
+
+ if(packet->qtype.getCode()==QType::AXFR) {