[Pkg-ossec-devel] [SCM] Git repository for pkg-ossec branch, master, updated. f89fb2c00b1a2606035e5cd0e35b4ebe99f049ac

Javier Fernandez-Sanguino jfs at debian.org
Wed Aug 29 16:31:30 UTC 2012


The following commit has been merged in the master branch:
commit 2e1a535e13114767caae9c8fafab8429a7e2779c
Author: Javier Fernandez-Sanguino <jfs at debian.org>
Date:   Wed Aug 29 00:17:37 2012 +0200

    Adjust the init.d script and enhance it to leave the result of the
    ossec-control script in a log file

diff --git a/debian/ossec-hids-server.init b/debian/ossec-hids-server.init
index bc613b7..07f513a 100755
--- a/debian/ossec-hids-server.init
+++ b/debian/ossec-hids-server.init
@@ -1,8 +1,7 @@
 #!/bin/sh
-# OSSEC	        Controls OSSEC HIDS
-# Author:       Daniel B. Cid <dcid at ossec.net>
-# Modified for slackware by Jack S. Lai
-# Modified for Debian by Javier Fernandez-Sanguino
+#
+# Debian init.d file for OSSEC HIDS (server)
+# Created for Debian by Javier Fernandez-Sanguino <jfs at debian.org>
 #
 # OSSEC HIDS is a free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License (version 2) as
@@ -23,41 +22,85 @@
 #                    active response. 
 ### END INIT INFO
 
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-test $DEBIAN_SCRIPT_DEBUG && set -v -x
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+DESC="OSSEC Host-based Intrusion Detection System"
+NAME=ossec-hids-server
+DAEMON=/usr/lib/ossec/ossec-agentd
+DAEMON_ARGS=""
+PIDFILE=/var/run/ossec-hids/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
 
-DAEMON=ossec-hids
-NAME=ossec
-DESC="Host-based Intrusion Detection System"
-
-. /lib/lsb/init-functions
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
 
+# Load the information for the main configuration file
 [ -e /etc/ossec-init.conf ] && . /etc/ossec-init.conf
-if [ "X${DIRECTORY}" = "X" ]; then
+if [ -z "${DIRECTORY}" ]; then
     DIRECTORY="/var/ossec"
 fi
 
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+test $DEBIAN_SCRIPT_DEBUG && set -v -x
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
 # If we don't find DIRECTORY then exit without error, the
-# package is not installed
+# package is not properly installed
 [ ! -e "${DIRECTORY}" ] && exit 0
 
-    
-start() {
-       [ -n "$DEBIAN_SCRIPT_DEBUG" ] && OUT=">/dev/null"
-	${DIRECTORY}/bin/ossec-control start $OUT
+# Create the directory for the pidfiles
+[ ! -e /var/run/ossec-hids ] && mkdir -p /var/run/ossec-hids
+
+# Log file for the ossec-control file
+LOGDIR=${DIRECTORY}/logs
+LOGFILE=${LOGDIR}/ossec-control.log
+
+# Function that tests the rules
+do_test_rules()
+{
+	echo | ${DIRECTORY}/ossec-logtest > /dev/null 2>&1;
+	if [ ! $? = 0 ]; then
+		log_failure_msg "the OSSEC ruleset is not valid, the daemon will not start. Review the output of ${DIRECTORY}/ossec-logtest"
+		return 1
+	fi
+	return 0
+}
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+       [ -n "$DEBIAN_SCRIPT_DEBUG" ] && OUT=">$LOGFILE 2>&1"
+       ${DIRECTORY}/bin/ossec-control start $OUT 
        return $?
+       # TODO REVIEW - Return
+       #   0 if daemon has been started
+       #   1 if daemon was already running
+       #   2 if daemon could not be started
 }
 
-stop() {
-       [ -n "$DEBIAN_SCRIPT_DEBUG" ] && OUT=">/dev/null"
-	${DIRECTORY}/bin/ossec-control stop
+do_stop() {
+       [ -n "$DEBIAN_SCRIPT_DEBUG" ] && OUT=">$LOGFILE 2>&1"
+       ${DIRECTORY}/bin/ossec-control stop $OUT
        return $?
+       # TODO REVIEW - Return
+       #   0 if daemon has been stopped
+       #   1 if daemon was already stopped
+       #   2 if daemon could not be stopped
+       #   other if a failure occurred
 }
 
-status() {
-       [ -n "$DEBIAN_SCRIPT_DEBUG" ] && OUT=">/dev/null"
-	${DIRECTORY}/bin/ossec-control status
+do_status() {
+       [ -n "$DEBIAN_SCRIPT_DEBUG" ] && OUT=">$LOGFILE 2>&1"
+       ${DIRECTORY}/bin/ossec-control status $OUT
        return $?
 }
 
@@ -65,37 +108,54 @@ status() {
 case "$1" in
   start)
         log_daemon_msg "Starting $DESC " "$NAME"
-	start
+	do_start
         myret=$?
         if  [ $myret -eq 0 ] ; then
             log_end_msg 0
         else
+	    log_failure_msg "review the logfile $LOGFILE"
             log_end_msg 1
         fi
         exit $myret
 	;;
   stop) 
         log_daemon_msg "Stopping $DESC " "$NAME"
-	stop
+	do_stop
         myret=$?
         if  [ $myret -eq 0 ] ; then
             log_end_msg 0
         else
+	    log_failure_msg "review the logfile $LOGFILE"
             log_end_msg 1
         fi
         exit $myret
 	;;
   restart|force-restart|reload|force-reload)
-        $0 stop
-	$0 start
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	  0|1)
+		do_start
+		case "$?" in
+			0) log_end_msg 0 ;;
+			1) log_end_msg 1 ;; # Old process is still running
+			*) log_end_msg 1 ;; # Failed to start
+		esac
+		;;
+	  *)
+	  	# Failed to stop
+		log_end_msg 1
+		;;
+	esac
 	;;
   status)
         log_daemon_msg "Status of $NAME"
-        status
+	do_status
         myret=$?
         if  [ $myret -eq 0 ] ; then
             log_end_msg 0
         else
+	    log_failure_msg "review the logfile $LOGFILE"
             log_end_msg 1
         fi
         exit $myret
@@ -106,3 +166,5 @@ case "$1" in
 esac
 
 exit 0
+
+
diff --git a/debian/ossec-hids-server.init.d b/debian/ossec-hids-server.init.d
deleted file mode 100644
index f4423e6..0000000
--- a/debian/ossec-hids-server.init.d
+++ /dev/null
@@ -1,154 +0,0 @@
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides:          ossec-hids-server
-# Required-Start:    $network $local_fs
-# Required-Stop:
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: <Enter a short description of the sortware>
-# Description:       <Enter a long description of the software>
-#                    <...>
-#                    <...>
-### END INIT INFO
-
-# Author: Jose Antonio Quevedo Muñoz <joseantonio.quevedo at gmail.com>
-
-# PATH should only include /usr/* if it runs after the mountnfs.sh script
-PATH=/sbin:/usr/sbin:/bin:/usr/bin
-DESC=ossec-hids-server             # Introduce a short description here
-NAME=ossec-hids-server             # Introduce the short server's name here
-DAEMON=/usr/sbin/ossec-hids # Introduce the server's location here
-DAEMON_ARGS=""             # Arguments to run the daemon with
-PIDFILE=/var/run/$NAME.pid
-SCRIPTNAME=/etc/init.d/$NAME
-
-# Exit if the package is not installed
-[ -x $DAEMON ] || exit 0
-
-# Read configuration variable file if it is present
-[ -r /etc/default/$NAME ] && . /etc/default/$NAME
-
-# Load the VERBOSE setting and other rcS variables
-. /lib/init/vars.sh
-
-# Define LSB log_* functions.
-# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
-. /lib/lsb/init-functions
-
-#
-# Function that starts the daemon/service
-#
-do_start()
-{
-	# Return
-	#   0 if daemon has been started
-	#   1 if daemon was already running
-	#   2 if daemon could not be started
-	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
-		|| return 1
-	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
-		$DAEMON_ARGS \
-		|| return 2
-	# Add code here, if necessary, that waits for the process to be ready
-	# to handle requests from services started subsequently which depend
-	# on this one.  As a last resort, sleep for some time.
-}
-
-#
-# Function that stops the daemon/service
-#
-do_stop()
-{
-	# Return
-	#   0 if daemon has been stopped
-	#   1 if daemon was already stopped
-	#   2 if daemon could not be stopped
-	#   other if a failure occurred
-	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
-	RETVAL="$?"
-	[ "$RETVAL" = 2 ] && return 2
-	# Wait for children to finish too if this is a daemon that forks
-	# and if the daemon is only ever run from this initscript.
-	# If the above conditions are not satisfied then add some other code
-	# that waits for the process to drop all resources that could be
-	# needed by services started subsequently.  A last resort is to
-	# sleep for some time.
-	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
-	[ "$?" = 2 ] && return 2
-	# Many daemons don't delete their pidfiles when they exit.
-	rm -f $PIDFILE
-	return "$RETVAL"
-}
-
-#
-# Function that sends a SIGHUP to the daemon/service
-#
-do_reload() {
-	#
-	# If the daemon can reload its configuration without
-	# restarting (for example, when it is sent a SIGHUP),
-	# then implement that here.
-	#
-	start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
-	return 0
-}
-
-case "$1" in
-  start)
-    [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME"
-    do_start
-    case "$?" in
-		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-	esac
-  ;;
-  stop)
-	[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
-	do_stop
-	case "$?" in
-		0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-		2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-	esac
-	;;
-  status)
-       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
-       ;;
-  #reload|force-reload)
-	#
-	# If do_reload() is not implemented then leave this commented out
-	# and leave 'force-reload' as an alias for 'restart'.
-	#
-	#log_daemon_msg "Reloading $DESC" "$NAME"
-	#do_reload
-	#log_end_msg $?
-	#;;
-  restart|force-reload)
-	#
-	# If the "reload" option is implemented then remove the
-	# 'force-reload' alias
-	#
-	log_daemon_msg "Restarting $DESC" "$NAME"
-	do_stop
-	case "$?" in
-	  0|1)
-		do_start
-		case "$?" in
-			0) log_end_msg 0 ;;
-			1) log_end_msg 1 ;; # Old process is still running
-			*) log_end_msg 1 ;; # Failed to start
-		esac
-		;;
-	  *)
-	  	# Failed to stop
-		log_end_msg 1
-		;;
-	esac
-	;;
-  *)
-	#echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
-	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
-	exit 3
-	;;
-esac
-
-:

-- 
Git repository for pkg-ossec



More information about the Pkg-ossec-devel mailing list