diff options
Diffstat (limited to 'community/bind')
-rw-r--r-- | community/bind/127.0.0.zone | 11 | ||||
-rw-r--r-- | community/bind/PKGBUILD | 81 | ||||
-rw-r--r-- | community/bind/bind.install | 23 | ||||
-rw-r--r-- | community/bind/localhost.zone | 10 | ||||
-rw-r--r-- | community/bind/named.conf | 64 | ||||
-rw-r--r-- | community/bind/named.logrotate | 6 | ||||
-rw-r--r-- | community/bind/named.service | 11 | ||||
-rw-r--r-- | community/bind/tmpfiles.d | 1 |
8 files changed, 207 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..e0b63c374 --- /dev/null +++ b/community/bind/PKGBUILD @@ -0,0 +1,81 @@ +# $Id: PKGBUILD 94599 2013-07-27 17:55:53Z seblu $ +# Maintainer: Sébastien Luttringer +# Contributor: Gaetan Bisson <bisson@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> +# Contributor: Mario Vazquez <mario_vazq@hotmail.com> + +pkgname=bind +_pkgver=9.9.3-P2 +pkgver=${_pkgver//-/.} +pkgrel=1 +pkgdesc='The ISC BIND nameserver' +url='http://www.isc.org/software/bind/' +license=('custom:ISC') +arch=('i686' 'x86_64') +options=('!makeflags' '!libtool') +depends=('openssl' 'krb5' 'libxml2') +provides=('dns-server') +backup=('etc/logrotate.d/named' + 'etc/named.conf') +install=$pkgname.install +source=("http://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz" + 'root.hint::http://www.internic.net/zones/named.root' + 'tmpfiles.d' + 'named.conf' + 'named.service' + 'named.logrotate' + 'localhost.zone' + '127.0.0.zone') +sha1sums=('a0235692c488b3fadf54a15858b1f13ae2ab6979' + '029f89c49550c40ec7a95116b6a33f0e5a041094' + 'c5a2bcd9b0f009ae71f3a03fbdbe012196962a11' + 'c71a7fc02d4bf0d55e8e29d1e014607ac1d58726' + 'cb2e81b4cbf9efafb3e81e3752f0154e779cc7ec' + '3fe1f0b5c1a51dc1db9ebe5e173d18c52c97169b' + '76a0d4cd1b913db177a5a375bebc47e5956866ec' + '53be0f1437ebe595240d8dbdd819939582b97fb9') + +prepare() { + # remove dig to avoid conflict with dnsutils + sed -i 's/dig//' $pkgname-$_pkgver/bin/Makefile.in +} + +build() { + cd bind-$_pkgver + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --disable-static \ + --disable-linux-caps \ + --with-openssl \ + --with-libxml2 \ + --with-libtool + make +} + +package() { + cd "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/$pkgname" + install doc/arm/*.html "$pkgdir/usr/share/doc/$pkgname" + + cd "$srcdir" + install -D -m644 tmpfiles.d "$pkgdir/usr/lib/tmpfiles.d/named.conf" + 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" +} + +# vim:set ts=2 sw=2 et: diff --git a/community/bind/bind.install b/community/bind/bind.install new file mode 100644 index 000000000..170042111 --- /dev/null +++ b/community/bind/bind.install @@ -0,0 +1,23 @@ +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 + 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 +} + +# vim:set ts=2 sw=2 et: 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.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.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..1a7832edc --- /dev/null +++ b/community/bind/named.service @@ -0,0 +1,11 @@ +[Unit] +Description=Internet domain name server +After=network.target + +[Service] +ExecStart=/usr/bin/named -f -u named +ExecReload=/usr/bin/rndc reload +ExecStop=/usr/bin/rndc stop + +[Install] +WantedBy=multi-user.target 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 - |