--- ufw.orig 2010-09-05 16:39:21.000000000 -0400 +++ ufw 2010-09-12 21:30:48.600003877 -0400 @@ -1,4 +1,7 @@ -#!/bin/sh -e +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions [ -x /usr/bin/ufw ] || exit 0 @@ -15,42 +18,41 @@ case "$1" in start) if [ "$ENABLED" = "yes" ] || [ "$ENABLED" = "YES" ]; then - echo "Starting firewall:" "ufw" - output=`ufw_start` || error="$?" - if [ ! -z "$output" ]; then - /bin/echo -e "$output" + stat_busy "Starting ufw" + if ! ufw_start; then + stat_fail + else + add_daemon ufw + stat_done fi + else echo "Skip starting firewall:" "ufw (not enabled)" fi - exit $error ;; stop) if [ "$ENABLED" = "yes" ] || [ "$ENABLED" = "YES" ]; then - echo "Stopping firewall:" "ufw" - output=`ufw_stop` || error="$?" - if [ ! -z "$output" ]; then - /bin/echo -e "$output" + stat_busy "Stopping ufw" + if ! ufw_stop; then + stat_fail + else + rm_daemon ufw + stat_done fi else echo "Skip stopping firewall:" "ufw (not enabled)" fi - exit $error ;; restart|force-reload) - echo "Reloading firewall:" "ufw" - output=`ufw_reload` || error="$?" - if [ ! -z "$output" ]; then - /bin/echo -e "$output" + stat_busy "Reloading ufw" + if ! ufw_reload; then + stat_fail + else + stat_done fi - exit $error ;; status) - output=`ufw_status` || error="$?" - if [ ! -z "$output" ]; then - /bin/echo -e "$output" - fi - exit $error + ufw_status ;; *) echo "Usage: /etc/rc.d/ufw {start|stop|restart|force-reload|status}"