#!/bin/bash

# This is an implementation of a start-script for OpenVAS Administrator

# chkconfig: - 35 75 25
# Description: OpenVAS Administrator is a vulnerability Scanner Administrator daemon
#

### BEGIN INIT INFO
# Provides: openvas-administrator
# Required-Start: $local_fs $network $syslog
# Required-Stop: $local_fs $network $syslog
# Default-Start:
# Default-Stop: 0 1 2 3 4 5 6
# Short-Description: start|stop|status|restart|condrestart OpenVAS Manager
# Description: OpenVAS Administrator is a vulnerability Scanner Administrator daemon
### END INIT INFO

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

exec="/usr/sbin/openvasad"
prog="openvasad"
progname="openvas-administrator"
lockfile=/var/lock/subsys/openvasmd

[ -e /etc/sysconfig/$progname ] && . /etc/sysconfig/$progname

# Build parameters
[ "$ADMINISTRATOR_ADDRESS" ] && OPTIONS="$OPTIONS --listen=$ADMINISTRATOR_ADDRESS"
[ "$ADMINISTRATOR_PORT" ]    && OPTIONS="$OPTIONS --port=$ADMINISTRATOR_PORT"


rh_status() {
	# run checks to determine if the service is running or use generic status
	status -p /var/run/$prog.pid -l $lockfile $progname
}

rh_status_q() {
	rh_status >/dev/null 2>&1
}

start() {
	echo "Starting $progname:"
	daemon --pidfile=/var/run/$prog.pid $prog $OPTIONS
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch $lockfile
	return $RETVAL
}

stop() {
	echo -n "Stopping $progname: "
	killproc $prog
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f $lockfile
	return $RETVAL
}

restart() {
	stop
	start
}


case "$1" in
	start)
		rh_status_q && exit 0
		$1
		;;

	stop)
		rh_status_q || exit 0
		$1
                ;;

	restart)
		$1
		;;

	condrestart|try-restart)
		rh_status_q || exit 0
		$1
		;;

	status)
		status -p /var/run/$prog.pid -l $lockfile $progname
                ;;

	*)
		echo "Usage: $0 {start|stop|status|restart|condrestart}"
		exit 1
esac

exit 0

