summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Tkac <atkac@fedoraproject.org>2007-06-14 15:13:02 +0000
committerAdam Tkac <atkac@fedoraproject.org>2007-06-14 15:13:02 +0000
commite51da3145d2a2b884a0e41cc06ab24c154681866 (patch)
tree9e971a7e83d7ac3aa83f9c591d0af2251d9a32bb
parent7fdb7fd69365bbafa3cf83a6dc9ba2a5e24e7db8 (diff)
downloadbind-e51da3145d2a2b884a0e41cc06ab24c154681866.tar.gz
bind-e51da3145d2a2b884a0e41cc06ab24c154681866.tar.xz
bind-e51da3145d2a2b884a0e41cc06ab24c154681866.zip
- major changes in initscript. Could be LSB compatiblebind-9_4_1-6_fc8
- removed caching-nameserver subpackage and move configfiles from there into main bind package as default configuration - major changes in default configuration
-rw-r--r--bind.spec150
-rw-r--r--localdomain.zone10
-rw-r--r--localhost.zone12
-rw-r--r--named.broadcast8
-rw-r--r--named.conf (renamed from named.caching-nameserver.conf)9
-rw-r--r--named.empty8
-rwxr-xr-xnamed.init377
-rw-r--r--named.ip6.local9
-rw-r--r--named.local9
-rw-r--r--named.localhost10
-rw-r--r--named.loopback9
-rw-r--r--named.rfc1912.zones29
-rw-r--r--named.zero8
13 files changed, 273 insertions, 375 deletions
diff --git a/bind.spec b/bind.spec
index 6f43e90..10e8bbf 100644
--- a/bind.spec
+++ b/bind.spec
@@ -16,7 +16,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv
Name: bind
License: BSD-like
Version: 9.4.1
-Release: 5%{?dist}
+Release: 6%{?dist}
Epoch: 31
Url: http://www.isc.org/products/BIND/
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -37,21 +37,18 @@ Source11: named.service
Source12: README.sdb_pgsql
Source13: namedSetForwarders
Source14: namedGetForwarders
-Source16: named.caching-nameserver.conf
+Source16: named.conf
Source17: named.root
-Source18: named.local
-Source19: localhost.zone
-Source20: localdomain.zone
-Source21: named.ip6.local
-Source22: named.broadcast
-Source23: named.zero
-Source24: Copyright.caching-nameserver
-Source26: bind-chroot-admin.in
-Source27: named.rfc1912.zones
-Source28: libbind.pc
-Source29: named.conf.sample
-Source30: named.rfc1912.zones.sample
-Source31: named.root.hints
+Source18: named.localhost
+Source19: named.loopback
+Source20: named.empty
+Source21: Copyright.caching-nameserver
+Source22: bind-chroot-admin.in
+Source23: named.rfc1912.zones
+Source24: libbind.pc
+Source25: named.conf.sample
+Source26: named.rfc1912.zones.sample
+Source27: named.root.hints
# Common patches
Patch0: bind-9.2.0rc3-varrun.patch
@@ -94,6 +91,8 @@ Requires: bind-libs = %{epoch}:%{version}-%{release}, glibc >= 2.2, mktemp
Requires(post): grep, chkconfig >= 1.3.26
Requires(pre): shadow-utils
Requires(preun):chkconfig >= 1.3.26
+Obsoletes: bind-config
+Provides: bind-config
%if %{selinux}
Requires(post): policycoreutils
%endif
@@ -152,31 +151,6 @@ The bind-devel package contains all the header files and libraries
required for development with ISC BIND 9 and BIND 8
-%package -n caching-nameserver
-Summary: Default BIND configuration files for a caching nameserver
-Group: System Environment/Daemons
-Obsoletes: bind-config
-Provides: bind-config
-Requires: bind = %{epoch}:%{version}-%{release}
-Requires(post): grep
-Requires(postun): grep
-%if %{selinux}
-Requires(post): policycoreutils
-Conflicts: selinux-policy-strict < 2.2.0
-Conflicts: selinux-policy-targeted < 2.2.0
-%endif
-
-%description -n caching-nameserver
-The caching-nameserver package includes the configuration files which will make
-the ISC BIND named DNS name server act as a simple caching nameserver.
-A caching nameserver is a DNS Resolver, as defined in RFC 1035, section 7.
-ISC BIND named(8) provides a very efficient, flexible and robust resolver as
-well as a server of authoritative DNS data - many users use this package
-along with BIND to implement their primary system DNS resolver service.
-If you would like to set up a caching name server, you'll need to install
-bind, bind-libs, and bind-utils along with this package.
-
-
%package chroot
Summary: A chroot runtime environment for the ISC BIND DNS server, named(8)
Group: System Environment/Daemons
@@ -391,7 +365,7 @@ cp -fp %{SOURCE12} contrib/sdb/pgsql/
%if %{LIBBIND}
gunzip < %{SOURCE9} | (cd ${RPM_BUILD_ROOT}/usr/share; tar -xpf -)
mkdir -p ${RPM_BUILD_ROOT}/%{_libdir}/pkgconfig
-install -m 644 %{SOURCE28} $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libbind.pc
+install -m 644 %{SOURCE24} $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libbind.pc
%endif
%if %{WITH_DBUS}
mkdir -p ${RPM_BUILD_ROOT}/etc/dbus-1/system.d
@@ -434,31 +408,28 @@ find ${RPM_BUILD_ROOT}/%{_libdir} -name '*.la' -exec '/bin/rm' '-f' '{}' ';';
#
# Ghost config files:
touch ${RPM_BUILD_ROOT}/etc/named.conf
-# caching-nameserver files:
+# configuration files:
mkdir -p ${RPM_BUILD_ROOT}/{etc,var/named}
-install -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}/etc/named.caching-nameserver.conf
-install -m 644 %{SOURCE27} ${RPM_BUILD_ROOT}/etc/named.rfc1912.zones
+install -m 644 %{SOURCE16} ${RPM_BUILD_ROOT}/etc/named.conf
+install -m 644 %{SOURCE23} ${RPM_BUILD_ROOT}/etc/named.rfc1912.zones
install -m 644 %{SOURCE17} ${RPM_BUILD_ROOT}/var/named/named.ca
-install -m 644 %{SOURCE18} ${RPM_BUILD_ROOT}/var/named/named.local
-install -m 644 %{SOURCE19} ${RPM_BUILD_ROOT}/var/named/localhost.zone
-install -m 644 %{SOURCE20} ${RPM_BUILD_ROOT}/var/named/localdomain.zone
-install -m 644 %{SOURCE21} ${RPM_BUILD_ROOT}/var/named/named.ip6.local
-install -m 644 %{SOURCE22} ${RPM_BUILD_ROOT}/var/named/named.broadcast
-install -m 644 %{SOURCE23} ${RPM_BUILD_ROOT}/var/named/named.zero
-for f in /etc/named.caching-nameserver.conf /var/named/{named.ca,named.local,localhost.zone,localdomain.zone,named.ip6.local,named.broadcast,named.zero}; do
+install -m 644 %{SOURCE18} ${RPM_BUILD_ROOT}/var/named/named.localhost
+install -m 644 %{SOURCE19} ${RPM_BUILD_ROOT}/var/named/named.loopback
+install -m 644 %{SOURCE20} ${RPM_BUILD_ROOT}/var/named/named.empty
+for f in /etc/named.conf /var/named/{named.ca,named.localhost,named.loopback,named.empty}; do
touch ${RPM_BUILD_ROOT}/%{chroot_prefix}/$f;
done
install -m 644 %{SOURCE5} ./rfc1912.txt
-install -m 644 %{SOURCE24} ./Copyright
+install -m 644 %{SOURCE21} ./Copyright
# bind-chroot-admin script:
-sed -e 's^@BIND_CHROOT_PREFIX@^'%{chroot_prefix}'^;s^@BIND_DIR@^'%{bind_dir}'^' < %{SOURCE26} > bind-chroot-admin;
+sed -e 's^@BIND_CHROOT_PREFIX@^'%{chroot_prefix}'^;s^@BIND_DIR@^'%{bind_dir}'^' < %{SOURCE22} > bind-chroot-admin;
install -m 754 bind-chroot-admin ${RPM_BUILD_ROOT}/%{_sbindir}
# sample bind configuration files for %doc:
mkdir -p sample/etc sample/var/named/{data,slaves}
-cp -fp %{SOURCE29} sample/etc/named.conf
-cp -fp %{SOURCE30} sample/etc/named.rfc1912.zones
-cp -fp %{SOURCE31} sample/etc/
-cp -fp %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23} sample/var/named
+cp -fp %{SOURCE25} sample/etc/named.conf
+cp -fp %{SOURCE26} sample/etc/named.rfc1912.zones
+cp -fp %{SOURCE27} sample/etc/
+cp -fp %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE20} sample/var/named
for f in my.internal.zone.db slaves/my.slave.internal.zone.db slaves/my.ddns.internal.zone.db my.external.zone.db; do
echo '@ in soa localhost. root 1 3H 15M 1W 1D
ns localhost.' > sample/var/named/$f;
@@ -495,6 +466,10 @@ if [ "$1" -eq 1 ]; then
/bin/sed -i -e 's^@KEY@^'`/usr/sbin/dns-keygen`'^' /etc/rndc.key ;
fi
[ -x /sbin/restorecon ] && /sbin/restorecon /etc/rndc.* /etc/named.* >/dev/null 2>&1 ;
+
+ [ -x /sbin/restorecon] && /sbin/restorecon /etc/named.conf >/dev/null 2>&1 || :;
+ [ -x /sbin/restorecon] && /sbin/restorecon /etc/named.rfc1912.zones >/dev/null 2>&1 || :;
+ [ -x /usr/sbin/bind-chroot-admin ] && /usr/sbin/bind-chroot-admin --sync;
fi
:;
@@ -537,17 +512,6 @@ fi
%postun libs -p /sbin/ldconfig
-%post -n caching-nameserver
-if [ "$1" -gt 0 ]; then
- /sbin/restorecon /etc/named.caching-nameserver.conf >/dev/null 2>&1 || :;
- /sbin/restorecon /etc/named.rfc1912.zones >/dev/null 2>&1 || :;
- if [ -x /usr/sbin/bind-chroot-admin ]; then
- /usr/sbin/bind-chroot-admin --sync;
- fi;
-fi;
-:;
-
-
%post chroot
if [ "$1" -gt 0 ]; then
/usr/sbin/bind-chroot-admin --enable > /dev/null 2>&1;
@@ -609,6 +573,21 @@ rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(0640,root,named,0750)
%dir /var/named
+%config(noreplace) %verify(not link) /etc/named.conf
+%ghost %config(noreplace) %{chroot_prefix}/etc/named.conf
+%config(noreplace) %verify(not link) /etc/named.rfc1912.zones
+%ghost %config(noreplace) %{chroot_prefix}/etc/named.rfc1912.zones
+%config %verify(not link) /var/named/named.ca
+%ghost %config %{chroot_prefix}/var/named/named.ca
+%config %verify(not link) /var/named/named.localhost
+%ghost %config %{chroot_prefix}/var/named/named.localhost
+%config %verify(not link) /var/named/named.loopback
+%ghost %config %{chroot_prefix}/var/named/named.loopback
+%config %verify(not link) /var/named/named.empty
+%ghost %config %{chroot_prefix}/var/named/named.empty
+%defattr(0644,root,root,0755)
+%doc Copyright
+%doc rfc1912.txt
%defattr(0660,named,named,0770)
%dir /var/named/slaves
%dir /var/named/data
@@ -623,8 +602,6 @@ rm -rf ${RPM_BUILD_ROOT}
# %verify(not size,not md5) %config(noreplace) %attr(0640,root,named) /etc/rndc.conf
# ^- Let the named internal default rndc.conf be used -
# rndc.conf not required unless it differs from default.
-%ghost %config(noreplace) /etc/named.conf
-# ^- Ensure something owns named.conf, even though it may not be installed at all
%ghost %config(noreplace) /etc/rndc.conf
# ^- The default rndc.conf which uses rndc.key is in named's default internal config -
# so rndc.conf is not necessary.
@@ -705,32 +682,6 @@ rm -rf ${RPM_BUILD_ROOT}
%{_mandir}/man5/libbind-*
%endif
-%files -n caching-nameserver
-%defattr(0640,root,named,0750)
-%config %verify(not link) /etc/named.caching-nameserver.conf
-%ghost %config %{chroot_prefix}/etc/named.caching-nameserver.conf
-%config %verify(not link) /etc/named.rfc1912.zones
-%ghost %config %{chroot_prefix}/etc/named.rfc1912.zones
-%ghost %config(noreplace) /etc/named.conf
-%ghost %config(noreplace) %{chroot_prefix}/etc/named.conf
-%config %verify(not link) /var/named/named.ca
-%ghost %config %{chroot_prefix}/var/named/named.ca
-%config %verify(not link) /var/named/named.local
-%ghost %config %{chroot_prefix}/var/named/named.local
-%config %verify(not link) /var/named/localhost.zone
-%ghost %config %{chroot_prefix}/var/named/localhost.zone
-%config %verify(not link) /var/named/localdomain.zone
-%ghost %config %{chroot_prefix}/var/named/localdomain.zone
-%config %verify(not link) /var/named/named.ip6.local
-%ghost %config %{chroot_prefix}/var/named/named.ip6.local
-%config %verify(not link) /var/named/named.broadcast
-%ghost %config %{chroot_prefix}/var/named/named.broadcast
-%config %verify(not link) /var/named/named.zero
-%ghost %config %{chroot_prefix}/var/named/named.zero
-%defattr(0644,root,root,0755)
-%doc Copyright
-%doc rfc1912.txt
-
%files chroot
%defattr(0640,root,named,0750)
%dir %prefix
@@ -740,7 +691,6 @@ rm -rf ${RPM_BUILD_ROOT}
%dir %prefix/var/run
%dir %prefix/var/named
%ghost %config(noreplace) %prefix/etc/named.conf
-%ghost %config(noreplace) %prefix/etc/named.caching-nameserver.conf
%ghost %config(noreplace) %prefix/etc/rndc.key
%defattr(0660,named,named,0770)
%dir %prefix/var/named/slaves
@@ -772,6 +722,12 @@ rm -rf ${RPM_BUILD_ROOT}
%endif
%changelog
+* Tue Jun 12 2007 Adam Tkac <atkac redhat com> 31:9.4.1-6.fc8
+- major changes in initscript. Could be LSB compatible now
+- removed caching-nameserver subpackage. Move configs from this
+ package to main bind package as default configuration and major
+ configuration cleanup
+
* Tue Jun 04 2007 Adam Tkac <atkac redhat com> 31:9.4.1-5.fc8
- very minor compatibility change in bind-chroot-admin (line 215)
- enabled IDN support by default and don't distribute IDN libraries
diff --git a/localdomain.zone b/localdomain.zone
deleted file mode 100644
index a9b047b..0000000
--- a/localdomain.zone
+++ /dev/null
@@ -1,10 +0,0 @@
-$TTL 86400
-@ IN SOA localhost root (
- 42 ; serial (d. adams)
- 3H ; refresh
- 15M ; retry
- 1W ; expiry
- 1D ) ; minimum
- IN NS localhost
-localhost IN A 127.0.0.1
-
diff --git a/localhost.zone b/localhost.zone
deleted file mode 100644
index 61b70d6..0000000
--- a/localhost.zone
+++ /dev/null
@@ -1,12 +0,0 @@
-$TTL 86400
-@ IN SOA @ root (
- 42 ; serial (d. adams)
- 3H ; refresh
- 15M ; retry
- 1W ; expiry
- 1D ) ; minimum
-
- IN NS @
- IN A 127.0.0.1
- IN AAAA ::1
-
diff --git a/named.broadcast b/named.broadcast
deleted file mode 100644
index dca18f6..0000000
--- a/named.broadcast
+++ /dev/null
@@ -1,8 +0,0 @@
-$TTL 86400
-@ IN SOA localhost. root.localhost. (
- 42 ; serial (d. adams)
- 3H ; refresh
- 15M ; retry
- 1W ; expiry
- 1D ) ; minimum
- IN NS localhost.
diff --git a/named.caching-nameserver.conf b/named.conf
index bb06090..efd7e56 100644
--- a/named.caching-nameserver.conf
+++ b/named.conf
@@ -11,6 +11,7 @@
// to create named.conf - edits to this file will be lost on
// caching-nameserver package upgrade.
//
+
options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
@@ -21,10 +22,18 @@ options {
allow-query { localhost; };
recursion yes;
};
+
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
+
+zone "." IN {
+ type hint;
+ file "named.ca";
+};
+
include "/etc/named.rfc1912.zones";
+
diff --git a/named.empty b/named.empty
new file mode 100644
index 0000000..fa858eb
--- /dev/null
+++ b/named.empty
@@ -0,0 +1,8 @@
+$TTL 1D
+@ IN SOA localhost. root.localhost. (
+ 0 ; serial
+ 3H ; refresh
+ 1H ; retry
+ 1W ; expire
+ 3H ) ; minimum
+ IN NS localhost.
diff --git a/named.init b/named.init
index 06c0561..8c3176e 100755
--- a/named.init
+++ b/named.init
@@ -8,17 +8,22 @@
# that is used to resolve host names to IP addresses.
# probe: true
+# Return codes
+# - script (all except status command)
+# - 2 invalid or excess argument(s)
+# - 3 unimplemented feature (for example, "reload")
+# - 4 user had insufficient privilege
+# - 5 program is not installed
+# - 6 program is not configured
+# - 7 program is not running
+
# Source function library.
. /etc/rc.d/init.d/functions
-# Source networking configuration.
-[ -r /etc/sysconfig/network ] && . /etc/sysconfig/network
-
-# Check that networking is up.
-[ "${NETWORKING}" = "no" ] && exit 1
-
[ -r /etc/sysconfig/named ] && . /etc/sysconfig/named
+RETVAL=0
+
# Don't kill named during clean-up
NAMED_SHUTDOWN_TIMEOUT=${NAMED_SHUTDOWN_TIMEOUT:-100}
@@ -30,191 +35,180 @@ if [ -n "$ROOTDIR" ]; then
fi;
fi
-RETVAL=0
+# Run SDB backend?
named='named'
-if [[ "$ENABLE_SDB" = [yY1]* ]] && [ -x /usr/sbin/named_sdb ]; then
- named='named_sdb';
+if `echo "$ENABLE_SDB" | grep -q ^[yY1].*`; then
+ named='named_sdb';
fi;
-prog=$named
-[ -x /usr/sbin/$named ] || exit 1
+# Manage forwarders through D-BUS?
+for a in $OPTIONS; do
+ if [ $a = "-D" ]; then
+ dbusEnabled=1;
+ fi;
+done
+if [ -z $dbusEnabled ] && [ -z "$DISABLE_NAMED_DBUS" ] ; then
+ for l in 0 1 2 3 4 5 6; do
+ if /sbin/chkconfig --level=$l NetworkManager >/dev/null 2>&1; then
+ dbusEnabled=1;
+ fi;
+ done
+ [ -z $NetworkManagerEnabled ] || OPTIONS="$OPTIONS -D";
+fi;
-nmdcOption()
-{ let i=0;
- for a in $*;
- do ((++i));
- if [ $a = -c ]; then
- ((++i));
- eval 'echo $'$i;
- elif [[ $a = -c* ]]; then
- echo ${a#-c};
- fi;
- done;
-}
+# Check if all what named needs running
+start()
+{
+ # Source networking configuration.
+ [ -r /etc/sysconfig/network ] && . /etc/sysconfig/network
-named_c_option=`nmdcOption $OPTIONS`;
-named_conf=${named_c_option:-/etc/named.conf};
+ # Check that networking is up
+ [ "${NETWORKING}" = "no" ] && exit 1
-if [ ! -r ${ROOTDIR}${named_conf} ] ; then
- if [ -z "$named_c_option" ] && [ -r ${ROOTDIR}/etc/named.caching-nameserver.conf ]; then
- named_conf='/etc/named.caching-nameserver.conf';
- OPTIONS="$OPTIONS -c ${named_conf}";
- else
- echo Locating $ROOTDIR/${named_conf} failed.
- echo $"I can't find any configuration file. You can create it by system-config-bind"
- echo $"or install caching-nameserver."
- failure
- echo;
- exit 1;
- fi;
-fi;
-dbusEnabled=0;
-for a in $OPTIONS; do
- if [ $a = "-D" ]; then
- dbusEnabled=1;
+ [ -x /usr/sbin/$named ] || exit 5
+
+ # Handle -c option
+ previous_option='unspecified';
+ for a in $OPTIONS; do
+ if [ $previous_option = '-c' ]; then
+ named_conf=$a;
fi;
-done
+ previous_option=$a;
+ done;
-if [ $dbusEnabled -eq 0 ] && [ -z "$DISABLE_NAMED_DBUS" ] ; then
- NetworkManagerEnabled=0
- for l in 0 1 2 3 4 5 6; do
- if /sbin/chkconfig --level=$l NetworkManager >/dev/null 2>&1; then
- NetworkManagerEnabled=1;
- fi;
- done
- if [ $NetworkManagerEnabled -eq 1 ]; then
- OPTIONS="$OPTIONS -D";
+ named_conf=${named_conf:-/etc/named.conf};
+
+ if [ ! -r $named_conf ]; then
+ echo 'Cannot find configuration file. You could create it by system-config-bind'
+ exit 6;
+ fi;
+
+ # all pre-start is done, lets start named
+ echo -n $"Starting $named: "
+ if [ -n "`/sbin/pidof -o %PPID $named`" ]; then
+ echo -n $"$named: already running"
+ failure
+ echo
+ exit 1;
+ fi;
+
+ ckcf_options='-z'; # enable named-checkzone for each zone (9.3.1+) !
+ if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
+ OPTIONS="${OPTIONS} -t ${ROOTDIR}"
+ ckcf_options="$ckcf_options -t ${ROOTDIR}";
+ [ -s /etc/localtime ] && cp -fp /etc/localtime ${ROOTDIR}/etc/localtime;
+ [ -d ${ROOTDIR}/proc ] || mkdir -p ${ROOTDIR}/proc;
+ if ! egrep -q '^/proc[[:space:]]+'${ROOTDIR}'/proc' /proc/mounts; then
+ mount --bind -n /proc ${ROOTDIR}/proc >/dev/null 2>&1;
+ fi
+ if [ ! -z $dbusEnabled ]; then
+ if ! egrep -q '^/[^[:space:]]+[[:space:]]+'${ROOTDIR}'/var/run/dbus' /proc/mounts; then
+ mkdir -p ${ROOTDIR}/var/run/dbus
+ [ -d /var/run/dbus ] || mkdir -p /var/run/dbus;
+ mount --bind -n /var/run/dbus ${ROOTDIR}/var/run/dbus > /dev/null 2>&1;
+ fi;
fi;
- dbusEnabled=1;
-fi
+ fi
-start() {
- # Start daemons.
- echo -n $"Starting $named: "
- if [ -n "`/sbin/pidof -o %PPID $named`" ]; then
- echo -n $"$named: already running"
- failure
- echo
- return 1
- fi
- ckcf_options='-z'; # enable named-checkzone for each zone (9.3.1+) !
- if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
- OPTIONS="${OPTIONS} -t ${ROOTDIR}"
- ckcf_options="$ckcf_options -t ${ROOTDIR}";
- if [ -s /etc/localtime ]; then
- cp -fp /etc/localtime ${ROOTDIR}/etc/localtime
- fi;
- if [ ! -d ${ROOTDIR}/proc ]; then
- mkdir -p ${ROOTDIR}/proc
- fi
- if ! egrep -q '^/proc[[:space:]]+'${ROOTDIR}'/proc' /proc/mounts; then
- mount --bind -n /proc ${ROOTDIR}/proc >/dev/null 2>&1
- fi
- if [ $dbusEnabled -eq 1 ]; then
- if ! egrep -q '^/[^[:space:]]+[[:space:]]+'${ROOTDIR}'/var/run/dbus' /proc/mounts; then
- mkdir -p ${ROOTDIR}/var/run/dbus
- if [ ! -d /var/run/dbus ] ; then
- mkdir -p /var/run/dbus ;
- fi;
- mount --bind -n /var/run/dbus ${ROOTDIR}/var/run/dbus > /dev/null 2>&1;
- fi;
- fi;
- fi
+ RETVAL=0
+ # check if configuration is correct
+ if [ -x /usr/sbin/named-checkconf ] && [ -x /usr/sbin/named-checkzone ] && /usr/sbin/named-checkconf $ckcf_options ${named_conf} >/dev/null 2>&1; then
- conf_ok=0;
- if [ -x /usr/sbin/named-checkconf ] && [ -x /usr/sbin/named-checkzone ] && /usr/sbin/named-checkconf $ckcf_options ${named_conf} >/dev/null 2>&1; then
- conf_ok=1;
- else
- RETVAL=$?;
- fi
- if [ $conf_ok -eq 1 ]; then
- daemon /usr/sbin/$named -u named ${OPTIONS};
- RETVAL=$?;
- if [ $RETVAL -eq 0 ]; then
- rm -f /var/run/named.pid
- rm -f /var/run/named_sdb.pid 2>/dev/null
- ln -s $ROOTDIR/var/run/named/named.pid /var/run/named.pid;
- if [ "$named" = "named_sdb" ]; then
- ln -s $ROOTDIR/var/run/named/named.pid /var/run/named_sdb.pid;
- fi;
- fi;
- if [ -n "`/sbin/pidof -o %PPID $named`" ]; then
- # Verify that named actually started (JM 2006-10-04)
- if [ ! -e $ROOTDIR/var/run/named/named.pid ]; then
- # If there is not a file containing the PID of the now running named daemon then create it (JM 2006-10-04)
- echo `/sbin/pidof -o %PPID $named` > $ROOTDIR/var/run/named/named.pid;
- if [ "$named" = "named_sdb" ]; then
- echo `/sbin/pidof -o %PPID $named` > $ROOTDIR/var/run/named/named_sdb.pid;
- fi;
- fi;
- fi;
- else
- named_err="`/usr/sbin/named-checkconf $ckcf_options $named_conf 2>&1`";
- echo
- echo $"Error in named configuration"':';
- echo "$named_err";
- failure
- echo
- if [ -x /usr/bin/logger ]; then
- echo "$named_err" | /usr/bin/logger -pdaemon.error -tnamed
- fi;
- return $RETVAL;
- fi;
- [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named
- echo
- return $RETVAL
+ daemon /usr/sbin/$named -u named ${OPTIONS};
+ RETVAL=$?
+ if [ $RETVAL -eq 0 ]; then
+ rm -f /var/run/named.pid;
+ rm -f /var/run/named_sdb.pid;
+ ln -s $ROOTDIR/var/run/named/named.pid /var/run/named.pid;
+ [ "$named" = "named_sdb" ] && ln -s $ROOTDIR/var/run/named/named.pid /var/run/named_sdb.pid;
+ fi;
+
+ if [ -n "`/sbin/pidof -o %PPID $named`" ]; then
+ # Verify that named actually started (JM 2006-10-04)
+ if [ ! -e $ROOTDIR/var/run/named/named.pid ]; then
+ # If there is not a file containing the PID of the now running named daemon then create it (JM 2006-10-04)
+ echo `/sbin/pidof -o %PPID $named` > $ROOTDIR/var/run/named/named.pid;
+ [ "$named" = "named_sdb" ] && echo `/sbin/pidof -o %PPID $named` > $ROOTDIR/var/run/named/named_sdb.pid;
+ fi;
+ fi;
+ else
+ named_err="`/usr/sbin/named-checkconf $ckcf_options $named_conf 2>&1`";
+ echo
+ echo "Error in named configuration:";
+ echo "$named_err";
+ failure
+ echo
+ [ -x /usr/bin/logger ] && echo "$named_err" | /usr/bin/logger -pdaemon.error -tnamed;
+ exit 2;
+ fi;
+ if [ $RETVAL -eq 0 ]; then
+ touch /var/lock/subsys/named;
+ else
+ exit 7;
+ fi
+ echo
+ return 0;
}
+
stop() {
- # Stop daemons.
- echo -n $"Stopping $named: "
- /usr/sbin/rndc stop >/dev/null 2>&1
- RETVAL=$?
- # is it still here?
- if /sbin/pidof -o %PPID $named >/dev/null; then
- timeout=0
- while : ; do
- if /sbin/pidof -o %PPID $named >/dev/null; then
- if [ $timeout -ge $NAMED_SHUTDOWN_TIMEOUT ]; then
- killproc $named -TERM >/dev/null 2>&1
- RETVAL=$?
- echo $"no response, killing with -TERM "
- break
- else
- sleep 2 && echo -n "."
- timeout=$((timeout+2))
- fi;
- else
- break
- fi;
- done
- fi;
- if [ $RETVAL -eq 0 ]; then
- rm -f /var/lock/subsys/named
- rm -f /var/run/named.pid
- rm -f /var/run/named_sdb.pid 2>/dev/null
- fi;
- if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
- if egrep -q '^/proc[[:space:]]+'${ROOTDIR}'/proc' /proc/mounts; then
- umount ${ROOTDIR}/proc >/dev/null 2>&1
- fi
- if [ $dbusEnabled -eq 1 ]; then
- if egrep -q '^/[^[:space:]]+[[:space:]]+'${ROOTDIR}'/var/run/dbus' /proc/mounts; then
- umount ${ROOTDIR}/var/run/dbus > /dev/null 2>&1
- fi;
- fi;
- fi;
- if [ $RETVAL -eq 0 ]; then
- success
- else
- failure
+ # Stop daemons.
+ echo -n $"Stopping $named: "
+ [ -x /usr/sbin/rndc ] && /usr/sbin/rndc stop >/dev/null 2>&1;
+ RETVAL=$?
+ # is it still here?
+ if /sbin/pidof -o %PPID $named >/dev/null; then
+ timeout=0
+ while : ; do
+ if /sbin/pidof -o %PPID $named >/dev/null; then
+ if [ $timeout -ge $NAMED_SHUTDOWN_TIMEOUT ]; then
+ killproc $named -TERM >/dev/null 2>&1
+ RETVAL=$?
+ echo $"no response, killing with -TERM "
+ break
+ else
+ sleep 2 && echo -n "."
+ timeout=$((timeout+2))
fi;
- echo
- return $RETVAL
+ else
+ break
+ fi;
+ done
+ fi;
+
+ # remove pid files
+ if [ $RETVAL -eq 0 ]; then
+ rm -f /var/lock/subsys/named
+ rm -f /var/run/named.pid
+ rm -f /var/run/named_sdb.pid
+ fi;
+
+ # unmount mounted filesystems/directories
+ if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
+ if egrep -q '^/proc[[:space:]]+'${ROOTDIR}'/proc' /proc/mounts; then
+ umount ${ROOTDIR}/proc >/dev/null 2>&1
+ fi
+ if [ ! -z $dbusEnabled ]; then
+ if egrep -q '^/[^[:space:]]+[[:space:]]+'${ROOTDIR}'/var/run/dbus' /proc/mounts; then
+ umount ${ROOTDIR}/var/run/dbus > /dev/null 2>&1
+ fi;
+ fi;
+ fi;
+ if [ $RETVAL -eq 0 ]; then
+ success
+ else
+ failure
+ RETVAL=1
+ fi;
+ echo
+ return $RETVAL
}
+
+
rhstatus() {
- /usr/sbin/rndc status
- return $?
+ [ -x /usr/sbin/rndc ] && /usr/sbin/rndc status;
+ status /usr/bin/$named;
+ return $?
}
restart() {
stop
@@ -231,25 +225,7 @@ reload() {
fi
[ "$RETVAL" -eq 0 ] && success $"$named reload" || failure $"$named reload"
echo
- return $?
-}
-probe() {
- # named knows how to reload intelligently; we don't want linuxconf
- # to offer to restart every time
- /usr/sbin/rndc reload >/dev/null 2>&1 || echo start
- return $?
-}
-checkconfig() {
- ckcf_options='-z'; # enable named-checkzone for each zone (9.3.1+) !
- if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
- OPTIONS="${OPTIONS} -t ${ROOTDIR}"
- ckcf_options="$ckcf_options -t ${ROOTDIR}";
- fi;
- if [ -x /usr/sbin/named-checkconf ] && [ -x /usr/sbin/named-checkzone ] && /usr/sbin/named-checkconf $ckcf_options ${named_conf} | cat ; then
- return 0;
- else
- return 1;
- fi
+ return $RETVAL
}
# See how we were called.
@@ -261,7 +237,8 @@ case "$1" in
stop
;;
status)
- rhstatus
+ rhstatus;
+ RETVAL=$?
;;
restart)
restart
@@ -272,16 +249,10 @@ case "$1" in
reload)
reload
;;
- probe)
- probe
- ;;
- checkconfig|configtest|check|test)
- checkconfig
- ;;
*)
- echo $"Usage: $0 {start|stop|status|restart|condrestart|reload|probe}"
- exit 1
+ echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
+ exit 3
esac
-exit $?
+exit $RETVAL
diff --git a/named.ip6.local b/named.ip6.local
deleted file mode 100644
index 4e0eb5e..0000000
--- a/named.ip6.local
+++ /dev/null
@@ -1,9 +0,0 @@
-$TTL 86400
-@ IN SOA localhost. root.localhost. (
- 1997022700 ; Serial
- 28800 ; Refresh
- 14400 ; Retry
- 3600000 ; Expire
- 86400 ) ; Minimum
- IN NS localhost.
-1 IN PTR localhost.
diff --git a/named.local b/named.local
deleted file mode 100644
index 479251a..0000000
--- a/named.local
+++ /dev/null
@@ -1,9 +0,0 @@
-$TTL 86400
-@ IN SOA localhost. root.localhost. (
- 1997022700 ; Serial
- 28800 ; Refresh
- 14400 ; Retry
- 3600000 ; Expire
- 86400 ) ; Minimum
- IN NS localhost.
-1 IN PTR localhost.
diff --git a/named.localhost b/named.localhost
new file mode 100644
index 0000000..26d4f87
--- /dev/null
+++ b/named.localhost
@@ -0,0 +1,10 @@
+$TTL 1D
+@ IN SOA localhost. root.localhost. (
+ 0 ; serial
+ 3H ; refresh
+ 1H ; retry
+ 1W ; expire
+ 3H ) ; minimum
+@ IN NS localhost.
+@ IN A 127.0.0.1
+@ IN AAAA ::1
diff --git a/named.loopback b/named.loopback
new file mode 100644
index 0000000..1f69aa9
--- /dev/null
+++ b/named.loopback
@@ -0,0 +1,9 @@
+$TTL 1D
+@ IN SOA localhost. root.localhost. (
+ 0 ; serial
+ 3H ; refresh
+ 1H ; retry
+ 1W ; expire
+ 3H ) ; minimum
+ IN NS localhost.
+ IN PTR localhost.
diff --git a/named.rfc1912.zones b/named.rfc1912.zones
index 143f1e8..d3ae226 100644
--- a/named.rfc1912.zones
+++ b/named.rfc1912.zones
@@ -7,43 +7,34 @@
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
-zone "." IN {
- type hint;
- file "named.ca";
-};
-zone "localdomain" IN {
+zone "localhost.localdomain" IN {
type master;
- file "localdomain.zone";
+ file "named.localhost";
allow-update { none; };
};
zone "localhost" IN {
type master;
- file "localhost.zone";
+ file "named.localhost";
allow-update { none; };
};
-zone "0.0.127.in-addr.arpa" IN {
+zone "1.0.0.127.in-addr.arpa" IN {
type master;
- file "named.local";
+ file "named.loopback";
allow-update { none; };
};
-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
- type master;
- file "named.ip6.local";
- allow-update { none; };
-};
-
-zone "255.in-addr.arpa" IN {
+zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
- file "named.broadcast";
+ file "named.loopback";
allow-update { none; };
};
-zone "0.in-addr.arpa" IN {
+zone "0.in-addr.arpa" IN { // "this" network
type master;
- file "named.zero";
+ file "named.empty";
allow-update { none; };
};
+
diff --git a/named.zero b/named.zero
deleted file mode 100644
index dca18f6..0000000
--- a/named.zero
+++ /dev/null
@@ -1,8 +0,0 @@
-$TTL 86400
-@ IN SOA localhost. root.localhost. (
- 42 ; serial (d. adams)
- 3H ; refresh
- 15M ; retry
- 1W ; expiry
- 1D ) ; minimum
- IN NS localhost.