aboutsummaryrefslogtreecommitdiffstats
path: root/community/psad/psad.initd
diff options
context:
space:
mode:
Diffstat (limited to 'community/psad/psad.initd')
-rw-r--r--community/psad/psad.initd51
1 files changed, 51 insertions, 0 deletions
diff --git a/community/psad/psad.initd b/community/psad/psad.initd
new file mode 100644
index 0000000000..4a78c701c6
--- /dev/null
+++ b/community/psad/psad.initd
@@ -0,0 +1,51 @@
+#!/sbin/openrc-run
+
+# This file is part of PSAD (Port Scan Attack Detector)
+# Adapted for Alpine Linux by IT Offshore <developer@it-offshore.co.uk>
+
+command="/usr/sbin/psad"
+pidfile="/var/run/psad/psad.pid"
+config_file="/etc/psad/psad.conf"
+
+depend() {
+ need net
+ need logger
+ after iptables
+}
+
+# allow override config_file location from conf.d
+: ${config_file:="/etc/psad/psad.conf"}
+
+check_config() {
+ [ -f "$config_file" ] || error "$config_file is missing"
+}
+
+start_pre() {
+ check_config || return 1
+ # make sure dir for pidfile exists. /var/run is tmpfs...
+ checkpath --directory ${pidfile%/*}
+}
+
+start() {
+ ebegin "Starting PSAD (Port Scan Attack Detector)"
+ start-stop-daemon --start $command --pidfile $pidfile
+ eend $?
+}
+
+stop() {
+ local piddir=${pidfile%/*}
+ ebegin "Stopping psadwatchd"
+ start-stop-daemon --stop --quiet --pidfile $piddir/psadwatchd.pid
+ eend $? "Failed to stop psadwatchd"
+
+ if [ -f $piddir/kmsgsd.pid ] ; then
+ ebegin "Stopping kmsgsd"
+ start-stop-daemon --stop --quiet --pidfile $piddir/kmsgsd.pid
+ eend $? "Failed to stop kmsgsd"
+ fi
+
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet --pidfile $piddir/psad.pid
+ eend $? "Failed to stop ${SVCNAME}"
+}
+