]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blobdiff - html/cgi-bin/firewall.cgi
Firewall: When using DNAT AUTO, don't display the IP anymore in brackets
[people/teissler/ipfire-2.x.git] / html / cgi-bin / firewall.cgi
index 28ae464c602e572c960717b4ea8089d06820435d..48e3a8d2a6efe78855d02f8d8c38df6509e32927 100644 (file)
@@ -101,7 +101,7 @@ my @protocols;
 &General::readhasharray("$configipsec", \%ipsecconf);
 &Header::showhttpheaders();
 &Header::getcgihash(\%fwdfwsettings);
-&Header::openpage($Lang::tr{'fwdfw menu'}, 1, '');
+&Header::openpage($Lang::tr{'firewall rules'}, 1, '');
 &Header::openbigbox('100%', 'center',$errormessage);
 #### JAVA SCRIPT ####
 print<<END;
@@ -1260,15 +1260,12 @@ sub get_serviceports
        my $name=shift;
        &General::readhasharray("$configsrv", \%customservice);
        &General::readhasharray("$configsrvgrp", \%customservicegrp);
-       my $tcp;
-       my $udp;
-       my $icmp;
        @protocols=();
        my @specprot=("IPIP","IPV6","IGMP","GRE","AH","ESP");
        if($type eq 'service'){
                foreach my $key (sort { ncmp($customservice{$a}[0],$customservice{$b}[0]) } keys %customservice){
                        if ($customservice{$key}[0] eq $name){
-                               push (@protocols," ".$customservice{$key}[2]);
+                               push (@protocols,$customservice{$key}[2]);
                        }
                }
        }elsif($type eq 'group'){
@@ -1280,14 +1277,17 @@ sub get_serviceports
                                        foreach my $key1 (sort { ncmp($customservice{$a}[0],$customservice{$b}[0]) } keys %customservice){
                                                if ($customservice{$key1}[0] eq $customservicegrp{$key}[2]){
                                                        if (!grep(/$customservice{$key1}[2]/, @protocols)){
-                                                               push (@protocols," ".$customservice{$key1}[2]);
-                                                       }
+                                                               push (@protocols,$customservice{$key1}[2]);}
                                                }
                                        }
                                }
                        }
                }
        }
+
+       # Sort protocols alphabetically.
+       @protocols = sort(@protocols);
+
        return @protocols;
 }
 sub getcolor
@@ -1539,6 +1539,7 @@ sub newrule
                                $selected{'ipfire'}{$fwdfwsettings{$fwdfwsettings{'grp2'}}} ='selected';
                                $selected{'ipfire_src'}{$fwdfwsettings{$fwdfwsettings{'grp1'}}} ='selected';
                                $selected{'dnat'}{$fwdfwsettings{'dnat'}}                               ='selected';
+                               $selected{'snat'}{$fwdfwsettings{'snat'}}                               ='selected';
                        }
                }
                $fwdfwsettings{'oldgrp1a'}=$fwdfwsettings{'grp1'};
@@ -2299,8 +2300,8 @@ sub viewtablerule
        &General::readhash("/var/ipfire/ethernet/settings", \%netsettings);
 
        &viewtablenew(\%configfwdfw, $configfwdfw, $Lang::tr{'firewall rules'});
-       &viewtablenew(\%configinputfw, $configinput, $Lang::tr{'external access'});
-       &viewtablenew(\%configoutgoingfw, $configoutgoing, $Lang::tr{'outgoing firewall'});
+       &viewtablenew(\%configinputfw, $configinput, $Lang::tr{'incoming firewall access'});
+       &viewtablenew(\%configoutgoingfw, $configoutgoing, $Lang::tr{'outgoing firewall access'});
 }
 sub viewtablenew
 {
@@ -2474,7 +2475,7 @@ END
                                push (@protocols,$Lang::tr{'all'});
                        }
 
-                       my $protz=join(",",@protocols);
+                       my $protz=join(", ",@protocols);
                        if($protz eq 'ICMP' && $$hash{$key}[9] ne 'All ICMP-Types' && $$hash{$key}[14] ne 'cust_srvgrp'){
                                &General::readhasharray("${General::swroot}/fwhosts/icmp-types", \%icmptypes);
                                foreach my $keyicmp (sort { ncmp($icmptypes{$a}[0],$icmptypes{$b}[0]) }keys %icmptypes){
@@ -2483,6 +2484,8 @@ END
                                                last;
                                        }
                                }
+                       }elsif($#protocols gt '3'){
+                               print"<td align='center'><span title='$protz'>$Lang::tr{'fwdfw many'}</span></td>";
                        }else{
                                print"<td align='center'>$protz</td>";
                        }
@@ -2559,11 +2562,11 @@ END
                                                push (@nat_ifaces,&fwlib::get_nat_address($$hash{$key}[29],$val));
                                        }
                                        @nat_ifaces=&del_double(@nat_ifaces);
-                                       $natstring = join(', ', @nat_ifaces);
+                                       $natstring = "";
                                }else{
-                                       $natstring = $$hash{$key}[29];
+                                       $natstring = "($$hash{$key}[29])";
                                }
-                               print "$Lang::tr{'firewall'} ($natstring)";
+                               print "$Lang::tr{'firewall'} $natstring";
                                if($$hash{$key}[30] ne ''){
                                        $$hash{$key}[30]=~ tr/|/,/;
                                        print": $$hash{$key}[30]";