diff options
Diffstat (limited to 'main/shorewall/shorewall.initd')
-rw-r--r-- | main/shorewall/shorewall.initd | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/main/shorewall/shorewall.initd b/main/shorewall/shorewall.initd new file mode 100644 index 0000000000..b2809757f0 --- /dev/null +++ b/main/shorewall/shorewall.initd @@ -0,0 +1,70 @@ +#!/sbin/runscript +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-firewall/shorewall/files/shorewall.initd,v 1.4 2013/07/13 14:09:09 constanze Exp $ + +command=/usr/sbin/shorewall +extra_commands="check clear" +extra_started_commands="refresh reset safe_restart" + +depend() { + need net + provide firewall + after ulogd +} + +start() { + checkpath -d -m 755 /var/lock/subsys + ebegin "Starting shorewall" + $command -f start 1>/dev/null + eend $? +} + +stop() { + ebegin "Stopping shorewall" + $command stop 1>/dev/null + eend $? +} + +safe_restart() { + ebegin "Safely restarting shorewall" + $command safe-restart 1>/dev/null + eend $? +} + +clear() { + # clear will remove all the rules and bring the system to an unfirewalled + # state. (21 Nov 2004 eldad) + + ebegin "Clearing all shorewall rules and setting policy to ACCEPT" + $command clear + eend $? +} + +reset() { + # reset the packet and byte counters in the firewall + + ebegin "Resetting the packet and byte counters in the shorewall" + $command reset + eend $? +} + +refresh() { + # refresh the rules involving the broadcast addresses of firewall + # interfaces, the black list, traffic control rules and + # ECN control rules + + ebegin "Refreshing shorewall rules" + $command refresh + eend $? +} + +check() { + # perform cursory validation of the zones, interfaces, hosts, rules + # and policy files. CAUTION: does not parse and validate the generated + # iptables commands. + + ebegin "Checking configuration files" + $command check + eend $? +} |