diff options
Diffstat (limited to 'community/bind-geodns')
-rw-r--r-- | community/bind-geodns/127.0.0.zone | 11 | ||||
-rw-r--r-- | community/bind-geodns/PKGBUILD | 66 | ||||
-rw-r--r-- | community/bind-geodns/bind.install | 28 | ||||
-rw-r--r-- | community/bind-geodns/bind.so_bsdcompat.diff | 11 | ||||
-rw-r--r-- | community/bind-geodns/localhost.zone | 10 | ||||
-rwxr-xr-x | community/bind-geodns/named | 41 | ||||
-rw-r--r-- | community/bind-geodns/named.conf | 58 | ||||
-rw-r--r-- | community/bind-geodns/named.conf.d | 4 | ||||
-rw-r--r-- | community/bind-geodns/named.logrotate | 6 | ||||
-rw-r--r-- | community/bind-geodns/root.hint | 80 |
10 files changed, 315 insertions, 0 deletions
diff --git a/community/bind-geodns/127.0.0.zone b/community/bind-geodns/127.0.0.zone new file mode 100644 index 000000000..509c311f6 --- /dev/null +++ b/community/bind-geodns/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-geodns/PKGBUILD b/community/bind-geodns/PKGBUILD new file mode 100644 index 000000000..176e1b84e --- /dev/null +++ b/community/bind-geodns/PKGBUILD @@ -0,0 +1,66 @@ +# $Id: PKGBUILD 44183 2011-04-04 13:06:27Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> + +pkgname=bind-geodns +pkgver=9.4.1 +_pkgver=9.4.1-P1 +pkgrel=4 +pkgdesc="bind named server with geoip patch can return ip depending on requester location" +arch=(i686 x86_64) +url="http://www.caraytech.com/geodns/" +license=('custom:ISC') +backup=(etc/named.conf etc/logrotate.d/named etc/conf.d/named etc/rndc.key) +depends=('openssl' 'geoip') +provides=('dns-server' 'bind' 'dnsutils') +conflicts=('bind' 'dnsutils') +options=('!libtool') +install=bind.install +source=(ftp://ftp.isc.org/isc/bind9/${_pkgver}/bind-${_pkgver}.tar.gz + bind.so_bsdcompat.diff \ + named.conf \ + localhost.zone \ + 127.0.0.zone + named \ + root.hint \ + named.logrotate \ + named.conf.d \ + http://www.caraytech.com/geodns/bind-9.4.1-geodns-patch.tar.gz) +md5sums=('44e0514e6105ddaa235394045d9aeb0c' + '447d58721cfee0e1e377b46f7d50b327' + 'f26d015142fa0a8226b42bbf9d490aa4' + 'ab5beef0b41eb6376c7f1f4ee233172b' + 'bdbdfe4990b0903984306dd14f98b951' + '94f8ae2b337a4207fda88cb64f79f302' + '8c212c0260d708f15f75d3adc71f0149' + '91b3463a181561deb845acc122713a2a' + '475fde63600d7d95980de991f02d6b6d' + 'd3d515bdef525f9a31787b36a105e690') + +build() { + export MAKEFLAGS="-j1" + cd $srcdir/bind-${_pkgver} + patch -Np0 -i $srcdir/bind.so_bsdcompat.diff + patch -Np1 -i $srcdir/bind-9.4.1-geodns-patch/patch.diff + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ + --with-libtool --enable-shared --disable-threads \ + --with-openssl=yes --disable-linux-caps --without-libxml2 + make LDFLAGS=-lGeoIP + make DESTDIR=$pkgdir install + install -D -m755 ../named $pkgdir/etc/rc.d/named + install -D -m640 ../named.conf $pkgdir/etc/named.conf + install -D -m600 ../127.0.0.zone $pkgdir/var/named/127.0.0.zone + install -D -m600 ../localhost.zone $pkgdir/var/named/localhost.zone + + #grabbed from ftp://ftp.rs.internic.net/domain/named.root + install -D -m600 ../root.hint $pkgdir/var/named/root.hint + install -D -m600 ../named.logrotate $pkgdir/etc/logrotate.d/named + install -D -m644 ../named.conf.d $pkgdir/etc/conf.d/named + install -D -m644 COPYRIGHT $pkgdir/usr/share/licenses/$pkgname/LICENSE + + # adjust ownerships (our named user will be uid/gid 40/40) + chmod 700 $pkgdir/var/named + chown root:40 $pkgdir/etc/named.conf + chown -R 40:40 $pkgdir/var/named + + mv $pkgdir/usr/man $pkgdir/usr/share/ +} diff --git a/community/bind-geodns/bind.install b/community/bind-geodns/bind.install new file mode 100644 index 000000000..39ae9f202 --- /dev/null +++ b/community/bind-geodns/bind.install @@ -0,0 +1,28 @@ +post_install() { + getent group named >/dev/null || usr/sbin/groupadd -g 40 named + getent passwd named >/dev/null || usr/sbin/useradd -u 40 -c "BIND DNS Server" -g named -d /var/named -s /bin/false named + usr/bin/passwd -l named &>/dev/null + + [ -f var/log/named.log ] || : >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 -b 256 | head -n 5 >>etc/rndc.key + chown root.named etc/rndc.key + chmod 640 etc/rndc.key + fi +} + +post_upgrade() { + post_install $1 + # old versions of this package didn't have a named user + chown -R named:named var/named + # old versions of this package didn't set permissions correct + chown root:named etc/named.conf + chmod 640 etc/named.conf +} + +pre_remove() { + usr/sbin/userdel named &>/dev/null + usr/sbin/groupdel named &>/dev/null +} diff --git a/community/bind-geodns/bind.so_bsdcompat.diff b/community/bind-geodns/bind.so_bsdcompat.diff new file mode 100644 index 000000000..5d78031b7 --- /dev/null +++ b/community/bind-geodns/bind.so_bsdcompat.diff @@ -0,0 +1,11 @@ +--- ./lib/isc/unix/socket.c.orig 2005-11-03 17:08:42.000000000 -0600 ++++ ./lib/isc/unix/socket.c 2006-02-18 13:09:15.000000000 -0600 +@@ -245,6 +245,8 @@ + + #define SOCK_DEAD(s) ((s)->references == 0) + ++#undef SO_BSDCOMPAT ++ + static void + manager_log(isc_socketmgr_t *sockmgr, + isc_logcategory_t *category, isc_logmodule_t *module, int level, diff --git a/community/bind-geodns/localhost.zone b/community/bind-geodns/localhost.zone new file mode 100644 index 000000000..e3ff9641c --- /dev/null +++ b/community/bind-geodns/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-geodns/named b/community/bind-geodns/named new file mode 100755 index 000000000..f250907b9 --- /dev/null +++ b/community/bind-geodns/named @@ -0,0 +1,41 @@ +#!/bin/bash + +NAMED_ARGS= +[ -f /etc/conf.d/named ] && . /etc/conf.d/named + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/named` +case "$1" in + start) + stat_busy "Starting DNS" + + [ -d /var/run/named ] || { mkdir -p /var/run/named; chown 40:40 /var/run/named; } + [ -z "$PID" ] && /usr/sbin/named ${NAMED_ARGS} + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon named + stat_done + fi + ;; + stop) + stat_busy "Stopping DNS" + [ ! -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 + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community/bind-geodns/named.conf b/community/bind-geodns/named.conf new file mode 100644 index 000000000..862134326 --- /dev/null +++ b/community/bind-geodns/named.conf @@ -0,0 +1,58 @@ +// +// /etc/named.conf +// + +options { + directory "/var/named"; + pid-file "/var/run/named/named.pid"; + auth-nxdomain yes; + datasize default; + allow-recursion { 127.0.0.1; }; +// Uncomment these to enable IPv6 connections support +// IPv4 will still work +// listen-on { none; }; +// listen-on-v6 { any; }; +}; + +zone "localhost" IN { + type master; + file "localhost.zone"; + allow-update { none; }; + allow-transfer { any; }; +}; + +zone "0.0.127.in-addr.arpa" IN { + type master; + file "127.0.0.zone"; + allow-update { none; }; + 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-geodns/named.conf.d b/community/bind-geodns/named.conf.d new file mode 100644 index 000000000..aecbd2307 --- /dev/null +++ b/community/bind-geodns/named.conf.d @@ -0,0 +1,4 @@ +# +# Parameters to be passed to BIND +# +NAMED_ARGS="-u named" diff --git a/community/bind-geodns/named.logrotate b/community/bind-geodns/named.logrotate new file mode 100644 index 000000000..ef1a2d032 --- /dev/null +++ b/community/bind-geodns/named.logrotate @@ -0,0 +1,6 @@ +/var/log/named.log { + missingok + postrotate + /bin/kill -HUP `cat /var/run/named/named.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/community/bind-geodns/root.hint b/community/bind-geodns/root.hint new file mode 100644 index 000000000..4ed4c0b3a --- /dev/null +++ b/community/bind-geodns/root.hint @@ -0,0 +1,80 @@ +; This file holds the information on root name servers needed to +; initialize cache of Internet domain name servers +; (e.g. reference this file in the "cache . <file>" +; configuration file of BIND domain name servers). +; +; This file is made available by InterNIC +; under anonymous FTP as +; file /domain/named.root +; on server FTP.INTERNIC.NET +; -OR- RS.INTERNIC.NET +; +; last update: Nov 01, 2007 +; related version of root zone: 2007110100 +; +; +; formerly NS.INTERNIC.NET +; +. 3600000 IN NS A.ROOT-SERVERS.NET. +A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 +; +; formerly NS1.ISI.EDU +; +. 3600000 NS B.ROOT-SERVERS.NET. +B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201 +; +; formerly C.PSI.NET +; +. 3600000 NS C.ROOT-SERVERS.NET. +C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 +; +; formerly TERP.UMD.EDU +; +. 3600000 NS D.ROOT-SERVERS.NET. +D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 +; +; formerly NS.NASA.GOV +; +. 3600000 NS E.ROOT-SERVERS.NET. +E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 +; +; formerly NS.ISC.ORG +; +. 3600000 NS F.ROOT-SERVERS.NET. +F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 +; +; formerly NS.NIC.DDN.MIL +; +. 3600000 NS G.ROOT-SERVERS.NET. +G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 +; +; formerly AOS.ARL.ARMY.MIL +; +. 3600000 NS H.ROOT-SERVERS.NET. +H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 +; +; formerly NIC.NORDU.NET +; +. 3600000 NS I.ROOT-SERVERS.NET. +I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 +; +; operated by VeriSign, Inc. +; +. 3600000 NS J.ROOT-SERVERS.NET. +J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30 +; +; operated by RIPE NCC +; +. 3600000 NS K.ROOT-SERVERS.NET. +K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 +; +; operated by ICANN +; +. 3600000 NS L.ROOT-SERVERS.NET. +L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42 +; +; operated by WIDE +; +. 3600000 NS M.ROOT-SERVERS.NET. +M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 +; End of File |