#!/bin/sh

MODULE_NAME=adwarfg
MODULE_DESC="Agent for Dwarfguard"
MODULE_TEXT="$MODULE_NAME ($MODULE_DESC)"
MODULE_DAEMON=dwarfg_agent.sh
MODULE_BIN=/opt/$MODULE_NAME/bin/$MODULE_DAEMON
MODULE_CFG=/opt/$MODULE_NAME/etc/settings
PIDFILE=/opt/$MODULE_NAME/$MODULE_NAME.pid
NOHUP_OUT=/tmp/adwarfg_nohup_output.txt
RETVAL=0

start_daemon () {
    echo -n "Starting module $MODULE_TEXT: "
    . $MODULE_CFG
    [ -e "/opt/$MODULE_NAME/www/.htpasswd" ] || ln -s "/etc/htpasswd" "/opt/$MODULE_NAME/www/.htpasswd"
    if [ "$MOD_adwarfg_ENABLED" != "1" ]; then
      echo "skipped"
      exit 0
    fi
    nohup $MODULE_BIN >"$NOHUP_OUT" &
    RETVAL=$?
    if [ $RETVAL = 0 ]; then echo "done"; else echo "failed"; fi
}

stop_daemon () {
    echo -n "Stopping module $MODULE_TEXT: "
    killall $MODULE_DAEMON 2> /dev/null
    RETVAL=$?
    if [ $RETVAL = 0 ]; then 
      echo "0" >$PIDFILE
      echo "done";
    else
      echo "failed";
    fi
}

case "$1" in
  start)
    start_daemon
    ;;
  stop)
    stop_daemon && sleep 9
    ;;
  restart)
    stop_daemon && sleep 9
    start_daemon
    ;;
  status)
    echo -n "Module $MODULE_NAME is "
    killall -0 $MODULE_DAEMON 2> /dev/null
    RETVAL=$?
    if [ $RETVAL = 0 ]; then echo "running"; else echo "stopped"; fi
    ;;
  defaults)
    cp /opt/$MODULE_NAME/etc/defaults $MODULE_CFG 2> /dev/null
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|status|defaults}"
    exit 1
esac
exit $RETVAL
