Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37894036
en ru br
ALT Linux repos
S:0.998-alt2

Group :: System/Servers
RPM: rbldnsd

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

#!/bin/sh
#
# rbldnsd This starts and stops rbldnsd.
#
# chkconfig: - 80 30
# description: rbldnsd is a DNS daemon for DNSBLs. Configure it in \
# /etc/sysconfig/rbldnsd
#
# processname: /usr/sbin/rbldnsd
# config: /etc/sysconfig/network
# config: /etc/sysconfig/rbldnsd
# pidfile: /var/run/rbldnsd*.pid

# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1

# Source function library.
. /etc/init.d/functions

prog=rbldnsd
DAEMON=/usr/sbin/$prog
PIDFILE=/var/run/$prog.pid
LOCKFILE=/var/lock/subsys/$prog

# Get config.
SourceIfNotEmpty /etc/sysconfig/rbldnsd

# Check that the rbldnsd binary is available
[ -f $DAEMON ] || exit 5

# Check that configuration has been set up (RBLDNSD set in /etc/sysconfig/rbldnsd)
[ -n "$RBLDNSD" ] || exit 6

RETVAL=0

# Process multiple instances of the daemon (see /etc/sysconfig/rbldnsd)
for_all_daemons() {
local ret=0
name=
args=
echo "$RBLDNSD" |
while read name args; do
# generate pidfile name from key
case "$name" in
""|\#*) continue;;
-) name=$prog; pidfile=/var/run/$name.pid;;
*) pidfile=/var/run/rbldnsd-$name.pid;;
esac
# if pidfile exists, get pid and check for running rbldnsd
pid=
if [ -f $pidfile ]; then
read p < $pidfile
if [ -n "$p" -a -f /proc/$p/cmdline ]; then
case "`cat /proc/$p/cmdline 2>/dev/null`" in
*$prog*) pid=$p;;
esac
fi
fi
# Start/stop this daemon
$1
done
}

start_one_daemon()
{
if [ ! "$pid" ]; then
[ x"$name" != x"$prog" ] && echo -n "[$name] "
start_daemon --pidfile "$pidfile" --lockfile "$LOCKFILE" --expect-user rbldns -- $DAEMON -p "$pidfile" "$args"
RETVAL=$?
return $RETVAL
fi
}

stop_one_daemon() {
if [ "$pid" ]; then
stop_daemon --pidfile "$pidfile" --lockfile "$LOCKFILE" --expect-user rbldns -- $prog
usleep 500000
RETVAL=$?
return $RETVAL
fi
}

reload_one_daemon() {
if [ "$pid" ]; then
msg_reloading $prog
stop_daemon --pidfile "$pidfile" --expect-user rbldns -HUP -- $prog
RETVAL=$?
return $RETVAL
else
# Not running
return 7
fi
}

check_one_daemon() {
echo -n "$prog "
[ x"$name" != x"$prog" ] && echo -n "[$name] "
if [ "$pid" ]; then
echo $"($pid) is running..."
return 0
fi
if [ -f "$pidfile" ]; then
echo $"dead but pid file exists"
return 1
fi
if [ -e /var/lock/subsys/$prog ]; then
echo $"dead but subsys locked"
return 2
fi
echo $"is stopped"
return 3
}

restart_one_daemon() {
stop_one_daemon
pid=
start_one_daemon
}

condrestart_one_daemon() {
if [ -e /var/lock/subsys/$prog ]; then
restart_one_daemon
else
return 0
fi
}

# See how we were called.
case "$1" in
start)
for_all_daemons start_one_daemon
;;
restart)
for_all_daemons restart_one_daemon
;;
force-reload|reload)
for_all_daemons reload_one_daemon
;;
stop)
for_all_daemons stop_one_daemon
;;
status)
for_all_daemons check_one_daemon
RETVAL=$?
;;
condrestart|try-restart)
for_all_daemons condrestart_one_daemon
;;
*)
msg_usage "${0##*/} {start|stop|restart|try-restart|reload|force-reload|status}" >&2
RETVAL=1
;;
esac

exit $RETVAL
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin