summaryrefslogtreecommitdiff
path: root/community/bind
diff options
context:
space:
mode:
Diffstat (limited to 'community/bind')
-rw-r--r--community/bind/127.0.0.zone11
-rw-r--r--community/bind/PKGBUILD85
-rw-r--r--community/bind/install21
-rw-r--r--community/bind/localhost.zone10
-rwxr-xr-xcommunity/bind/named49
-rw-r--r--community/bind/named.conf64
-rw-r--r--community/bind/named.conf.d4
-rw-r--r--community/bind/named.logrotate6
-rw-r--r--community/bind/named.service11
-rw-r--r--community/bind/remove-tools.patch12
-rw-r--r--community/bind/tmpfiles.d1
11 files changed, 274 insertions, 0 deletions
diff --git a/community/bind/127.0.0.zone b/community/bind/127.0.0.zone
new file mode 100644
index 000000000..509c311f6
--- /dev/null
+++ b/community/bind/127.0.0.zone
@@ -0,0 +1,11 @@
+$ORIGIN 0.0.127.in-addr.arpa.
+
+@ 1D IN SOA localhost. root.localhost. (
+ 42 ; serial (yyyymmdd##)
+ 3H ; refresh
+ 15M ; retry
+ 1W ; expiry
+ 1D ) ; minimum ttl
+
+ 1D IN NS localhost.
+1 1D IN PTR localhost.
diff --git a/community/bind/PKGBUILD b/community/bind/PKGBUILD
new file mode 100644
index 000000000..4cff0b633
--- /dev/null
+++ b/community/bind/PKGBUILD
@@ -0,0 +1,85 @@
+# $Id: PKGBUILD 89171 2013-04-27 13:07:51Z bisson $
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: judd <jvinet@zeroflux.org>
+# Contributor: Mario Vazquez <mario_vazq@hotmail.com>
+
+pkgname=bind
+_pkgver=9.9.2-P2
+pkgver=${_pkgver//-/.}
+pkgrel=1
+pkgdesc='Berkeley Internet Name Daemon is the reference implementation of the DNS protocols'
+url='http://www.isc.org/software/bind/'
+license=('custom:ISC')
+arch=('i686' 'x86_64')
+options=('!makeflags' '!libtool')
+depends=('openssl' 'krb5' 'libxml2')
+source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz"
+ 'root.hint::http://www.internic.net/zones/named.root'
+ 'remove-tools.patch'
+ 'tmpfiles.d'
+ 'named'
+ 'named.conf'
+ 'named.conf.d'
+ 'named.service'
+ 'named.logrotate'
+ 'localhost.zone'
+ '127.0.0.zone')
+sha1sums=('3aadeaf64164a31a1cf22737ff2eea706792b68d'
+ '029f89c49550c40ec7a95116b6a33f0e5a041094'
+ '14264affa71bcfe7703d0fb7c3556c4c47efaa8b'
+ 'c5a2bcd9b0f009ae71f3a03fbdbe012196962a11'
+ '47f9ac4f6f70bc9167c1cf7859a298531197ad20'
+ 'c71a7fc02d4bf0d55e8e29d1e014607ac1d58726'
+ '7848edbfb9a848843f57c11c02b0289eefd42d00'
+ '7de92fff4b90c4821b3b133a05affd186fb93951'
+ '3fe1f0b5c1a51dc1db9ebe5e173d18c52c97169b'
+ '76a0d4cd1b913db177a5a375bebc47e5956866ec'
+ '53be0f1437ebe595240d8dbdd819939582b97fb9')
+provides=('dns-server')
+
+install=install
+backup=('etc/logrotate.d/named'
+ 'etc/conf.d/named'
+ 'etc/named.conf')
+
+build() {
+ cd "${srcdir}/bind-${_pkgver}"
+
+ patch -p1 -i ../remove-tools.patch
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static \
+ --disable-linux-caps \
+ --with-openssl \
+ --with-libxml2 \
+ --with-libtool \
+
+ make
+}
+
+package() {
+ cd "${srcdir}/bind-${_pkgver}"
+
+ install -Dm644 COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+ make DESTDIR="${pkgdir}" install
+
+ rmdir "${pkgdir}/var/run"
+ install -d "${pkgdir}"/usr/share/doc/bind
+ install doc/arm/*.html "${pkgdir}"/usr/share/doc/bind
+
+ install -D -m755 ../named "${pkgdir}"/etc/rc.d/named
+ install -D -m644 ../tmpfiles.d "${pkgdir}"/usr/lib/tmpfiles.d/named.conf
+ install -D -m644 ../named.conf.d "${pkgdir}"/etc/conf.d/named
+ install -D -m644 ../named.service "${pkgdir}"/usr/lib/systemd/system/named.service
+ install -D -m600 ../named.logrotate "${pkgdir}"/etc/logrotate.d/named
+ install -D -m640 -o 0 -g 40 ../named.conf "${pkgdir}"/etc/named.conf
+
+ install -d -m750 -o 0 -g 40 "${pkgdir}"/var/named
+ install -m640 -o 0 -g 40 ../root.hint "${pkgdir}"/var/named
+ install -m640 -o 0 -g 40 ../127.0.0.zone "${pkgdir}"/var/named
+ install -m640 -o 0 -g 40 ../localhost.zone "${pkgdir}"/var/named
+}
diff --git a/community/bind/install b/community/bind/install
new file mode 100644
index 000000000..287d0e05b
--- /dev/null
+++ b/community/bind/install
@@ -0,0 +1,21 @@
+post_install() {
+ getent group named &>/dev/null || groupadd -g 40 named
+ getent passwd named &>/dev/null || useradd -u 40 -c "BIND DNS Server" -g named -d /var/named -s /bin/false named
+ passwd -l named &>/dev/null
+
+ touch var/log/named.log
+ chown named:named var/log/named.log
+
+ # create an rndc.key if it doesn't already exist
+ if [[ ! -s etc/rndc.key ]]; then
+ usr/sbin/rndc-confgen -r /dev/urandom -b 256 | head -n 5 >>etc/rndc.key
+ chown root:named etc/rndc.key
+ chmod 640 etc/rndc.key
+ fi
+}
+
+pre_remove() {
+ getent passwd named &>/dev/null && userdel named >/dev/null
+ getent group named &>/dev/null && groupdel named >/dev/null
+ return 0
+}
diff --git a/community/bind/localhost.zone b/community/bind/localhost.zone
new file mode 100644
index 000000000..e3ff9641c
--- /dev/null
+++ b/community/bind/localhost.zone
@@ -0,0 +1,10 @@
+$ORIGIN localhost.
+@ 1D IN SOA @ root (
+ 42 ; serial (yyyymmdd##)
+ 3H ; refresh
+ 15M ; retry
+ 1W ; expiry
+ 1D ) ; minimum ttl
+
+ 1D IN NS @
+ 1D IN A 127.0.0.1
diff --git a/community/bind/named b/community/bind/named
new file mode 100755
index 000000000..65dd0fe82
--- /dev/null
+++ b/community/bind/named
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+. /etc/conf.d/named
+
+PIDFILE=/run/named/named.pid
+PID=$(cat $PIDFILE 2>/dev/null)
+readlink -q /proc/$PID/exe | grep -q '^/usr/sbin/named' || { PID=; rm $PIDFILE 2>/dev/null; }
+
+case "$1" in
+ start)
+ stat_busy "Starting BIND"
+ [ -z "$PID" ] && /usr/sbin/named ${NAMED_ARGS}
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon named
+ stat_done
+ fi
+ ;;
+ stop)
+ stat_busy "Stopping BIND"
+ [ ! -z "$PID" ] && kill $PID &> /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon named
+ stat_done
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ reload)
+ stat_busy "Reloading BIND"
+ [ ! -z "$PID" ] && rndc reload &>/dev/null || kill -HUP $PID &>/dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ stat_done
+ fi
+ ;;
+ *)
+ echo "usage: $0 {start|stop|reload|restart}"
+esac
+exit 0
diff --git a/community/bind/named.conf b/community/bind/named.conf
new file mode 100644
index 000000000..4aaf19a49
--- /dev/null
+++ b/community/bind/named.conf
@@ -0,0 +1,64 @@
+//
+// /etc/named.conf
+//
+
+options {
+ directory "/var/named";
+ pid-file "/run/named/named.pid";
+ auth-nxdomain yes;
+ datasize default;
+// Uncomment these to enable IPv6 connections support
+// IPv4 will still work:
+// listen-on-v6 { any; };
+// Add this for no IPv4:
+// listen-on { none; };
+
+ // Default security settings.
+ allow-recursion { 127.0.0.1; };
+ allow-transfer { none; };
+ allow-update { none; };
+ version none;
+ hostname none;
+ server-id none;
+};
+
+zone "localhost" IN {
+ type master;
+ file "localhost.zone";
+ allow-transfer { any; };
+};
+
+zone "0.0.127.in-addr.arpa" IN {
+ type master;
+ file "127.0.0.zone";
+ allow-transfer { any; };
+};
+
+zone "." IN {
+ type hint;
+ file "root.hint";
+};
+
+//zone "example.org" IN {
+// type slave;
+// file "example.zone";
+// masters {
+// 192.168.1.100;
+// };
+// allow-query { any; };
+// allow-transfer { any; };
+//};
+
+logging {
+ channel xfer-log {
+ file "/var/log/named.log";
+ print-category yes;
+ print-severity yes;
+ print-time yes;
+ severity info;
+ };
+ category xfer-in { xfer-log; };
+ category xfer-out { xfer-log; };
+ category notify { xfer-log; };
+};
+
diff --git a/community/bind/named.conf.d b/community/bind/named.conf.d
new file mode 100644
index 000000000..aecbd2307
--- /dev/null
+++ b/community/bind/named.conf.d
@@ -0,0 +1,4 @@
+#
+# Parameters to be passed to BIND
+#
+NAMED_ARGS="-u named"
diff --git a/community/bind/named.logrotate b/community/bind/named.logrotate
new file mode 100644
index 000000000..5f9a47693
--- /dev/null
+++ b/community/bind/named.logrotate
@@ -0,0 +1,6 @@
+/var/log/named.log {
+ missingok
+ postrotate
+ /bin/kill -HUP `cat /run/named/named.pid 2>/dev/null` 2>/dev/null || true
+ endscript
+}
diff --git a/community/bind/named.service b/community/bind/named.service
new file mode 100644
index 000000000..c21f13f4b
--- /dev/null
+++ b/community/bind/named.service
@@ -0,0 +1,11 @@
+[Unit]
+Description=Internet domain name server
+After=network.target
+
+[Service]
+ExecStart=/usr/sbin/named -f -u named
+ExecReload=/usr/sbin/rndc reload
+ExecStop=/usr/sbin/rndc stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/bind/remove-tools.patch b/community/bind/remove-tools.patch
new file mode 100644
index 000000000..29b4c9c5f
--- /dev/null
+++ b/community/bind/remove-tools.patch
@@ -0,0 +1,12 @@
+diff -aur old/bin/Makefile.in new/bin/Makefile.in
+--- old/bin/Makefile.in 2009-10-05 05:07:08.000000000 -0700
++++ new/bin/Makefile.in 2011-08-28 19:14:17.025674400 -0700
+@@ -19,7 +19,7 @@
+ VPATH = @srcdir@
+ top_srcdir = @top_srcdir@
+
+-SUBDIRS = named rndc dig dnssec tests tools nsupdate \
++SUBDIRS = named rndc dnssec tests tools nsupdate \
+ check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@
+ TARGETS =
+
diff --git a/community/bind/tmpfiles.d b/community/bind/tmpfiles.d
new file mode 100644
index 000000000..1cfc82d08
--- /dev/null
+++ b/community/bind/tmpfiles.d
@@ -0,0 +1 @@
+d /run/named 0750 named named -