#!/bin/sh
#
# unrealircd      This shell script takes care of starting and stopping
#                 uircd (Unreal Internet Relay Chat server).
#
# chkconfig: 345 90 20
# description: uircd is a Internet Relay Chat Server

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

# Source networking configuration.
SourceIfNotEmpty /etc/sysconfig/network && [ "$NETWORKING" != no ] || exit

UIRCD_BIN="/usr/sbin/uircd"
UIRCD_ROOT="/var/lib/unreal"
UIRCD_CONF="/etc/unrealircd/unrealircd.conf"

SourceIfNotEmpty /etc/sysconfig/uircd

[ -x "$UIRCD_BIN" -a -d "$UIRCD_ROOT" -a -r "$UIRCD_CONF" ] || exit

LOCKFILE=/var/lock/subsys/uircd
RETVAL=0

adjust()
{
	action "Adjusting enviroment for UnrealIRCd server:" /etc/chroot.d/unreal.all
	RETVAL=$?
        return $RETVAL
}

rehash()
{
    if [ -e "$LOCKFILE" ]; then
	action "Rehashing UnrealIRCd:" kill -1 `cat $UIRCD_ROOT/ircd.pid`
    fi
}

start()
{
	adjust || return
	start_daemon --lockfile "$LOCKFILE" --user root -- $UIRCD_BIN "$OPTIONS"
	RETVAL=$?
	[ $RETVAL -eq 0 ] && touch "$LOCKFILE"
	return $RETVAL
}

mkpasswd()
{
	$UIRCD_BIN -P $2 $3
}

stop()
{
	stop_daemon --lockfile "$LOCKFILE" -- "$UIRCD_BIN"
	RETVAL=$?
	[ $RETVAL -eq 0 ] && rm -f "$LOCKFILE"
	return $RETVAL
}

# See how we were called.
case "$1" in
        start)
                start
                ;;
        stop)
                stop
                ;;
        reload)
                adjust
                rehash
                ;;
        rehash)
                rehash
                ;;
        restart)
                stop
		start
                ;;
        status)
                status uircd
                RETVAL=$?
                ;;
        adjust)
                adjust
                ;;
		mkpasswd)
			mkpasswd
				;;
        condstop)
                if [ -e "$LOCKFILE" ]; then
                        stop
                fi
                ;;
        condrestart)
                if [ -e "$LOCKFILE" ]; then
                        stop
			start
                fi
                ;;
        *)
                echo "Usage: ${0##*/} {start|stop|restart|reload|rehash|status|adjust|mkpasswd|condstop|condrestart}"
                RETVAL=1
esac

exit $RETVAL
