diff --git a/config/outgoingfw/outgoingfw.pl b/config/outgoingfw/outgoingfw.pl index 4b86a8a2a..ac27a58fe 100644 --- a/config/outgoingfw/outgoingfw.pl +++ b/config/outgoingfw/outgoingfw.pl @@ -152,19 +152,18 @@ foreach $configentry (sort @configs) @proto = ("esp"); } elsif ($configline[3] eq 'gre') { @proto = ("gre"); - } elsif ($configline[3] eq 'tcp&udp') { - @proto = ("tcp","udp"); } else { - @proto = ("all"); + @proto = ("tcp","udp"); } + foreach $PROTO (@proto) { $CMD = "/sbin/iptables -A OUTGOINGFW -s $SOURCE -d $DESTINATION -p $PROTO"; - if ($configline[8]) { + if ($configline[8] && $configline[3] ne 'esp' && $configline[3] ne 'gre') { $DPORT = "$configline[8]"; $CMD = "$CMD --dport $DPORT"; - } + } if ($DEV) { $CMD = "$CMD -i $DEV"; diff --git a/html/cgi-bin/outgoingfw.cgi b/html/cgi-bin/outgoingfw.cgi index ed87e0d8a..f112f6efc 100644 --- a/html/cgi-bin/outgoingfw.cgi +++ b/html/cgi-bin/outgoingfw.cgi @@ -634,7 +634,6 @@ sub addrule -