
#-----------------------------------------------------------------------
# DESCRIPTION
#-----------------------------------------------------------------------
#
# To install, copy this file to /etc/firewall/modules/public/services/
# 220-winvnc-clients and execute rc.firewall with the --update-config
# parameter. The proper options will be added to the configuration file.
#
#-----------------------------------------------------------------------
# CHANGES
#-----------------------------------------------------------------------
#
# 2000-10-29  Jean-Sebastien Morisset <jsmoriss@jsm-mv.dyndns.org>
#
#-----------------------------------------------------------------------
# MODULE CONFIGURATION
#-----------------------------------------------------------------------
#
#m# 123
#a# accept ignore deny
#i# cluster
#n# winvnc
#t# clients
#
#-----------------------------------------------------------------------
# START OF MODULE CODE
#-----------------------------------------------------------------------

module_name="winvnc"        # module name used in options
module_type="clients"       # the module type (clients, servers, etc.)
service_name="WinVNC"       # displayed on-screen
service_port="5900"         # port number for this service

for action in ignore deny accept
do
	case $action in
		accept|ignore)
				action_log_msg="$LOG_MSG"; action_log="$LOG";;
		deny)	action_log_msg="(logged)"; action_log="-l"  ;;
	esac

	for host in `Option_Value $action $INTOPT $module_name $module_type`
	do
		case $action in
			ignore|deny)
				echo "Deny $INTOPT $IPADDR $service_name <- $host $action_log_msg"
				ipchains -A $INCHAIN -j DENY -p tcp -s $host -d $IPADDR $service_port $action_log
				;;
			accept)
				Accept_Hostports local tcp "$service_name" $host $service_port
				;;
		esac
	done
done

unset module_name service_name service_port
unset action action_log_msg action_log host

