Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 08e15fc958b2431d97480ba45764e38b > files > 2

maradns-1.3.07.09-5.fc15.i686.rpm

#!/bin/bash
# MaraDNS Zoneserver	This shell script takes care of starting and stopping MaraDNS' Zone Server daemon
# chkconfig: - 55 45
# description: MaraDNS Zoneserver is responsible for handling DNS zone transfers as well as any TCP DNS queries
# probe: true

# Copyright 2005-2006 Sam Trenholme

# TERMS

# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:

# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.

# This software is provided 'as is' with no guarantees of correctness or
# fitness for purpose.

# This is a script which stops and starts the MaraDNS zoneserver process
# The first line points to bash because I don't have a true Solaris /bin/sh
# to test this against.

# The following is a pointer to the MaraDNS program
if [ -x "/usr/sbin/zoneserver" ] ; then
	ZONESERVER="/usr/sbin/zoneserver"
elif [ -x "/usr/local/sbin/zoneserver" ] ; then
	ZONESERVER="/usr/local/sbin/zoneserver"
else
	echo unable to find zoneserver
	exit 1
fi

# The following is a pointer to the duende daemonizer
if [ -x "/usr/sbin/duende" ] ; then
	DUENDE="/usr/sbin/duende"
elif [ -x "/usr/local/sbin/duende" ] ; then
	DUENDE="/usr/local/sbin/duende"
elif [ -x "/usr/bin/duende" ] ; then
	DUENDE="/usr/bin/duende"
elif [ -x "/usr/local/bin/duende" ] ; then
	DUENDE="/usr/local/bin/duende"
else
	echo unable to find duende
	exit 1
fi

# The following is the directory we place MaraDNS log entries in
LOGDIR="/var/log"

# The following is a list of all mararc files which we will load or
# unload;
# Simple case: Only one MaraDNS zoneserver process, using the /etc/mararc file
MARARCS="/etc/mararc"
# Case two: Three MaraDNS processes, one using /etc/mararc.1, the second one
# using /etc/mararc.2, and the third one using /etc/mararc.3
#MARARCS="/etc/mararc.1 /etc/mararc.2 /etc/mararc.3"

# source function library
. /etc/rc.d/init.d/functions

RETVAL=0

start() {
	echo -n $"Starting all MaraDNS-Zoneserver processes: "
	for rcfile in $MARARCS ; do
		echo -n $"$rcfile "
		# Duende syslogs MaraDNS' output messages and daemonizes MaraDNS
		daemon $DUENDE $ZONESERVER -f $rcfile || RETVAL=$?
	done
	echo
	[ $RETVAL -eq 0 ] && echo `pidof zoneserver` > /var/run/zoneserver.pid && touch /var/lock/subsys/maradns-zoneserver
}

stop() {
	echo -n $"Stopping MaraDNS-Zoneserver: "
	killproc zoneserver
	echo
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/maradns-zoneserver
}

restart() {
	stop
	start
}

case "$1" in
  start)
	start
	;;
  stop) 
	stop
	;;
  restart|reload)
	restart
	;;
  condrestart)
	[ -f /var/lock/subsys/maradns-zoneserver ] && restart ||:
	;;
  status)
	status zoneserver
	RETVAL=$?
	;;
  *)
	echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
	exit 1
esac

exit $RETVAL