]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - html/cgi-bin/forwardfw.cgi
firewall: Remove version information.
[people/teissler/ipfire-2.x.git] / html / cgi-bin / forwardfw.cgi
index 09d600e4bb17578f2b9c04f61507c773d1ab092f..e3bbe5900156c7a45a77eaf8949d9c960b9c5656 100755 (executable)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2012                                                                                                 #
+# Copyright (C) 2013 Alexander Marx <amarx@ipfire.org>                        #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -19,7 +19,6 @@
 #                                                                             #
 ###############################################################################
 
-
 use strict;
 use Sort::Naturally;
 no warnings 'uninitialized';
@@ -64,7 +63,6 @@ my %aliases=();
 my %optionsfw=();
 my %ifaces=();
 
-my $VERSION='0.9.9.12';
 my $color;
 my $confignet          = "${General::swroot}/fwhosts/customnetworks";
 my $confighost         = "${General::swroot}/fwhosts/customhosts";
@@ -378,7 +376,7 @@ if ($fwdfwsettings{'ACTION'} eq 'copyrule')
        $fwdfwsettings{'copyfwrule'}='on';
        &newrule;
 }
-if ($fwdfwsettings{'ACTION'} eq '')
+if ($fwdfwsettings{'ACTION'} eq '' or $fwdfwsettings{'ACTION'} eq 'reset')
 {
        &base;
 }
@@ -401,8 +399,6 @@ sub base
 {
        &hint;
        &addrule;
-       print "<br><br>";
-       print "<br><br><div align='right'><font size='1' color='grey'>Version: $VERSION</font></div>";
 }
 sub changerule
 {
@@ -433,7 +429,9 @@ sub checksource
                }
 
                if ($fwdfwsettings{'isip'} ne 'on'){
-                       if (&General::validmac($fwdfwsettings{'src_addr'})){$fwdfwsettings{'ismac'}='on';}
+                       if (&General::validmac($fwdfwsettings{'src_addr'})){
+                               $fwdfwsettings{'ismac'}='on';
+                       }
                }
                if ($fwdfwsettings{'isip'} eq 'on'){
                        ##check if ip is valid
@@ -445,12 +443,6 @@ sub checksource
                        $ip=&General::ip2dec($ip);
                        $ip=&General::dec2ip($ip);
                        #check if net or broadcast
-                       my @tmp= split (/\./,$ip);
-                       if (($tmp[3] eq "0") || ($tmp[3] eq "255"))
-                       {
-                               $errormessage=$Lang::tr{'fwhost err hostip'}."<br>";
-                               return $errormessage;
-                       }
                        $fwdfwsettings{'src_addr'}="$ip/$subnet";
                        if(!&General::validipandmask($fwdfwsettings{'src_addr'})){
                                $errormessage.=$Lang::tr{'fwdfw err src_addr'}."<br>";
@@ -1248,47 +1240,55 @@ sub getcolor
        my $val=shift;
        my $hash=shift;
        if($optionsfw{'SHOWCOLORS'} eq 'on'){
+               #custom Hosts
+               if ($nettype eq 'cust_host_src' || $nettype eq 'cust_host_tgt'){
+                       foreach my $key (sort keys %$hash){
+                               if ($$hash{$key}[0] eq $val){
+                                       $val=$$hash{$key}[2];
+                               }
+                       }
+               }
                #standard networks
                if ($val eq 'GREEN'){
-                       $tdcolor="style='border: 1px solid $Header::colourgreen;'";
+                       $tdcolor="style='background-color: $Header::colourgreen;color:white;'";
                        return;
                }elsif ($val eq 'ORANGE'){
-                       $tdcolor="style='border: 1px solid $Header::colourorange;'";
+                       $tdcolor="style='background-color:  $Header::colourorange;color:white;'";
                        return;
                }elsif ($val eq 'BLUE'){
-                       $tdcolor="style='border: 1px solid $Header::colourblue;'";
+                       $tdcolor="style='background-color: $Header::colourblue;color:white;'";
                        return;
                }elsif ($val eq 'RED' ||$val eq 'RED1' ){
-                       $tdcolor="style='border: 1px solid $Header::colourred;'";
+                       $tdcolor="style='background-color: $Header::colourred;color:white;'";
                        return;
                }elsif ($val eq 'IPFire' ){
-                       $tdcolor="style='border: 1px solid $Header::colourred;'";
+                       $tdcolor="style='background-color: $Header::colourred;color:white;'";
                        return;
                }elsif($val =~ /^(.*?)\/(.*?)$/){
                        my ($sip,$scidr) = split ("/",$val);
                        if ( &General::IpInSubnet($sip,$netsettings{'ORANGE_ADDRESS'},$netsettings{'ORANGE_NETMASK'})){
-                               $tdcolor="style='border: 1px solid $Header::colourorange;'";
+                               $tdcolor="style='background-color: $Header::colourorange;color:white;'";
                                return;
                        }
                        if ( &General::IpInSubnet($sip,$netsettings{'GREEN_ADDRESS'},$netsettings{'GREEN_NETMASK'})){
-                               $tdcolor="style='border: 1px solid $Header::colourgreen;'";
+                               $tdcolor="style='background-color: $Header::colourgreen;color:white;'";
                                return;
                        }
                        if ( &General::IpInSubnet($sip,$netsettings{'BLUE_ADDRESS'},$netsettings{'BLUE_NETMASK'})){
-                               $tdcolor="style='border: 1px solid $Header::colourblue;'";
+                               $tdcolor="style='background-color: $Header::colourblue;color:white;'";
                                return;
                        }
                }elsif ($val eq 'Default IP'){
-                       $tdcolor="style='border: 1px solid $Header::colourred;'";
+                       $tdcolor="style='background-color: $Header::colourred;color:white;'";
                        return;
                }
-               #Check if a manual IP is part of a VPN 
-               if ($nettype eq 'src_addr' || $nettype eq 'tgt_addr'){
+               #Check if a manual IP or custom host is part of a VPN
+               if ($nettype eq 'src_addr' || $nettype eq 'tgt_addr' || $nettype eq 'cust_host_src' || $nettype eq 'cust_host_tgt'){
                        #Check if IP is part of OpenVPN dynamic subnet
                        my ($a,$b) = split("/",$ovpnsettings{'DOVPN_SUBNET'});
                        my ($c,$d) = split("/",$val);
                        if (&General::IpInSubnet($c,$a,$b)){
-                               $tdcolor="style='border: 1px solid $Header::colourovpn;'";
+                               $tdcolor="style='background-color: $Header::colourovpn;color:white;'";
                                return;
                        }
                        #Check if IP is part of OpenVPN static subnet
@@ -1296,7 +1296,7 @@ sub getcolor
                                my ($a,$b) = split("/",$ccdnet{$key}[1]);
                                $b =&General::iporsubtodec($b);
                                if (&General::IpInSubnet($c,$a,$b)){
-                                       $tdcolor="style='border: 1px solid $Header::colourovpn;'";
+                                       $tdcolor="style='background-color: $Header::colourovpn;color:white;'";
                                        return;
                                }
                        }
@@ -1305,7 +1305,7 @@ sub getcolor
                                if ($ccdhost{$key}[3] eq 'net'){
                                        my ($a,$b) = split("/",$ccdhost{$key}[11]);
                                        if (&General::IpInSubnet($c,$a,$b)){
-                                               $tdcolor="style='border: 1px solid $Header::colourovpn;'";
+                                               $tdcolor="style='background-color: $Header::colourovpn;color:white;'";
                                                return;
                                        }
                                }
@@ -1315,7 +1315,7 @@ sub getcolor
                                my ($a,$b) = split("/",$ipsecsettings{'RW_NET'});
                                $b=&General::iporsubtodec($b);
                                if (&General::IpInSubnet($c,$a,$b)){
-                                       $tdcolor="style='border: 1px solid $Header::colourvpn;'";
+                                       $tdcolor="style='background-color: $Header::colourvpn;color:white;'";
                                        return;
                                }
                        }
@@ -1323,33 +1323,25 @@ sub getcolor
                        foreach my $key (sort keys %ipsecconf){
                                my ($a,$b) = split("/",$ipsecconf{$key}[11]);
                                if (&General::IpInSubnet($c,$a,$b)){
-                                       $tdcolor="style='border: 1px solid $Header::colourvpn;'";
+                                       $tdcolor="style='background-color: $Header::colourvpn;color:white;'";
                                        return;
                                }
                        }
                }
                #VPN networks
                if ($nettype eq 'ovpn_n2n_src' || $nettype eq 'ovpn_n2n_tgt' || $nettype eq 'ovpn_net_src' || $nettype eq 'ovpn_net_tgt'|| $nettype eq 'ovpn_host_src' || $nettype eq 'ovpn_host_tgt'){
-                       $tdcolor="style='border: 1px solid $Header::colourovpn;'";
+                       $tdcolor="style='background-color: $Header::colourovpn;color:white;'";
                        return;
                }
                if ($nettype eq 'ipsec_net_src' || $nettype eq 'ipsec_net_tgt'){
-                       $tdcolor="style='border: 1px solid $Header::colourvpn;'";
+                       $tdcolor="style='background-color: $Header::colourvpn;color:white;'";
                        return;
                }
-               #custom Hosts
-               if ($nettype eq 'cust_host_src' || $nettype eq 'cust_host_tgt'){
-                       foreach my $key (sort keys %$hash){
-                               if ($$hash{$key}[0] eq $val){
-                                       $val=$$hash{$key}[2];
-                               }
-                       }
-               }
                #ALIASE
                foreach my $alias (sort keys %aliases)
                {
                        if ($val eq $alias){
-                               $tdcolor="style='border: 1px solid $Header::colourred;'";
+                               $tdcolor="style='background-color:$Header::colourred;color:white;'";
                                return;
                        }
                }
@@ -1535,7 +1527,7 @@ sub newrule
        #------SOURCE-------------------------------------------------------
        print<<END;
                <table width='100%' border='0'>
-               <tr><td width='1%'><input type='radio' name='grp1' value='src_addr'  checked></td><td width='60%'>$Lang::tr{'fwdfw sourceip'}<input type='TEXT' name='src_addr' value='$fwdfwsettings{'src_addr'}' size='16' maxlength='17' ></td><td width='1%'><input type='radio' name='grp1' id='ipfire_src' value='ipfire_src'  $checked{'grp1'}{'ipfire_src'}></td><td><b>Firewall</b></td>
+               <tr><td width='1%'><input type='radio' name='grp1' value='src_addr'  checked></td><td width='60%'>$Lang::tr{'fwdfw sourceip'}<input type='TEXT' name='src_addr' value='$fwdfwsettings{'src_addr'}' size='16' maxlength='18' ></td><td width='1%'><input type='radio' name='grp1' id='ipfire_src' value='ipfire_src'  $checked{'grp1'}{'ipfire_src'}></td><td><b>Firewall</b></td>
 END
                print"<td align='right'><select name='ipfire_src' style='width:200px;'>";
                print "<option value='ALL' $selected{'ipfire_src'}{'ALL'}>$Lang::tr{'all'}</option>";
@@ -1593,7 +1585,7 @@ END
                &Header::openbox('100%', 'left', $Lang::tr{'fwdfw target'});
                print<<END;
                <table width='100%' border='0'> 
-               <tr><td width='1%'><input type='radio' name='grp2' value='tgt_addr'  checked></td><td width='60%' nowrap='nowrap'>$Lang::tr{'fwdfw targetip'}<input type='TEXT' name='tgt_addr' value='$fwdfwsettings{'tgt_addr'}' size='16' maxlength='17'><td width='1%'><input type='radio' name='grp2' id='ipfire' value='ipfire'  $checked{'grp2'}{'ipfire'}></td><td><b>Firewall</b></td>
+               <tr><td width='1%'><input type='radio' name='grp2' value='tgt_addr'  checked></td><td width='60%' nowrap='nowrap'>$Lang::tr{'fwdfw targetip'}<input type='TEXT' name='tgt_addr' value='$fwdfwsettings{'tgt_addr'}' size='16' maxlength='18'><td width='1%'><input type='radio' name='grp2' id='ipfire' value='ipfire'  $checked{'grp2'}{'ipfire'}></td><td><b>Firewall</b></td>
 END
                print"<td align='right'><select name='ipfire' style='width:200px;'>";
                print "<option value='ALL' $selected{'ipfire'}{'ALL'}>$Lang::tr{'all'}</option>";
@@ -2385,13 +2377,12 @@ END
                        }
                        &show_defaultrules($col,$pol);
                }elsif ($config eq '/var/ipfire/forward/outgoing'){
-                       my $pol='fwdfw '.$fwdfwsettings{'POLICY1'};
                        if ($fwdfwsettings{'POLICY1'} eq 'MODE1'){
                                $col="bgcolor='darkred'";
-                               print"<tr><td $col width='20%' align='center'><font color='#FFFFFF'>$Lang::tr{'fwdfw final_rule'}</td><td $col><font color='#FFFFFF' align='center'>$Lang::tr{'fwdfw pol allow'}</font></td></tr>";
+                               print"<tr><td $col width='20%' align='center'><font color='#FFFFFF'>$Lang::tr{'fwdfw final_rule'}</td><td $col align='center'><font color='#FFFFFF' >$Lang::tr{'fwdfw pol block'}</font></td></tr>";
                        }else{
                                $col="bgcolor='green'";
-                               print"<tr><td $col width='20%' align='center'><font color='#FFFFFF'>$Lang::tr{'fwdfw final_rule'}</td><td $col><font color='#FFFFFF' align='center'>$Lang::tr{'fwdfw pol block'}</font></td></tr>";
+                               print"<tr><td $col width='20%' align='center'><font color='#FFFFFF'>$Lang::tr{'fwdfw final_rule'}</td><td $col align='center'><font color='#FFFFFF' >$Lang::tr{'fwdfw pol allow'}</font></td></tr>";
                        }
                }else{
                        print"<tr><td bgcolor='darkred' width='20%' align='center'><font color='#FFFFFF'>$Lang::tr{'fwdfw final_rule'}</td><td bgcolor='darkred' align='center'><font color='#FFFFFF'>$Lang::tr{'fwdfw pol block'}</font></td></tr>";