#!/sbin/openrc-run # Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 if [ "${RC_SVCNAME}" = "shorewall6" ]; then PRODUCT_NAME="Shorewall6" command="/usr/sbin/shorewall -6" else PRODUCT_NAME="Shorewall" command="/usr/sbin/shorewall" fi description="The Shoreline Firewall, more commonly known as \"${PRODUCT_NAME}\", is" description="${description} a high-level tool for configuring Netfilter." extra_commands="check clear" extra_started_commands="reload reset" description_check="Checks if the configuration will compile or not." description_clear="Clear will remove all rules and chains installed by" description_clear="${description_clear} ${PRODUCT_NAME}. The firewall is then" description_clear="${description_clear} wide open and unprotected." description_reload="Reload is similar to \"${RC_SERVICE} start\" except that it assumes" description_reload="${description_reload} that the firewall is already started." description_reload="${description_reload} Existing connections are maintained." description_reset="All the packet and byte counters in the firewall are reset." depend() { provide firewall after ulogd } check() { ebegin "Checking ${RC_SVCNAME} configuration" ${command} ${OPTIONS} check 1>/dev/null eend $? } clear() { ebegin "Clearing all ${RC_SVCNAME} rules and setting policy to ACCEPT" ${command} ${OPTIONS} clear 1>/dev/null eend $? } reload() { ebegin "Reloading ${RC_SVCNAME}" ${command} ${OPTIONS} reload ${RELOADOPTIONS} 1>/dev/null eend $? } reset() { ebegin "Resetting the packet and byte counters in ${RC_SVCNAME}" ${command} ${OPTIONS} reset 1>/dev/null eend $? } restart() { local _retval ebegin "Restarting ${RC_SVCNAME}" ${command} status 1>/dev/null _retval=$? if [ ${_retval} = '0' ]; then svc_start else ${command} ${OPTIONS} restart ${RESTARTOPTIONS} 1>/dev/null fi eend $? } start() { ebegin "Starting ${RC_SVCNAME}" ${command} ${OPTIONS} start ${STARTOPTIONS} 1>/dev/null eend $? } status() { local _retval ${command} status 1>/dev/null _retval=$? if [ ${_retval} = '0' ]; then einfo 'status: started' mark_service_started "${SVCNAME}" return 0 else einfo 'status: stopped' mark_service_stopped "${SVCNAME}" return 3 fi } stop() { ebegin "Stopping ${RC_SVCNAME}" ${command} ${OPTIONS} stop ${STOPOPTIONS} 1>/dev/null eend $? }