#!/bin/sh
#
# funcd    Fedora Unified Network Control
###################################

# LSB header

### BEGIN INIT INFO
# Provides: funcd
# Required-Start: network
# Required-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: Fedora Unified Network Control
# Description: Crazy simple, secure remote management.
### END INIT INFO

# chkconfig header

# chkconfig: - 99 99 
# description:  Crazy simple, secure remote management.
#
# processname: /usr/bin/funcd

# Sanity checks.
[ -x /usr/bin/funcd ] || exit 0

SERVICE=funcd
PROCESS=funcd
DAEMON=/usr/bin/funcd
CONFIG_ARGS="--daemon"


FuncStatus()
{
  ps wt? | grep "$DAEMON" 2>&1 > /dev/null
  if [ "x$?" = "x0" ]; then
    RVAL=0
    echo "$DAEMON is running"
  else
    RVAL=3
    echo "$DAEMON is not running"
  fi
}

if [ -f /lib/lsb/init-functions ]; then
  . /lib/lsb/init-functions
  alias START_DAEMON=start_daemon
  alias STATUS=FuncStatus
  alias LOG_SUCCESS=log_success_msg
  alias LOG_FAILURE=log_failure_msg
  alias LOG_WARNING=log_warning_msg
elif [ -f /etc/init.d/functions ]; then
  . /etc/init.d/functions
  alias START_DAEMON=daemon
  alias STATUS=status
  alias LOG_SUCCESS=success
  alias LOG_FAILURE=failure
  alias LOG_WARNING=passed
else
  echo "Error: your platform is not supported by $0" > /dev/stderr
  exit 1
fi


RETVAL=0

start() {
    if [ -f /etc/debian_version ]; then
	log_begin_msg "Starting func daemon: "
        start-stop-daemon --exec $DAEMON --start --quiet -- $CONFIG_ARGS > /dev/null
	RETVAL=$?
	log_end_msg $RETVAL
	return $RETVAL
    else
	echo -n $"Starting func daemon: "
	START_DAEMON $DAEMON $CONFIG_ARGS
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SERVICE
	return $RETVAL
    fi
}

stop() {
    if [ -f /etc/debian_version ]; then
	log_daemon_msg "Stopping func daemon" "funcd"
        start-stop-daemon --stop --quiet --pidfile /var/run/funcd.pid --name funcd
	RETVAL=$?
        log_end_msg $RETVAL
	rm -f /var/run/funcd.pid
    else
	echo -n $"Stopping func daemon: "
	killproc $PROCESS
	RETVAL=$?
	echo
	if [ $RETVAL -eq 0 ]; then
	    rm -f /var/lock/subsys/$SERVICE
            rm -f /var/run/$SERVICE.pid
	fi
    fi
}

restart() {
   stop
   start
}

# See how we were called.
case "$1" in
    start|stop|restart)
        $1
        ;;
    status)
        STATUS $PROCESS
        RETVAL=$?
        ;;
    condrestart)
        [ -f /var/lock/subsys/$SERVICE ] && restart || :
        ;;
    reload)
        echo "can't reload configuration, you have to restart it"
        RETVAL=$?
        ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|reload}"
        exit 1
        ;;
esac
exit $RETVAL

