diff --git a/include/tests_firewalls b/include/tests_firewalls index 81e8dccc..7b3fa88e 100644 --- a/include/tests_firewalls +++ b/include/tests_firewalls @@ -270,7 +270,34 @@ ################################################################################# # # Test : FIRE-4530 - # Description : Check ipfw + # Description : Check ipfw (FreeBSD) + Register --test-no FIRE-4530 --os FreeBSD --weight L --network NO --description "Check ipfw status" + if [ ${SKIPTEST} -eq 0 ]; then + if [ ! "${SYSCTLBINARY}" = "" ]; then + # For now, only check for IPv4. + FIND=`${SYSCTLBINARY} net.inet.ip.fw.enable | awk '{ print $2 }'` + if [ "${FIND}" = "1" ]; then + Display --indent 2 --text "- Checking ipfw status" --result RUNNING --color GREEN + logtext "Result: ipfw is running for IPv4" + FIREWALL_ACTIVE=1 + FIREWALL_SOFTWARE="ipfw" + IPFW_ENABLED=`service -e | grep -o ipfw` + if [ "${IPFW_ENABLED}" = "ipfw" ]; then + Display --indent 4 --text "- ipfw enabled in /etc/rc.conf" --result YES --color GREEN + logtext "Result: ipfw is enabled at start-up for IPv4" + else + Display --indent 4 --text "- ipfw enabled in /etc/rc.conf" --result NO --color YELLOW + logtext "Result: ipfw is disabled at start-up for IPv4" + fi + else + Display --indent 2 --text "- Checking ipfw status" --result "NOT RUNNING" --color YELLOW + logtext "Result: ipfw is not running for IPv4" + fi + else + Display --indent 2 --text "- Checking ipfw" --result SKIPPED --color YELLOW + ReportException "${TEST_NO}:4" "No IPFW test available (sysctl missing)" + fi + fi # ################################################################################# #