diff options
author | Alan Alberghini <414N@slacky.it> | 2021-01-15 20:18:37 +0000 |
---|---|---|
committer | Dave Woodfall <dave@slackbuilds.org> | 2021-01-15 20:18:37 +0000 |
commit | f639f6e47f449bc15c2c07d65ef1956bc298c3e3 (patch) | |
tree | 6ee9dc4519f2069b79162c964e3d4460ef2f59ad /network/ferm/rc.ferm | |
parent | 58e3d6196accb013df1f6cd9a8479b36a29e5f41 (diff) | |
download | slackbuilds-f639f6e47f449bc15c2c07d65ef1956bc298c3e3.tar.gz slackbuilds-f639f6e47f449bc15c2c07d65ef1956bc298c3e3.tar.xz |
network/ferm: Updated for version 2.5.1.
Signed-off-by: Dave Woodfall <dave@slackbuilds.org>
Diffstat (limited to 'network/ferm/rc.ferm')
-rw-r--r-- | network/ferm/rc.ferm | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/network/ferm/rc.ferm b/network/ferm/rc.ferm new file mode 100644 index 0000000000..838a775ca5 --- /dev/null +++ b/network/ferm/rc.ferm @@ -0,0 +1,77 @@ +#!/bin/sh +# +# /etc/rc.d/rc.ferm +# +# To make ferm automatically apply rules at boot, make this +# file executable: chmod 755 /etc/rc.d/rc.ferm + +CONFIG_FILE=/etc/ferm.conf +RUN_FILE=/var/run/ferm.run +FERM=/usr/sbin/ferm + +set -eE + +log_err() +{ + >&2 echo "$1" +} + +check_cfg() +{ + if [ ! -e "$CONFIG_FILE" ] + then + log_err "required config file $CONFIG_FILE missing!" + return 1 + fi +} +service_start() +{ + if [ ! -e "$RUN_FILE" ] + then + "$FERM" "$CONFIG_FILE" + else + log_err "ferm rules seem to have been already been applied ($RUN_FILE present). Aborting" + return 1 + fi + +} + +service_stop() +{ + if [ -e "$RUN_FILE" ] + then + "$FERM" -F "$CONFIG_FILE" + else + log_err "Could not find $RUN_FILE to assess if ferm was service_started. Aborting" + return 1 + fi +} + + +case "$1" in + 'start') + if service_start + then + touch "$RUN_FILE" + else + log_err "Error starting service" + exit 1 + fi + ;; + 'stop') + if service_stop + then + rm -f "$RUN_FILE" + else + log_err "Error stopping service" + exit 1 + fi + ;; + 'restart') + service_stop && service_start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + ;; +esac + |