#!/bin/sh
#
# chkconfig: 2345 11 89
# description: OpenH323 Gatekeeper - The GNU Gatekeeper
# config: /etc/gnugk.ini
# pidfile: /var/run/gnugk/gnugk.pid

# author:       Alexei Takaseev <taf@altlinux.ru>
# version:      2005061300
# changed:      2005061300 fix description, startup as gnugk user
#		2005011000 initialize release

WITHOUT_RC_COMPAT=1

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

# Source networking configuration.
SourceIfNotEmpty /etc/sysconfig/network

# check if the config files are present
[ -f /etc/gnugk.ini ] || exit 0

# Source service configuration.
if [ -f /etc/sysconfig/gnugk ]; then
    . /etc/sysconfig/gnugk
else
    echo "${0##*/}: configfile /etc/sysconfig/gnugk does NOT exist !"
    exit 1
fi

PIDFILE=/var/run/gnugk/gnugk.pid
LOCKFILE=/var/lock/subsys/gnugk
RETVAL=0

start() {
    is_yes "$NETWORKING" || return 0
    start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root	-- gnugk.sh $GNUGK_OPTIONS
    RETVAL=$?
    return $RETVAL
}

stop() {
    stop_daemon  --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user gnugk gnugk
    RETVAL=$?
    return $RETVAL
}

restart() {
    stop
    start
}
	
reload() {
    msg_reloading gnugk
    stop_daemon --expect-user gnugk -HUP gnugk
    RETVAL=$?
    return $RETVAL
}

case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        restart
        ;;
    reload)
        reload
        ;;
    condrestart)
        if [ -e /var/lock/subsys/gnugk ]; then
    	    restart
	fi
        ;;
    condreload)
        if [ -e /var/lock/subsys/gnugk ]; then
            reload
        fi
        ;;
    condstop)
        if [ -e /var/lock/subsys/gnugk ]; then
            stop
        fi
        ;;
    status)
        status --pidfile "$PIDFILE" --expect-user gnugk gnugk
        RETVAL=$?
        ;;
    *)
        echo $"Usage: gnugk {start|stop|restart|reload|condrestart|condreload|condstop|status}"
        RETVAL=1
esac

exit $RETVAL
