blob: 34ef5c4f09b27b6fbc8bfec37dbd7fd6aa1c6065 [file] [log] [blame]
#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-analyzer/snort/files/snort.rc12,v 1.1 2013/04/10 18:33:19 chainsaw Exp $
extra_commands="checkconfig"
extra_started_commands="reload"
depend() {
need net
after mysql
after postgresql
}
checkconfig() {
if [ ! -e ${SNORT_CONF} ] ; then
eerror "You need a configuration file to run snort"
eerror "There is an example config in /etc/snort/snort.conf.distrib"
return 1
fi
if [ ! -d "/var/run/snort" ] ; then
checkpath -d /var/run/snort
fi
}
start() {
checkconfig || return 1
ebegin "Starting snort"
start-stop-daemon --start --quiet --exec /usr/bin/snort \
-- --nolock-pidfile --pid-path /var/run/snort -D -i ${SNORT_IFACE} \
-c ${SNORT_CONF} >/dev/null 2>&1
eend $?
}
stop() {
ebegin "Stopping snort"
start-stop-daemon --stop --quiet --pidfile /var/run/snort/snort_${SNORT_IFACE}.pid
# Snort needs a few seconds to fully shutdown
sleep 15
eend $?
}
reload() {
local SNORT_PID="`cat /var/run/snort/snort_${SNORT_IFACE}.pid`"
local SNORT_USER="`ps -p ${SNORT_PID} --no-headers -o user`"
if [ ! -f /var/run/snort/snort_${SNORT_IFACE}.pid ]; then
eerror "Snort isn't running"
return 1
elif [ ${SNORT_USER} != root ]; then
eerror "Snort must be running as root for reload to work!"
return 1
else
checkconfig || return 1
ebegin "Reloading Snort"
start-stop-daemon --signal HUP --pidfile /var/run/snort/snort_${SNORT_IFACE}.pid
fi
}