]> gitweb.fluxo.info Git - puppet-ferm.git/commitdiff
add init script inspired by Kellermann's script for Debian
authorKilian Engelhardt <kilian.engelhardt@gmail.com>
Wed, 3 Apr 2019 15:16:46 +0000 (17:16 +0200)
committerKilian Engelhardt <kilian.engelhardt@gmail.com>
Wed, 3 Apr 2019 15:16:46 +0000 (17:16 +0200)
files/ferm [new file with mode: 0755]

diff --git a/files/ferm b/files/ferm
new file mode 100755 (executable)
index 0000000..3982eec
--- /dev/null
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# -----------------------------------------------------------------------------
+# ------------------------[ MANAGED BY PUPPET ]--------------------------------
+# -----------------------------------------------------------------------------
+#
+# ferm          Configure ferm firewall rules from /etc/ferm.conf
+#
+#               Inspired by Max Kellermann <max@duempel.org>
+#
+# Version:      $Revision: 001 $
+### BEGIN INIT INFO
+# Provides:          ferm
+# Required-Start:    $network $remote_fs
+# Required-Stop:     $network $remote_fs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Description:       Starts ferm firewall configuration
+# short-description: ferm firewall configuration
+### END INIT INFO
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+FERM=/usr/sbin/ferm
+CONFIG=/etc/ferm.conf
+NAME=ferm
+DESC="firewall"
+
+test -x "${FERM}"   || exit 0
+test -f "${CONFIG}" || exit 0
+
+# shellcheck disable=SC1091
+[ -r /etc/sysconfig/ferm ] && . /etc/sysconfig/ferm
+
+umask 0077
+
+FAST=${FAST:-yes}
+OPTIONS="${OPTIONS}"
+
+set -e
+
+# shellcheck disable=SC2086
+configure_ferm() {
+    if [ "${FAST}" = "yes" ]; then
+        ${FERM} ${OPTIONS} ${CONFIG} || return ${?}
+    else
+        ${FERM} ${OPTIONS} --slow ${CONFIG} || return ${?}
+    fi
+}
+
+case "${1}" in
+    start|reload|restart|force-reload)
+        # shellcheck disable=SC2039
+        echo -n "${1}ing ${DESC}" "${NAME}"
+        configure_ferm && echo " ... ok." || echo "... failed!"
+        ;;
+    stop)
+        # shellcheck disable=SC2039
+        echo -n "stopping ${DESC}" "${NAME}"
+        OPTIONS="${OPTIONS} --flush"
+        configure_ferm && echo " ... ok." || echo "... failed!"
+        ;;
+    *)
+        N=/etc/init.d/${NAME}
+        echo "Usage: ${N} {start|stop|restart|reload|force-reload}"
+        exit 1
+        ;;
+esac
+
+exit 0