aboutsummaryrefslogtreecommitdiffstats
path: root/main/ferm/ferm.initd
diff options
context:
space:
mode:
authorChloe Kudryavtsev <toast@toastin.space>2018-11-06 22:24:19 -0500
committerLeonardo Arena <rnalrd@alpinelinux.org>2018-11-09 14:10:03 +0000
commit81f05ada5a529c7ea67d4e89d713a048255e751e (patch)
tree13a16832269c6b1cf090c4391137609d1d63d741 /main/ferm/ferm.initd
parent18dcd89c60ab18efc735c877235502a0dbecaf6b (diff)
downloadaports-81f05ada5a529c7ea67d4e89d713a048255e751e.tar.bz2
aports-81f05ada5a529c7ea67d4e89d713a048255e751e.tar.xz
main/ferm: add check, documentation, openrc
- ferm has a test suite, which passes - ferm has multiple (generated) pieces of documentation - it makes sense to use ferm in-place of iptables-save This patch adds tests, packages docs, and adds an openrc init script that I've been using for about a month now. For well-behaved packages (`need firewall`, rather than `need iptables) it can be an in-place replacement (as it `provide firewall`).
Diffstat (limited to 'main/ferm/ferm.initd')
-rwxr-xr-xmain/ferm/ferm.initd40
1 files changed, 40 insertions, 0 deletions
diff --git a/main/ferm/ferm.initd b/main/ferm/ferm.initd
new file mode 100755
index 0000000000..d855f6f79a
--- /dev/null
+++ b/main/ferm/ferm.initd
@@ -0,0 +1,40 @@
+#!/sbin/openrc-run
+
+name="ferm"
+description="For Easy Rule Making is a perl-based iptables frontend"
+description_checkconfig="Checks script validity"
+
+extra_commands="checkconfig"
+
+depend() {
+ after net sysctl
+ provide firewall
+}
+
+checkconfig() {
+ ferm -n "$inputfile"
+}
+
+start_pre() {
+ if [ "${RC_CMD}" != "restart" ] ; then
+ checkconfig || return $?
+ fi
+}
+
+stop_pre() {
+ if [ "${RC_CMD}" = "restart" ] ; then
+ checkconfig || return $?
+ fi
+}
+
+start() {
+ ebegin "Loading $inputfile rules"
+ ferm "$inputfile"
+ eend $?
+}
+
+stop() {
+ ebegin "Unloading $inputfile rules"
+ ferm -F "$inputfile"
+ eend $?
+}