summaryrefslogtreecommitdiff
path: root/community/pdns
diff options
context:
space:
mode:
Diffstat (limited to 'community/pdns')
-rw-r--r--community/pdns/PKGBUILD61
-rw-r--r--community/pdns/pdns.conf417
-rw-r--r--community/pdns/pdns.install11
-rw-r--r--community/pdns/pdns.service12
4 files changed, 501 insertions, 0 deletions
diff --git a/community/pdns/PKGBUILD b/community/pdns/PKGBUILD
new file mode 100644
index 000000000..ffec56609
--- /dev/null
+++ b/community/pdns/PKGBUILD
@@ -0,0 +1,61 @@
+# $Id: PKGBUILD 94038 2013-07-13 12:35:15Z svenstaro $
+# Maintainer: Alexander Rødseth <rodseth@gmail.com>
+# Contributor: Jan de Groot <jgc@archlinux.org>
+# Contributor: Kevin Mihelich <kevin@archlinuxarm.org>
+
+pkgname=pdns
+pkgver=3.3
+pkgrel=2
+pkgdesc='Modern, advanced and high performance authoritative-only nameserver'
+arch=('x86_64' 'i686')
+url='http://www.powerdns.com/'
+license=('GPL')
+depends=('boost-libs' 'gcc-libs' 'postgresql-libs' 'libmariadbclient' 'sqlite' 'libldap' 'lua51')
+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="$pkgname.install"
+options=('!makeflags' '!libtool')
+backup=('etc/powerdns/pdns.conf')
+source=("http://downloads.powerdns.com/releases/$pkgname-$pkgver.tar.gz"
+ 'pdns.service'
+ 'pdns.conf')
+sha256sums=('93417bb418ccd1eaf85fc98aa9f687ed175de388fa2624a1978b7cd40dc2b0b6'
+ 'b2358a5951ac944feee15ac03d42ffe9c2a72fa6f57746f77ef8997d54a82040'
+ 'a1afcccb0d2fb6a6f7a5960de95f8d38ce1ac75ac5e3dcecf09e49f0de10166e')
+
+prepare() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ touch AUTHORS NEWS
+}
+
+build() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ ./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-static \
+ --sbindir=/usr/bin \
+ --bindir=/usr/bin
+ make
+}
+
+package() {
+ cd "$srcdir/$pkgname-$pkgver"
+
+ make DESTDIR="$pkgdir" install
+ install -m644 "$srcdir/pdns.conf" "$pkgdir/etc/powerdns/"
+ install -Dm644 "$srcdir/pdns.service" \
+ "$pkgdir/usr/lib/systemd/system/pdns.service"
+ rm -f "$pkgdir/etc/powerdns/pdns.conf-dist"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/community/pdns/pdns.conf b/community/pdns/pdns.conf
new file mode 100644
index 000000000..e71d7155c
--- /dev/null
+++ b/community/pdns/pdns.conf
@@ -0,0 +1,417 @@
+# Autogenerated configuration file template
+#################################
+# allow-axfr-ips Allow zonetransfers only to these subnets
+#
+# allow-axfr-ips=0.0.0.0/0,::/0
+
+#################################
+# allow-recursion List of subnets that are allowed to recurse
+#
+allow-recursion=127.0.0.1
+
+#################################
+# 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
+
+#################################
+# default-ttl Seconds a result is valid if not set otherwise
+#
+# default-ttl=3600
+
+#################################
+# 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
+
+#################################
+# do-ipv6-additional-processing Do AAAA additional processing
+#
+# do-ipv6-additional-processing=yes
+
+#################################
+# edns-subnet-option-number EDNS option number to use
+#
+# edns-subnet-option-number=20730
+
+#################################
+# edns-subnet-processing If we should act on EDNS Subnet options
+#
+# edns-subnet-processing=no
+
+#################################
+# entropy-source If set, read entropy from this file
+#
+# entropy-source=/dev/urandom
+
+#################################
+# experimental-direct-dnskey EXPERIMENTAL: fetch DNSKEY RRs from backend during DNSKEY synthesis
+#
+# experimental-direct-dnskey=no
+
+#################################
+# experimental-json-interface If the webserver should serve JSON data
+#
+# experimental-json-interface=no
+
+#################################
+# experimental-logfile Filename of the log file for JSON parser
+#
+# experimental-logfile=/var/log/pdns.log
+
+#################################
+# 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=
+
+#################################
+# load-modules Load this module - supply absolute or relative path
+#
+# load-modules=
+
+#################################
+# local-address Local IP addresses 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 DNS non-erroneous details
+#
+# log-dns-details=
+
+#################################
+# log-dns-queries If PDNS should log all incoming DNS queries
+#
+# log-dns-queries=no
+
+#################################
+# log-failed-updates If PDNS should log failed update requests
+#
+# log-failed-updates=
+
+#################################
+# logging-facility Log under a specific facility
+#
+# logging-facility=
+
+#################################
+# loglevel Amount of logging. Higher is more. Do not set below 3
+#
+loglevel=3
+
+#################################
+# lua-prequery-script Lua script with prequery handler
+#
+# lua-prequery-script=
+
+#################################
+# master Act as a master
+#
+# master=no
+
+#################################
+# max-cache-entries Maximum number of cache entries
+#
+# max-cache-entries=1000000
+
+#################################
+# max-ent-entries Maximum number of empty non-terminals in a zone
+#
+# max-ent-entries=100000
+
+#################################
+# 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 negative query results in the QueryCache
+#
+negquery-cache-ttl=60
+
+#################################
+# no-shuffle Set this to prevent random shuffling of answers - for regression testing
+#
+# no-shuffle=off
+
+#################################
+# out-of-zone-additional-processing Do out of zone additional processing
+#
+# out-of-zone-additional-processing=yes
+
+#################################
+# overload-queue-length Maximum queuelength moving to packetcache only
+#
+# overload-queue-length=0
+
+#################################
+# pipebackend-abi-version Version of the pipe backend ABI
+#
+# pipebackend-abi-version=1
+
+#################################
+# query-cache-ttl Seconds to store query results in the QueryCache
+#
+# query-cache-ttl=20
+
+#################################
+# query-local-address Source IP address for sending queries
+#
+# query-local-address=0.0.0.0
+
+#################################
+# query-local-address6 Source IPv6 address for sending queries
+#
+# query-local-address6=::
+
+#################################
+# 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 Default number of Distributor (backend) threads to start
+#
+# receiver-threads=1
+
+#################################
+# recursive-cache-ttl Seconds to store packets for recursive queries in the PacketCache
+#
+# recursive-cache-ttl=10
+
+#################################
+# recursor If recursion is desired, IP address of a recursing nameserver
+#
+# recursor=no
+
+#################################
+# retrieval-threads Number of AXFR-retrieval threads for slave operation
+#
+# retrieval-threads=2
+
+#################################
+# send-root-referral Send out old-fashioned root-referral instead of ServFail in case of no authority
+#
+# send-root-referral=no
+
+#################################
+# server-id Returned when queried for 'server.id' TXT or NSID, defaults to hostname
+#
+# server-id=
+
+#################################
+# 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
+
+#################################
+# signing-threads Default number of signer threads to start
+#
+# signing-threads=3
+
+#################################
+# slave Act as a slave
+#
+# slave=no
+
+#################################
+# slave-cycle-interval Reschedule failed SOA serial checks once every .. seconds
+#
+# slave-cycle-interval=60
+
+#################################
+# slave-renotify If we should send out notifications for slaved updates
+#
+# slave-renotify=no
+
+#################################
+# smtpredirector Our smtpredir MX host
+#
+# smtpredirector=a.misconfigured.powerdns.smtp.server
+
+#################################
+# soa-expire-default Default SOA expire
+#
+# soa-expire-default=604800
+
+#################################
+# soa-minimum-ttl Default SOA minimum ttl
+#
+# soa-minimum-ttl=3600
+
+#################################
+# soa-refresh-default Default SOA refresh
+#
+# soa-refresh-default=10800
+
+#################################
+# soa-retry-default Default SOA retry
+#
+# soa-retry-default=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
+
+#################################
+# tcp-control-address If set, PowerDNS can be controlled over TCP on this address
+#
+# tcp-control-address=
+
+#################################
+# tcp-control-port If set, PowerDNS can be controlled over TCP on this address
+#
+# tcp-control-port=53000
+
+#################################
+# tcp-control-range If set, remote control of PowerDNS is possible over these networks only
+#
+# tcp-control-range=127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10
+
+#################################
+# tcp-control-secret If set, PowerDNS can be controlled over TCP after passing this secret
+#
+# tcp-control-secret=
+
+#################################
+# traceback-handler Enable the traceback handler (Linux only)
+#
+# traceback-handler=yes
+
+#################################
+# trusted-notification-proxy IP address of incoming notification proxy
+#
+# trusted-notification-proxy=
+
+#################################
+# urlredirector Where we send hosts to that need to be url redirected
+#
+# urlredirector=127.0.0.1
+
+#################################
+# version-string PowerDNS version in packets - full, anonymous, powerdns or custom
+#
+# version-string=full
+
+#################################
+# 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
+
+
diff --git a/community/pdns/pdns.install b/community/pdns/pdns.install
new file mode 100644
index 000000000..f41b36b20
--- /dev/null
+++ b/community/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/community/pdns/pdns.service b/community/pdns/pdns.service
new file mode 100644
index 000000000..b544ba73e
--- /dev/null
+++ b/community/pdns/pdns.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=PowerDNS Authorative Server
+After=syslog.target network.target
+
+[Service]
+Type=forking
+ExecStart=/usr/bin/pdns_server --daemon --guardian=yes
+ExecReload=/usr/bin/pdns_control cycle
+ExecStop=/usr/bin/pdns_control quit
+
+[Install]
+WantedBy=multi-user.target