
#-----------------------------------------------------------------------
# CHANGES
#-----------------------------------------------------------------------
#
# 2001-02-07  Jean-Sebastien Morisset <jsmoriss@mvlan.net>
#             Modified the deny/ignore rule for clusters.
# 2000-10-28  Jean-Sebastien Morisset <jsmoriss@mvlan.net>
#             Initial module written for v5.1.
#
#-----------------------------------------------------------------------
# MODULE CONFIGURATION
#-----------------------------------------------------------------------
#
#m# 3
#a# accept ignore deny
#i# cluster
#n# smtp
#t# servers
#
#   |--------------------------------------------------------------------|
#d# Allow local mail servers (LAN, Firewall, or DMZ) to communicate with
#d# remote SMTP servers on port 25.
#   |--------------------------------------------------------------------|
#
#-----------------------------------------------------------------------
# START OF MODULE CODE
#-----------------------------------------------------------------------

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 smtp servers`
	do
		case $action in
			ignore|deny)
				echo "Reject $INTOPT $IPADDR -> $host SMTP $action_log_msg"
				[ "$CLUSTER_NAME" ] \
					&& ipchains -A $INCHAIN  -j REJECT -p tcp -y -s $IPADDR -d $host smtp $action_log \
					|| ipchains -A $OUTCHAIN -j REJECT -p tcp -y -s $IPADDR -d $host smtp $action_log
				;;
			accept)
				Accept_Hostports remote tcp "SMTP" $host smtp
				;;
		esac
	done
done
unset action action_log_msg action_log host

