summaryrefslogtreecommitdiffstats
path: root/named.init
diff options
context:
space:
mode:
authorAdam Tkac <atkac@redhat.com>2012-01-30 16:59:01 +0100
committerAdam Tkac <atkac@redhat.com>2012-01-30 16:59:01 +0100
commitd218af54a5284ff3508ad697176ee8167a0e3bd0 (patch)
tree5c62259022e260745c4a28b1c3e3d842882f44d4 /named.init
parentc7d6bc15c0f8c3851018d994baa5da0d89f86994 (diff)
downloadbind-d218af54a5284ff3508ad697176ee8167a0e3bd0.tar.gz
bind-d218af54a5284ff3508ad697176ee8167a0e3bd0.tar.xz
bind-d218af54a5284ff3508ad697176ee8167a0e3bd0.zip
retire initscript in favour of systemd unit files (#719419)
Signed-off-by: Adam Tkac <atkac@redhat.com>
Diffstat (limited to 'named.init')
-rwxr-xr-xnamed.init291
1 files changed, 0 insertions, 291 deletions
diff --git a/named.init b/named.init
deleted file mode 100755
index cd0504d..0000000
--- a/named.init
+++ /dev/null
@@ -1,291 +0,0 @@
-#!/bin/bash
-#
-# named This shell script takes care of starting and stopping
-# named (BIND DNS server).
-#
-# chkconfig: - 13 87
-# description: named (BIND) is a Domain Name Server (DNS) \
-# that is used to resolve host names to IP addresses.
-# probe: true
-
-### BEGIN INIT INFO
-# Provides: $named
-# Required-Start: $local_fs $network $syslog
-# Required-Stop: $local_fs $network $syslog
-# Default-Start:
-# Default-Stop: 0 1 2 3 4 5 6
-# Short-Description: start|stop|status|restart|try-restart|reload|force-reload DNS server
-# Description: control ISC BIND implementation of DNS server
-### END INIT INFO
-
-# Source function library.
-. /etc/rc.d/init.d/functions
-
-[ -r /etc/sysconfig/named ] && . /etc/sysconfig/named
-
-RETVAL=0
-export KRB5_KTNAME=${KEYTAB_FILE:-/etc/named.keytab}
-
-named='named'
-if [ -x /usr/sbin/named-sdb ]; then
- named='named-sdb'
-fi
-
-# Don't kill named during clean-up
-NAMED_SHUTDOWN_TIMEOUT=${NAMED_SHUTDOWN_TIMEOUT:-25}
-
-if [ -n "$ROOTDIR" ]; then
- ROOTDIR=`echo $ROOTDIR | sed 's#//*#/#g;s#/$##'`;
- rdl=`/usr/bin/readlink $ROOTDIR`;
- if [ -n "$rdl" ]; then
- ROOTDIR="$rdl";
- fi;
-fi
-
-PIDFILE="/var/run/named/named.pid"
-
-ROOTDIR_MOUNT='/etc/named /etc/pki/dnssec-keys /var/named /etc/named.conf
-/etc/named.dnssec.keys /etc/named.rfc1912.zones /etc/rndc.conf /etc/rndc.key
-/usr/lib64/bind /usr/lib/bind /etc/named.iscdlv.key /etc/named.root.key'
-
-mount_chroot_conf()
-{
- if [ -n "$ROOTDIR" ]; then
- for all in $ROOTDIR_MOUNT; do
- # Skip nonexistant files
- [ -e "$all" ] || continue
-
- # If mount source is a file
- if ! [ -d "$all" ]; then
- # mount it only if it is not present in chroot or it is empty
- if ! [ -e "$ROOTDIR$all" ] || [ `stat -c'%s' "$ROOTDIR$all"` -eq 0 ]; then
- touch "$ROOTDIR$all"
- mount --bind "$all" "$ROOTDIR$all"
- fi
- else
- # Mount source is a directory. Mount it only if directory in chroot is
- # empty.
- if [ -e "$all" ] && [ `ls -1A $ROOTDIR$all | wc -l` -eq 0 ]; then
- mount --bind "$all" "$ROOTDIR$all"
- fi
- fi
- done
- fi
-}
-
-umount_chroot_conf()
-{
- for all in $ROOTDIR_MOUNT; do
- # Check if file is mount target. Do not use /proc/mounts because detecting
- # of modified mounted files can fail.
- if mount | grep -q '.* on '"$ROOTDIR$all"' .*'; then
- umount "$ROOTDIR$all"
- # Remove temporary created files
- [ -f "$all" ] && rm -f "$ROOTDIR$all"
- fi
- done
-}
-
-pidofnamed() {
- pidofproc -p "$ROOTDIR/$PIDFILE" "$named";
-}
-
-# Check if all what named needs running
-start()
-{
- [ "$EUID" != "0" ] && exit 4
-
- # Source networking configuration.
- [ -r /etc/sysconfig/network ] && . /etc/sysconfig/network
-
- # Check that networking is up
- [ "${NETWORKING}" = "no" ] && exit 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;
- previous_option=$a;
- done;
-
- named_conf=${named_conf:-/etc/named.conf};
-
- mount_chroot_conf
-
- if [ ! -r $ROOTDIR$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 "`pidofnamed`" ]; then
- echo -n $"named: already running"
- success
- echo
- exit 0;
- fi;
-
- if ! [ "$DISABLE_ZONE_CHECKING" = yes ]; then
- ckcf_options='-z'; # enable named-checkzone for each zone (9.3.1+) !
- fi;
-
- 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;
- 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
-
- daemon --pidfile "$ROOTDIR/$PIDFILE" /usr/sbin/"$named" -u named ${OPTIONS};
- RETVAL=$?
- if [ $RETVAL -eq 0 ]; then
- rm -f /var/run/{named,named-sdb}.pid;
- ln -s $ROOTDIR/"$PIDFILE" /var/run/"$named".pid;
- 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;
- umount_chroot_conf
- exit 2;
- fi;
- echo
- if [ $RETVAL -eq 0 ]; then
- touch /var/lock/subsys/named;
- else
- umount_chroot_conf
- exit 7;
- fi
- return 0;
-}
-
-stop() {
- [ "$EUID" != "0" ] && exit 4
-
- # Stop daemons.
- echo -n $"Stopping named: "
- [ -x /usr/sbin/rndc ] && /usr/sbin/rndc stop >/dev/null 2>&1;
- RETVAL=$?
- # was rndc successful?
- [ "$RETVAL" -eq 0 ] || \
- killproc -p "$ROOTDIR/$PIDFILE" "$named" -TERM >/dev/null 2>&1
-
- timeout=0
- RETVAL=0
- while pidofnamed >/dev/null; do
- if [ $timeout -ge $NAMED_SHUTDOWN_TIMEOUT ]; then
- RETVAL=1
- break
- else
- sleep 2 && echo -n "."
- timeout=$((timeout+2))
- fi;
- done
-
- umount_chroot_conf
-
- # remove pid files
- if [ $RETVAL -eq 0 ]; then
- rm -f /var/lock/subsys/named
- rm -f /var/run/{named,named-sdb}.pid
- fi;
-
- if [ $RETVAL -eq 0 ]; then
- success
- else
- failure
- RETVAL=1
- fi;
- echo
- return $RETVAL
-}
-
-
-rhstatus() {
- [ -x /usr/sbin/rndc ] && /usr/sbin/rndc status;
- status -p "$ROOTDIR/$PIDFILE" -l named /usr/sbin/"$named";
- return $?
-}
-restart() {
- stop
- start
-}
-reload() {
- [ "$EUID" != "0" ] && exit
-
- echo -n $"Reloading "$named": "
- p=`pidofnamed`
- RETVAL=$?
- if [ "$RETVAL" -eq 0 ]; then
- /usr/sbin/rndc reload >/dev/null 2>&1 || /bin/kill -HUP $p;
- RETVAL=$?
- fi
- [ "$RETVAL" -eq 0 ] && success $"$named reload" || failure $"$named reload"
- echo
- return $RETVAL
-}
-
-checkconfig() {
- ckcf_options='-z';
- if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then
- ckcf_options="$ckcf_options -t ${ROOTDIR}";
- mount_chroot_conf
- fi;
- if [ -x /usr/sbin/named-checkconf ] && [ -x /usr/sbin/named-checkzone ] && /usr/sbin/named-checkconf $ckcf_options ${named_conf} ; then
- umount_chroot_conf
- return 0;
- else
- umount_chroot_conf
- return 1;
- fi
-}
-
-# See how we were called.
-case "$1" in
- start)
- start
- ;;
- stop)
- stop
- ;;
- status)
- rhstatus;
- RETVAL=$?
- ;;
- restart)
- restart
- ;;
- condrestart|try-restart)
- if [ -e /var/lock/subsys/named ]; then restart; fi
- ;;
- reload)
- reload
- ;;
- force-reload)
- if ! reload; then restart; fi
- ;;
- checkconfig|configtest|check|test)
- checkconfig
- ;;
- *)
- echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}"
- [ "x$1" = "x" ] && exit 0
- exit 2
-esac
-
-exit $RETVAL
-