#!/bin/sh
#
# prelude lml	The prelude log analyzer
#
# chkconfig: - 80 10
# description: The prelude log analyzer
#              when using postgresql : - 87 13
#                         mysql      : - 80 10

# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=1
 

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

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

# Get config.
CONFIG=/etc/sysconfig/prelude-lml
SourceIfNotEmpty "$CONFIG"

PROG=prelude-lml
LOCKFILE=/var/lock/subsys/$PROG
PIDFILE=/var/run/$PROG.pid
RETVAL=0


start() {
	# Start daemon.
	is_yes "$NETWORKING" || return 0
	prelude-admin list | grep -q "^prelude-lml "
	RETVAL=$?
	if [ $RETVAL = 1 ];then 
		echo "Profile 'prelude-lml' does not exist"
		prelude-admin add "prelude-lml" --uid 0 --gid 0
		RETVAL=$?
		if [ $RETVAL = 0 ]; then
			echo_success
			echo
			echo "In order to register on manager, please run: prelude-admin register "prelude-lml" "idmef:w" <manager address> --uid 0 --gid 0"
			echo "Then start prelude-lml again"
			echo
		else
			echo_failure
			echo
			return $RETVAL
		fi
	fi
	msg_starting "$PROG"
#	start_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root --no-announce -- $PROG -d -P $PIDFILE $OPTIONS
	$PROG -d -P $PIDFILE $OPTIONS
	sleep 3
	ps $(cat "$PIDFILE") >/dev/null 2>&1
	RETVAL=$?
	if [ $RETVAL = 0 ]; then
		[ -z "$LOCKFILE" ] || touch "$LOCKFILE"
		echo_success
		echo
	else
		echo_failure
		echo
	fi
	return $RETVAL
}

stop() {
        # Stop daemons
	stop_daemon --pidfile "$PIDFILE" --lockfile "$LOCKFILE" --expect-user root -- $PROG
	RETVAL=$?
	return $RETVAL
}

restart() {
	stop
	start
}

reload()
{
	msg_reloading $PROG
	stop_daemon --pidfile "$PIDFILE" --expect-user root -HUP -- $PROG
	RETVAL=$?
	return $RETVAL
}

case "$1" in
    start)
	start
	;;
    stop)
	stop
	;;
    reload)
	reload
	;;
    restart)
	restart
	;;
    condstop)
	if [ -e "$LOCKFILE" ]; then
	    stop
	fi
	;;
    condrestart)
	if [ -e "$LOCKFILE" ]; then
	    restart
	fi
	;;
    condreload)
	if [ -e "$LOCKFILE" ]; then
	    reload
	fi
	;;
    status)
	status --pidfile "$PIDFILE" --expect-user root -- $PROG
	RETVAL=$?
	;;
    *)
	msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
	RETVAL=1
esac

exit $RETVAL