#!/bin/bash
#
# This script managed the cybereason-nnxd service
#
# start cybereason nnx at run level 3 (networking is up), with start priority 0 (start before anything else) and stop priority 100 (stop last)
# chkconfig: 3456 1 99
# description: 
  
# Return values according to LSB for all commands but status:
# 0 - success
# 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege
# 5 - cybereason-nnx is not installed


cybereason-nnx_binary="/opt/cybereason/sensor/bin/cybereason-nnx"
run_flags="--daemonize"
lock_file="/var/lock/subsys/cybereason-nnxd"


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

# Allow anyone to run status
if [ "$1" = "status" ]
then
    status $cybereason-nnx_binary
    RETVAL=$?
    exit $RETVAL
fi

# Check that we are root ... so non-root users stop here
test $EUID = 0  ||  exit 4

RETVAL=0

start()
{
    if [ -f "$lock_file" ]
    then
        echo "service cybereason-nnxd is already running!"
        return $RETVAL
    fi

    test -x $cybereason-nnx_binary || exit 5

    echo -n $"Starting $cybereason-nnx_binary: "

    daemon $cybereason-nnx_binary $run_flags
    RETVAL=$?
    echo
    if test $RETVAL = 0 
    then
        touch $lock_file
    fi
    return $RETVAL
}

stop()
{
    if [ ! -f "$lock_file" ]
    then
        echo "service cybereason-nnxd is not running"
        return $RETVAL
    fi

    echo -n $"Stopping $cybereason-nnx_binary: "
    killproc $cybereason-nnx_binary
    RETVAL=$?
    echo

    if test $RETVAL = 0
    then
        rm -f $lock_file
    else
        echo "failed to stop service cybereason-nnx!"
    fi

    return $RETVAL
}

restart()
{
    stop
    start
}


# See how we were called.
case "$1" in
    start)
        start
    ;;
    stop)
        stop
    ;;
    restart)
        restart
    ;;
    *)
    echo $"Usage: $0 {start|stop|status|restart}"
    RETVAL=3
esac

exit $RETVAL
