summaryrefslogtreecommitdiff
path: root/extra/pdns
diff options
context:
space:
mode:
Diffstat (limited to 'extra/pdns')
-rwxr-xr-xextra/pdns/2.9.18-default-mysql-options.patch13
-rw-r--r--extra/pdns/PKGBUILD54
-rw-r--r--extra/pdns/pdns-2.9.22-gcc44.patch22
-rw-r--r--extra/pdns/pdns.conf290
-rw-r--r--extra/pdns/pdns.install11
-rw-r--r--extra/pdns/pdns.rc35
6 files changed, 425 insertions, 0 deletions
diff --git a/extra/pdns/2.9.18-default-mysql-options.patch b/extra/pdns/2.9.18-default-mysql-options.patch
new file mode 100755
index 000000000..a9048e13e
--- /dev/null
+++ b/extra/pdns/2.9.18-default-mysql-options.patch
@@ -0,0 +1,13 @@
+diff -Nur pdns-2.9.18.orig/modules/gmysqlbackend/smysql.cc pdns-2.9.18/modules/gmysqlbackend/smysql.cc
+--- pdns-2.9.18.orig/modules/gmysqlbackend/smysql.cc 2005-04-23 23:40:15.000000000 +0200
++++ pdns-2.9.18/modules/gmysqlbackend/smysql.cc 2005-07-17 10:38:35.363597586 +0200
+@@ -15,6 +15,9 @@
+ const string &password)
+ {
+ mysql_init(&d_db);
++#if MYSQL_VERSION_ID > 32349
++ mysql_options(&d_db, MYSQL_READ_DEFAULT_GROUP, "client");
++#endif
+ if (!mysql_real_connect(&d_db, host.empty() ? 0 : host.c_str(),
+ user.empty() ? 0 : user.c_str(),
+ password.empty() ? 0 : password.c_str(),
diff --git a/extra/pdns/PKGBUILD b/extra/pdns/PKGBUILD
new file mode 100644
index 000000000..9506deee3
--- /dev/null
+++ b/extra/pdns/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 115160 2011-03-17 09:56:37Z andrea $
+# Maintainer: Jan de Groot <jgc@archlinux.org>
+
+pkgname=pdns
+pkgver=2.9.22
+pkgrel=7
+pkgdesc="A modern, advanced and high performance authoritative-only nameserver"
+arch=(i686 x86_64)
+url="http://www.powerdns.com"
+license=('GPL')
+depends=('gcc-libs' 'zlib' 'postgresql-libs' 'libmysqlclient' 'sqlite3' 'libldap')
+makedepends=('boost')
+provides=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql')
+replaces=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql')
+conflicts=('pdns-ldap' 'pdns-mysql' 'pdns-sqlite' 'pdns-pgsql')
+install=pdns.install
+options=(!makeflags !libtool)
+backup=('etc/powerdns/pdns.conf')
+source=(http://downloads.powerdns.com/releases/${pkgname}-${pkgver}.tar.gz
+ 2.9.18-default-mysql-options.patch
+ pdns-2.9.22-gcc44.patch
+ pdns.rc
+ pdns.conf)
+md5sums=('8a6ff842733aca885577eb54e983a1ff'
+ '90fb32e843326d14359c508cef855929'
+ '530642273005bdabae27792098834ea6'
+ '16e2d32e9781be7afa8f1700740bcdb0'
+ 'a390ab49c4fcde205629be33bddc2e6c')
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/2.9.18-default-mysql-options.patch"
+ patch -Np1 -i "${srcdir}/pdns-2.9.22-gcc44.patch"
+ touch AUTHORS NEWS
+ libtoolize --force --copy
+ aclocal
+ autoconf
+ automake --add-missing
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/powerdns \
+ --libexecdir=/usr/lib \
+ --libdir=/usr/lib/powerdns \
+ --mandir=/usr/share/man \
+ --with-modules="" \
+ --with-dynmodules="ldap pipe gmysql gpgsql gsqlite3 geo" \
+ --disable-recursor \
+ --disable-static
+ make
+ make DESTDIR="${pkgdir}" install
+ install -m755 -d "${pkgdir}/etc/rc.d"
+ rm "${pkgdir}/etc/powerdns/pdns.conf-dist"
+ install -m644 "${srcdir}/pdns.conf" "${pkgdir}/etc/powerdns/"
+ install -m755 "${srcdir}/pdns.rc" "${pkgdir}/etc/rc.d/pdns"
+}
diff --git a/extra/pdns/pdns-2.9.22-gcc44.patch b/extra/pdns/pdns-2.9.22-gcc44.patch
new file mode 100644
index 000000000..35c1c7777
--- /dev/null
+++ b/extra/pdns/pdns-2.9.22-gcc44.patch
@@ -0,0 +1,22 @@
+diff -ur pdns-2.9.22.orig/pdns/dnsparser.cc pdns-2.9.22/pdns/dnsparser.cc
+--- pdns-2.9.22.orig/pdns/dnsparser.cc 2008-11-15 22:32:46.000000000 +0200
++++ pdns-2.9.22/pdns/dnsparser.cc 2009-07-06 22:09:02.000000000 +0300
+@@ -16,6 +16,7 @@
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <stdio.h>
+ #include "dnsparser.hh"
+ #include "dnswriter.hh"
+ #include <boost/lexical_cast.hpp>
+diff -ur pdns-2.9.22.orig/pdns/rcpgenerator.cc pdns-2.9.22/pdns/rcpgenerator.cc
+--- pdns-2.9.22.orig/pdns/rcpgenerator.cc 2008-11-15 23:20:27.000000000 +0200
++++ pdns-2.9.22/pdns/rcpgenerator.cc 2009-07-06 22:07:26.000000000 +0300
+@@ -16,6 +16,7 @@
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
++#include <stdio.h>
+ #include "rcpgenerator.hh"
+ #include "dnsparser.hh"
+ #include "misc.hh"
diff --git a/extra/pdns/pdns.conf b/extra/pdns/pdns.conf
new file mode 100644
index 000000000..1bf24e73f
--- /dev/null
+++ b/extra/pdns/pdns.conf
@@ -0,0 +1,290 @@
+# Autogenerated configuration file template
+#################################
+# allow-axfr-ips If disabled, DO allow zonetransfers from these IP addresses
+#
+# allow-axfr-ips=
+
+#################################
+# allow-recursion List of netmasks that are allowed to recurse
+#
+allow-recursion=127.0.0.1
+
+#################################
+# allow-recursion-override Local data overrrides hosts on the internet
+#
+allow-recursion-override=yes
+
+#################################
+# cache-ttl Seconds to store packets in the PacketCache
+#
+cache-ttl=60
+
+#################################
+# chroot If set, chroot to this directory for more security
+#
+chroot=/var/empty
+
+#################################
+# config-dir Location of configuration directory (pdns.conf)
+#
+config-dir=/etc
+
+#################################
+# config-name Name of this virtual configuration - will rename the binary image
+#
+# config-name=
+
+#################################
+# control-console Debugging switch - don't use
+#
+# control-console=no
+
+#################################
+# daemon Operate as a daemon
+#
+daemon=yes
+
+#################################
+# default-soa-name name to insert in the SOA record if none set in the backend
+#
+# default-soa-name=a.misconfigured.powerdns.server
+
+#################################
+# disable-axfr Disable zonetransfers but do allow TCP queries
+#
+# disable-axfr=no
+
+#################################
+# disable-tcp Do not listen to TCP queries
+#
+# disable-tcp=no
+
+#################################
+# distributor-threads Default number of Distributor (backend) threads to start
+#
+distributor-threads=3
+
+#################################
+# fancy-records Process URL and MBOXFW records
+#
+# fancy-records=no
+
+#################################
+# guardian Run within a guardian process
+#
+guardian=yes
+
+#################################
+# launch Which backends to launch and order to query them in
+#
+#launch=
+
+#################################
+# lazy-recursion Only recurse if question cannot be answered locally
+#
+lazy-recursion=yes
+
+#################################
+# load-modules Load this module - supply absolute or relative path
+#
+# load-modules=
+
+#################################
+# local-address Local IP address to which we bind
+#
+local-address=127.0.0.1
+
+#################################
+# local-ipv6 Local IP address to which we bind
+#
+# local-ipv6=
+
+#################################
+# local-port The port on which we listen
+#
+local-port=53
+
+#################################
+# log-dns-details If PDNS should log failed update requests
+#
+#log-dns-details=off
+
+#################################
+# log-failed-updates If PDNS should log failed update requests
+#
+#log-failed-updates=off
+
+#################################
+# logfile Logfile to use
+#
+# logfile=pdns.log
+
+#################################
+# logging-facility Log under a specific facility
+#
+# logging-facility=
+
+#################################
+# loglevel Amount of logging. Higher is more. Do not set below 3
+#
+loglevel=3
+
+#################################
+# master Act as a master
+#
+# master=no
+
+#################################
+# max-queue-length Maximum queuelength before considering situation lost
+#
+# max-queue-length=5000
+
+#################################
+# max-tcp-connections Maximum number of TCP connections
+#
+# max-tcp-connections=10
+
+#################################
+# module-dir Default directory for modules
+#
+module-dir=/usr/lib/powerdns
+
+#################################
+# negquery-cache-ttl Seconds to store packets in the PacketCache
+#
+negquery-cache-ttl=60
+
+#################################
+# only-soa Make sure that no SOA serial is less than this number
+#
+# only-soa=org
+
+#################################
+# out-of-zone-additional-processing Do out of zone additional processing
+#
+# out-of-zone-additional-processing=no
+
+#################################
+# query-cache-ttl Seconds to store packets in the PacketCache
+#
+# query-cache-ttl=20
+
+#################################
+# query-logging Hint backends that queries should be logged
+#
+# query-logging=no
+
+#################################
+# queue-limit Maximum number of milliseconds to queue a query
+#
+# queue-limit=1500
+
+#################################
+# receiver-threads Number of receiver threads to launch
+#
+# receiver-threads=1
+
+#################################
+# recursive-cache-ttl Seconds to store packets in the PacketCache
+#
+# recursive-cache-ttl=10
+
+#################################
+# recursor If recursion is desired, IP address of a recursing nameserver
+#
+#recursor=
+
+#################################
+# setgid If set, change group id to this gid for more security
+#
+setgid=nobody
+
+#################################
+# setuid If set, change user id to this uid for more security
+#
+setuid=nobody
+
+#################################
+# skip-cname Do not perform CNAME indirection for each query
+#
+# skip-cname=no
+
+#################################
+# slave Act as a slave
+#
+# slave=no
+
+#################################
+# slave-cycle-interval Reschedule failed SOA serial checks once every .. seconds
+#
+# slave-cycle-interval=60
+
+#################################
+# smtpredirector Our smtpredir MX host
+#
+# smtpredirector=a.misconfigured.powerdns.smtp.server
+
+#################################
+# soa-minimum-ttl Default SOA mininum ttl
+#
+# soa-minimum-ttl=3600
+
+#################################
+# soa-serial-offset Make sure that no SOA serial is less than this number
+#
+# soa-serial-offset=0
+
+#################################
+# socket-dir Where the controlsocket will live
+#
+socket-dir=/var/run
+
+#################################
+# strict-rfc-axfrs Perform strictly rfc compliant axfrs (very slow)
+#
+# strict-rfc-axfrs=no
+
+#################################
+# urlredirector Where we send hosts to that need to be url redirected
+#
+# urlredirector=127.0.0.1
+
+#################################
+# use-logfile Use a log file
+#
+use-logfile=no
+
+#################################
+# webserver Start a webserver for monitoring
+#
+webserver=no
+
+#################################
+# webserver-address IP Address of webserver to listen on
+#
+# webserver-address=127.0.0.1
+
+#################################
+# webserver-password Password required for accessing the webserver
+#
+# webserver-password=
+
+#################################
+# webserver-port Port of webserver to listen on
+#
+# webserver-port=8081
+
+#################################
+# webserver-print-arguments If the webserver should print arguments
+#
+# webserver-print-arguments=no
+
+#################################
+# wildcard-url Process URL and MBOXFW records
+#
+# wildcard-url=no
+
+#################################
+# wildcards Honor wildcards in the database
+#
+wildcards=yes
diff --git a/extra/pdns/pdns.install b/extra/pdns/pdns.install
new file mode 100644
index 000000000..f41b36b20
--- /dev/null
+++ b/extra/pdns/pdns.install
@@ -0,0 +1,11 @@
+post_install() {
+ cat << 'EOM'
+==> PowerDNS is built without recursor now. To use the recursor,
+==> please install the pdns-recursor package and update the
+==> configuration in /etc/powerdns/recursor.conf
+EOM
+}
+
+post_upgrade() {
+ post_install $1
+}
diff --git a/extra/pdns/pdns.rc b/extra/pdns/pdns.rc
new file mode 100644
index 000000000..2f143ddae
--- /dev/null
+++ b/extra/pdns/pdns.rc
@@ -0,0 +1,35 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ stat_busy "Starting DNS"
+ ! /usr/sbin/pdns_control ping > /dev/null 2>&1 && /usr/sbin/pdns_server --daemon
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon pdns
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping DNS"
+ pdns_control quit > /dev/null 2>&1
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon pdns
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 3
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0