Forward Firewall: BUGFIX: When creating DMZ Rules with MANUAL IP as source and afterw...
authorAlexander Marx <amarx@ipfire.org>
Mon, 27 May 2013 08:33:50 +0000 (10:33 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 9 Aug 2013 12:13:12 +0000 (14:13 +0200)
BUGFIX: When using SNAT (outbound) the rule does not seem to work. The NAT_SOURCE chain was on wron position in POSTROUTING

html/cgi-bin/forwardfw.cgi
src/initscripts/init.d/firewall

index 0fbc030b6e549db1d0959f0a56f4c880fbe33f5e..35d0bc56380007de6209e8bda0cc68ce00902c60 100755 (executable)
@@ -78,7 +78,7 @@ my %aliases=();
 my %optionsfw=();
 my %ifaces=();
 
-my $VERSION='0.9.9.6';
+my $VERSION='0.9.9.6a';
 my $color;
 my $confignet          = "${General::swroot}/fwhosts/customnetworks";
 my $confighost         = "${General::swroot}/fwhosts/customhosts";
@@ -596,7 +596,7 @@ sub addrule
        if (-f "${General::swroot}/forward/reread"){
                print "<table border='0'><form method='post'><td><div style='font-size:11pt; font-weight: bold;vertical-align: middle; '><input type='submit' name='ACTION' value='$Lang::tr{'fwdfw reread'}' style='font-face: Comic Sans MS; color: red; font-weight: bold; font-size: 14pt;'>&nbsp &nbsp $Lang::tr{'fwhost reread'}</div</td></tr></table></form><hr><br>";
        }
-       &Header::openbox('100%', 'left', "");
+       &Header::openbox('100%', 'left',  $Lang::tr{'fwdfw menu'});
        print "<form method='post'>";
        print "<table border='0'>";
        print "<tr><td><input type='submit' name='ACTION' value='$Lang::tr{'fwdfw newrule'}'></td>";
@@ -2151,7 +2151,7 @@ sub saverule
                        #print"6";
                }
                #check if we change a DMZ to a FORWARD/DMZ
-               elsif($fwdfwsettings{'oldruletype'} eq 'DMZ'  && $fwdfwsettings{'chain'} eq 'FORWARDFW' && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ORANGE'){
+               elsif($fwdfwsettings{'oldruletype'} eq 'DMZ'  && $fwdfwsettings{'chain'} eq 'FORWARDFW' && $fwdfwsettings{$fwdfwsettings{'grp1'}} ne 'ORANGE' && $checkorange ne 'on'){
                        &changerule($configdmz);
                        #print"7";
                }
@@ -2194,7 +2194,7 @@ sub saverule
                        #print"14";
                }
                #check if we change a FORWARD rule to an DMZ
-               elsif($fwdfwsettings{'oldruletype'} eq 'FORWARDFW'  && $fwdfwsettings{$fwdfwsettings{'grp1'}} eq 'ORANGE' || $checkorange eq 'on'){
+               elsif($fwdfwsettings{'oldruletype'} eq 'FORWARDFW'  && ($fwdfwsettings{$fwdfwsettings{'grp1'}} eq 'ORANGE' || $checkorange eq 'on')){
                        &changerule($configfwdfw);
                        #print"15";
                }
index 183ff5ba2fd7b2349ad60bac370229bcfe341bb1..200c1550e77f11afe60de6b988065d8044235e00 100644 (file)
@@ -243,7 +243,7 @@ case "$1" in
        /sbin/iptables -t nat -N NAT_DESTINATION
        /sbin/iptables -t nat -N NAT_SOURCE
        /sbin/iptables -t nat -A PREROUTING -j NAT_DESTINATION
-       /sbin/iptables -t nat -A POSTROUTING -j NAT_SOURCE
+       /sbin/iptables -t nat -I POSTROUTING 2 -j NAT_SOURCE
        
        
        # upnp chain for our upnp daemon