diff options
author | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-11 08:37:20 +0000 |
---|---|---|
committer | Natanael Copa <ncopa@alpinelinux.org> | 2015-03-11 08:44:34 +0000 |
commit | ebcf082a79f5b36210d7191ce461cc3a9384472e (patch) | |
tree | 18b0e35d7d26aa7c936029fc89877320c92301c8 /testing/pdns | |
parent | e2107de80453c3de62039148f54d579dcaf97e5b (diff) | |
download | aports-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/APKBUILD | 14 | ||||
-rw-r--r-- | testing/pdns/allocate-tcp-buffer-dynamically.patch | 46 |
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) { |