]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - html/cgi-bin/firewall.cgi
Merge branch 'fifteen' of ssh://git.ipfire.org/pub/git/ipfire-2.x into fifteen-layout
[people/teissler/ipfire-2.x.git] / html / cgi-bin / firewall.cgi
index 29b70b442c1300e9ac8a58dfc02d3939b9b38eda..c17bfaf8ea9809b64fefa70bdecc6c72ffabd9c9 100755 (executable)
@@ -659,6 +659,8 @@ sub checktarget
                                                        if (&General::validport($_)){
                                                                push (@values,$_);
                                                        }else{
+                                                               $errormessage=$Lang::tr{'fwdfw err tgt_port'};
+                                                               return $errormessage;
                                                        }
                                                }
                                        }
@@ -1349,6 +1351,7 @@ sub getcolor
                        #Check if IP is part of a IPsec N2N network
                        foreach my $key (sort keys %ipsecconf){
                                my ($a,$b) = split("/",$ipsecconf{$key}[11]);
+                               $b=&General::iporsubtodec($b);
                                if (&General::IpInSubnet($c,$a,$b)){
                                        $tdcolor="style='background-color: $Header::colourvpn;color:white;'";
                                        return;
@@ -1426,6 +1429,11 @@ sub newrule
        open (CONN1,"/var/ipfire/red/local-ipaddress");
        my $redip = <CONN1>;
        close(CONN1);
+       if (! $fwdfwsettings{'RULE_ACTION'} && $fwdfwsettings{'POLICY'} eq 'MODE2'){
+               $fwdfwsettings{'RULE_ACTION'}='DROP';
+       }elsif(! $fwdfwsettings{'RULE_ACTION'} && $fwdfwsettings{'POLICY'} eq 'MODE1'){
+               $fwdfwsettings{'RULE_ACTION'}='ACCEPT';
+       }
        $checked{'grp1'}{$fwdfwsettings{'grp1'}}                                = 'CHECKED';
        $checked{'grp2'}{$fwdfwsettings{'grp2'}}                                = 'CHECKED';
        $checked{'grp3'}{$fwdfwsettings{'grp3'}}                                = 'CHECKED';
@@ -1548,6 +1556,11 @@ sub newrule
                        }
                }       
        }
+       # Split manual source and target address and delete the subnet
+       my ($sip,$scidr) = split("/",$fwdfwsettings{$fwdfwsettings{'grp1'}});
+       if ($scidr eq '32'){$fwdfwsettings{$fwdfwsettings{'grp1'}}=$sip;}
+       my ($dip,$dcidr) = split("/",$fwdfwsettings{$fwdfwsettings{'grp2'}});
+       if ($scidr eq '32'){$fwdfwsettings{$fwdfwsettings{'grp2'}}=$dip;}
        &Header::openbox('100%', 'left', $Lang::tr{'fwdfw addrule'});
        &Header::closebox();
        &Header::openbox('100%', 'left', $Lang::tr{'fwdfw source'});
@@ -1833,23 +1846,9 @@ END
 END
 
                &Header::closebox;
-
-               $checked{"RULE_ACTION"} = ();
-               foreach ("ACCEPT", "DROP", "REJECT") {
-                       $checked{"RULE_ACTION"}{$_} = "";
-               }
-
-               if($fwdfwsettings{'updatefwrule'} eq 'on') {
-                       $checked{"RULE_ACTION"}{$fwdfwsettings{'RULE_ACTION'}} = "checked";
-               } elsif ($fwdfwsettings{'POLICY'} eq 'MODE1') {
-                       $checked{"RULE_ACTION"}{"ACCEPT"} = "checked";
-               } elsif ($fwdfwsettings{'POLICY'} eq 'MODE2') {
-                       $checked{"RULE_ACTION"}{"DROP"} = "checked";
-               }
-
+               $checked{"RULE_ACTION"}{$fwdfwsettings{'RULE_ACTION'}}  = 'CHECKED';
                print <<END;
                        <hr><br>
-
                        <center>
                                <table width="80%" border="0">
                                        <tr>
@@ -2027,6 +2026,7 @@ END
                        <input type='hidden' name='oldorange' value='$fwdfwsettings{'oldorange'}' />
                        <input type='hidden' name='oldnat' value='$fwdfwsettings{'oldnat'}' />
                        <input type='hidden' name='oldruletype' value='$fwdfwsettings{'oldruletype'}' />
+                       <input type='hidden' name='nat' value='$fwdfwsettings{'nat'}' />
                        <input type='hidden' name='ACTION' value='saverule' ></form><form method='post' style='display:inline'><input type='submit' value='$Lang::tr{'fwhost back'}' style='min-width:100px;'><input type='hidden' name='ACTION' value'reset'></td></td>
                        </table></form>
 END
@@ -2303,7 +2303,7 @@ sub viewtablenew
        &General::readhasharray("$configccdhost", \%ccdhost);
 
        &Header::openbox('100%', 'left', $title);
-       print "<table width='100%' cellspacing='0' border='0'>";
+       print "<table width='100%' cellspacing='0' class='tbl'>";
 
        if (! -z $config) {
                my $count=0;