This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree".
The branch, fifteen has been updated via a8b113e73d9e8b71eb57621109d7c4a6b46c34e2 (commit) via 5f037986b7b1b1f3b012ea0c50e44c77e92cfef2 (commit) via 484269ceacaad3deb817e1e9dc0af444633d1400 (commit) via ce2dbe92ce5f0655670d38502a65c0c53542e361 (commit) from dd6c9bb9c3c9031358aa61b629bf38b568d96676 (commit)
Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below.
- Log ----------------------------------------------------------------- commit a8b113e73d9e8b71eb57621109d7c4a6b46c34e2 Author: Alexander Marx amarx@ipfire.org Date: Fri Dec 20 11:56:18 2013 +0100
Firewall: Now servicegroups and networkgroups can be renamed
commit 5f037986b7b1b1f3b012ea0c50e44c77e92cfef2 Author: Alexander Marx amarx@ipfire.org Date: Fri Dec 20 09:40:24 2013 +0100
Firewall: added JS to automatically select radiobuttons in fwhosts
commit 484269ceacaad3deb817e1e9dc0af444633d1400 Author: Alexander Marx amarx@ipfire.org Date: Thu Dec 19 17:32:37 2013 +0100
FIrewall: Rewrote complete counters for firewall-groups (hosts,networks, network-groups)
commit ce2dbe92ce5f0655670d38502a65c0c53542e361 Author: Alexander Marx amarx@ipfire.org Date: Thu Dec 19 17:26:12 2013 +0100
Firewall: Bugfix - When editing a DNAT rule and setting prot to "all" the port from previus rule was not resettet
-----------------------------------------------------------------------
Summary of changes: html/cgi-bin/firewall.cgi | 4 + html/cgi-bin/fwhosts.cgi | 263 +++++++++++++++++++++++++++++++++++----------- 2 files changed, 207 insertions(+), 60 deletions(-)
Difference in files: diff --git a/html/cgi-bin/firewall.cgi b/html/cgi-bin/firewall.cgi index 28a7f0b..741fada 100755 --- a/html/cgi-bin/firewall.cgi +++ b/html/cgi-bin/firewall.cgi @@ -783,6 +783,10 @@ sub checkrule } $fwdfwsettings{'dnatport'}=join("|",@values); } + #check if a rule with prot tcp or udp and ports is edited and now prot is "all", then delete all ports + if($fwdfwsettings{'PROT'} eq ''){ + $fwdfwsettings{'dnatport'}=''; + } } #check valid remark if ($fwdfwsettings{'ruleremark'} ne '' && !&validremark($fwdfwsettings{'ruleremark'})){ diff --git a/html/cgi-bin/fwhosts.cgi b/html/cgi-bin/fwhosts.cgi index 7fb05de..3e59a9d 100755 --- a/html/cgi-bin/fwhosts.cgi +++ b/html/cgi-bin/fwhosts.cgi @@ -111,6 +111,12 @@ print<<END; var protocol = $("#protocol").val(); $("#protocol").change(update_protocol); update_protocol(); + // Automatically select radio buttons when corresponding + // dropdown menu changes. + $("select").change(function() { + var id = $(this).attr("name"); + $('#' + id).prop("checked", true); + }); }); </script> END @@ -268,7 +274,6 @@ if ($fwhostsettings{'ACTION'} eq 'updateservice') # save if ($fwhostsettings{'ACTION'} eq 'savenet' ) { - my $count=0; my $needrules=0; if ($fwhostsettings{'orgname'} eq ''){$fwhostsettings{'orgname'}=$fwhostsettings{'HOSTNAME'};} #check if all fields are set @@ -342,7 +347,6 @@ if ($fwhostsettings{'ACTION'} eq 'savenet' ) $customnetwork{$key}[1] = $fwhostsettings{'orgip'} ; $customnetwork{$key}[2] = $fwhostsettings{'orgsub'}; $customnetwork{$key}[3] = $fwhostsettings{'orgnetremark'}; - $customnetwork{$key}[4] = $fwhostsettings{'count'}; &General::writehasharray("$confignet", %customnetwork); undef %customnetwork; } @@ -353,7 +357,6 @@ if ($fwhostsettings{'ACTION'} eq 'savenet' ) if ($fwhostsettings{'update'} == '0'){ foreach my $key (keys %customnetwork) { if($customnetwork{$key}[0] eq $fwhostsettings{'orgname'}){ - $count=$customnetwork{$key}[4]; delete $customnetwork{$key}; last; } @@ -363,9 +366,8 @@ if ($fwhostsettings{'ACTION'} eq 'savenet' ) #get count if actualize is 'on' if($fwhostsettings{'actualize'} eq 'on'){ $fwhostsettings{'actualize'} = ''; - $count=$fwhostsettings{'count'}; #check if we need to reload rules - if($fwhostsettings{'orgip'} ne $fwhostsettings{'IP'} && $count gt '0'){ + if($fwhostsettings{'orgip'} ne $fwhostsettings{'IP'}){ $needrules='on'; } if ($fwhostsettings{'orgname'} ne $fwhostsettings{'HOSTNAME'}){ @@ -403,7 +405,7 @@ if ($fwhostsettings{'ACTION'} eq 'savenet' ) } } my $key = &General::findhasharraykey (%customnetwork); - foreach my $i (0 .. 4) { $customnetwork{$key}[$i] = "";} + foreach my $i (0 .. 3) { $customnetwork{$key}[$i] = "";} $fwhostsettings{'SUBNET'} = &General::iporsubtocidr($fwhostsettings{'SUBNET'}); $customnetwork{$key}[0] = $fwhostsettings{'HOSTNAME'}; #convert ip when leading '0' in byte @@ -411,9 +413,7 @@ if ($fwhostsettings{'ACTION'} eq 'savenet' ) $fwhostsettings{'IP'} =&General::dec2ip($fwhostsettings{'IP'}); $customnetwork{$key}[1] = &General::getnetworkip($fwhostsettings{'IP'},$fwhostsettings{'SUBNET'}) ; $customnetwork{$key}[2] = &General::iporsubtodec($fwhostsettings{'SUBNET'}) ; - if($fwhostsettings{'newnet'} eq 'on'){$count=0;} $customnetwork{$key}[3] = $fwhostsettings{'NETREMARK'}; - $customnetwork{$key}[4] = $count; &General::writehasharray("$confignet", %customnetwork); $fwhostsettings{'IP'}=$fwhostsettings{'IP'}."/".&General::iporsubtodec($fwhostsettings{'SUBNET'}); undef %customnetwork; @@ -435,7 +435,6 @@ if ($fwhostsettings{'ACTION'} eq 'savenet' ) } if ($fwhostsettings{'ACTION'} eq 'savehost') { - my $count=0; my $needrules=0; if ($fwhostsettings{'orgname'} eq ''){$fwhostsettings{'orgname'}=$fwhostsettings{'HOSTNAME'};} $fwhostsettings{'SUBNET'}='32'; @@ -483,7 +482,7 @@ if ($fwhostsettings{'ACTION'} eq 'savehost') if($fwhostsettings{'actualize'} eq 'on' && $fwhostsettings{'newhost'} ne 'on' && $errormessage){ $fwhostsettings{'actualize'} = ''; my $key = &General::findhasharraykey (%customhost); - foreach my $i (0 .. 4) { $customhost{$key}[$i] = "";} + foreach my $i (0 .. 3) { $customhost{$key}[$i] = "";} $customhost{$key}[0] = $fwhostsettings{'orgname'} ; $customhost{$key}[1] = $fwhostsettings{'type'} ; if($customhost{$key}[1] eq 'ip'){ @@ -492,15 +491,13 @@ if ($fwhostsettings{'ACTION'} eq 'savehost') $customhost{$key}[2] = $fwhostsettings{'orgip'}; } $customhost{$key}[3] = $fwhostsettings{'orgremark'}; - $customhost{$key}[4] = $fwhostsettings{'count'}; &General::writehasharray("$confighost", %customhost); undef %customhost; } if (!$errormessage){ #get count if host was edited if($fwhostsettings{'actualize'} eq 'on'){ - $count=$fwhostsettings{'count'}; - if($fwhostsettings{'orgip'} ne $fwhostsettings{'IP'} && $count gt '0' ){ + if($fwhostsettings{'orgip'} ne $fwhostsettings{'IP'}){ $needrules='on'; } if($fwhostsettings{'orgname'} ne $fwhostsettings{'HOSTNAME'}){ @@ -537,7 +534,7 @@ if ($fwhostsettings{'ACTION'} eq 'savehost') } } my $key = &General::findhasharraykey (%customhost); - foreach my $i (0 .. 4) { $customhost{$key}[$i] = "";} + foreach my $i (0 .. 3) { $customhost{$key}[$i] = "";} $customhost{$key}[0] = $fwhostsettings{'HOSTNAME'} ; $customhost{$key}[1] = $fwhostsettings{'type'} ; if ($fwhostsettings{'type'} eq 'ip'){ @@ -548,9 +545,7 @@ if ($fwhostsettings{'ACTION'} eq 'savehost') }else{ $customhost{$key}[2] = $fwhostsettings{'IP'}; } - if($fwhostsettings{'newhost'} eq 'on'){$count=0;} $customhost{$key}[3] = $fwhostsettings{'HOSTREMARK'}; - $customhost{$key}[4] =$count; &General::writehasharray("$confighost", %customhost); undef %customhost; $fwhostsettings{'HOSTNAME'}=''; @@ -571,7 +566,7 @@ if ($fwhostsettings{'ACTION'} eq 'savehost') } if ($fwhostsettings{'ACTION'} eq 'savegrp') { - my $grp=$fwhostsettings{'grp_name'};; + my $grp=$fwhostsettings{'grp_name'}; my $rem=$fwhostsettings{'remark'}; my $count; my $type; @@ -581,6 +576,9 @@ if ($fwhostsettings{'ACTION'} eq 'savegrp') &General::readhasharray("$configgrp", %customgrp); &General::readhasharray("$confignet", %customnetwork); &General::readhasharray("$confighost", %customhost); + &General::readhasharray("$fwconfigfwd", %fwfwd); + &General::readhasharray("$fwconfiginp", %fwinp); + &General::readhasharray("$fwconfigout", %fwout); #check name if (!&validhostname($grp)){$errormessage.=$Lang::tr{'fwhost err name'};} #check existing name @@ -685,17 +683,6 @@ if ($fwhostsettings{'ACTION'} eq 'savegrp') } &General::writehasharray("$configgrp", %customgrp); &General::readhasharray("$configgrp", %customgrp); - #get count used - foreach my $key (keys %customgrp) - { - if($customgrp{$key}[0] eq $grp) - { - $count=$customgrp{$key}[4]; - last; - } - } - if ($count eq '' ){$count='0';} - #create array with new lines foreach my $line (@target){ push (@newgrp,"$grp,$rem,$line"); @@ -703,36 +690,21 @@ if ($fwhostsettings{'ACTION'} eq 'savegrp') #append new entries my $key = &General::findhasharraykey (%customgrp); foreach my $line (@newgrp){ - foreach my $i (0 .. 4) { $customgrp{$key}[$i] = "";} + foreach my $i (0 .. 3) { $customgrp{$key}[$i] = "";} my ($a,$b,$c,$d) = split (",",$line); $customgrp{$key}[0] = $a; $customgrp{$key}[1] = $b; $customgrp{$key}[2] = $c; $customgrp{$key}[3] = $type; - $customgrp{$key}[4] = $count; } &General::writehasharray("$configgrp", %customgrp); #update counter in Host/Net - if($updcounter eq 'net'){ - foreach my $key (keys %customnetwork) { - if($customnetwork{$key}[0] eq $fwhostsettings{'CUST_SRC_NET'}){ - $customnetwork{$key}[4] = $customnetwork{$key}[4]+1; - last; - } - } - &General::writehasharray("$confignet", %customnetwork); - }elsif($updcounter eq 'host'){ - foreach my $key (keys %customhost) { - if ($customhost{$key}[0] eq $fwhostsettings{'CUST_SRC_HOST'}){ - $customhost{$key}[4]=$customhost{$key}[4]+1; - } - } - &General::writehasharray("$confighost", %customhost); - } $fwhostsettings{'update'}='on'; } #check if ruleupdate is needed - if($count > 0 ) + my $netgrpcount=0; + $netgrpcount=&getnetcount($grp); + if($netgrpcount > 0 ) { &General::firewall_config_changed(); } @@ -1128,6 +1100,52 @@ if ($fwhostsettings{'ACTION'} eq 'changesrvgrpremark') &addservicegrp; &viewtableservicegrp; } +if ($fwhostsettings{'ACTION'} eq 'changesrvgrpname') +{ + &General::readhasharray("$configsrvgrp", %customservicegrp ); + if ($fwhostsettings{'oldsrvgrpname'} ne $fwhostsettings{'srvgrp'}){ + #Check new groupname + if (!&validhostname($fwhostsettings{'srvgrp'})){ + $errormessage.=$Lang::tr{'fwhost err name'}."<br>"; + } + if (!$errormessage){ + #Rename group in customservicegroup + foreach my $key (keys %customservicegrp) { + if($customservicegrp{$key}[0] eq $fwhostsettings{'oldsrvgrpname'}){ + $customservicegrp{$key}[0]=$fwhostsettings{'srvgrp'}; + } + } + &General::writehasharray("$configsrvgrp", %customservicegrp ); + #change name in FW Rules + &changenameinfw($fwhostsettings{'oldsrvgrpname'},$fwhostsettings{'srvgrp'},15); + } + } + &addservicegrp; + &viewtableservicegrp; +} +if ($fwhostsettings{'ACTION'} eq 'changegrpname') +{ + &General::readhasharray("$configgrp", %customgrp ); + if ($fwhostsettings{'oldgrpname'} ne $fwhostsettings{'grp'}){ + #Check new groupname + if (!&validhostname($fwhostsettings{'grp'})){ + $errormessage.=$Lang::tr{'fwhost err name'}."<br>"; + } + if (!$errormessage){ + #Rename group in customservicegroup + foreach my $key (keys %customgrp) { + if($customgrp{$key}[0] eq $fwhostsettings{'oldgrpname'}){ + $customgrp{$key}[0]=$fwhostsettings{'grp'}; + } + } + &General::writehasharray("$configgrp", %customgrp ); + #change name in FW Rules + &changenameinfw($fwhostsettings{'oldgrpname'},$fwhostsettings{'grp'},6); + } + } + &addgrp; + &viewtablegrp; +} ### VIEW ### if($fwhostsettings{'ACTION'} eq '') { @@ -1215,6 +1233,7 @@ sub addgrp $checked{'check1'}{'on'} = ''; $checked{'grp2'}{$fwhostsettings{'grp2'}} = 'CHECKED'; $fwhostsettings{'oldremark'}=$fwhostsettings{'remark'}; + $fwhostsettings{'oldgrpname'}=$fwhostsettings{'grp_name'}; my $grp=$fwhostsettings{'grp_name'}; my $rem=$fwhostsettings{'remark'}; if ($fwhostsettings{'update'} eq ''){ @@ -1227,8 +1246,8 @@ END }else{ print<<END; <table width='100%' border='0'><form method='post' style='display:inline'> - <tr><td nowrap='nowrap' width='12%'>$Lang::tr{'fwhost addgrpname'}</td><td><input type='TEXT' name='grp' value='$fwhostsettings{'grp_name'}' readonly ></td><td></td></tr> - <tr><td>$Lang::tr{'remark'}:</td><td><input type='TEXT' name='newrem' size='45' value='$fwhostsettings{'remark'}' style='width:98%'></td><td align='right'><input type='submit' value='$Lang::tr{'fwhost change'}'><input type='hidden' name='oldrem' value='$fwhostsettings{'oldremark'}'><input type='hidden' name='ACTION' value='changegrpremark' ></td></tr></table></form> + <tr><td nowrap='nowrap' width='12%'>$Lang::tr{'fwhost addgrpname'}</td><td width='20%'><input type='TEXT' name='grp' value='$fwhostsettings{'grp_name'}' ></td><td><input type='submit' value='$Lang::tr{'fwhost change'}'><input type='hidden' name='oldgrpname' value='$fwhostsettings{'oldgrpname'}'><input type='hidden' name='ACTION' value='changegrpname'></td><td></td></form></tr> + <tr><form method='post' style='display:inline'><td>$Lang::tr{'remark'}:</td><td colspan='2'><input type='TEXT' name='newrem' size='45' value='$fwhostsettings{'remark'}' style='width:98%'></td><td align='right'><input type='submit' value='$Lang::tr{'fwhost change'}'><input type='hidden' name='oldrem' value='$fwhostsettings{'oldremark'}'><input type='hidden' name='ACTION' value='changegrpremark' ></td></tr></table></form> <hr> END } @@ -1392,6 +1411,7 @@ sub addservicegrp &showmenu; &Header::openbox('100%', 'left', $Lang::tr{'fwhost addservicegrp'}); $fwhostsettings{'oldsrvgrpremark'}=$fwhostsettings{'SRVGRP_REMARK'}; + $fwhostsettings{'oldsrvgrpname'}=$fwhostsettings{'SRVGRP_NAME'}; if ($fwhostsettings{'updatesrvgrp'} eq ''){ print<<END; <table width='100%' border='0'><form method='post'> @@ -1403,9 +1423,9 @@ END }else{ print<<END; <table width='100%' border='0'><form method='post' style='display:inline'> - <tr><td width='10%'>$Lang::tr{'fwhost addgrpname'}</td><td><input type='text' name='srvgrp' value='$fwhostsettings{'SRVGRP_NAME'}' readonly size='14'></td><td width='3%'></td></tr> - <tr><td width='10%'>$Lang::tr{'remark'}:</td><td><input type='text' name='newsrvrem' value='$fwhostsettings{'SRVGRP_REMARK'}' style='width:98%;'></td><td align='right'><input type='submit' value='$Lang::tr{'fwhost change'}'><input type='hidden' name='oldsrvrem' value='$fwhostsettings{'oldsrvgrpremark'}'><input type='hidden' name='ACTION' value='changesrvgrpremark' ></td></tr> - <tr><td colspan='3'><br><hr></td></td></tr> + <tr><td width='10%'>$Lang::tr{'fwhost addgrpname'}</td><td width='20%'><input type='text' name='srvgrp' value='$fwhostsettings{'SRVGRP_NAME'}' size='14'></td><td align='left'><input type='submit' value='$Lang::tr{'fwhost change'}'><input type='hidden' name='oldsrvgrpname' value='$fwhostsettings{'oldsrvgrpname'}'><input type='hidden' name='ACTION' value='changesrvgrpname'></td><td width='3%'></td></form></tr> + <tr><form method='post'><td width='10%'>$Lang::tr{'remark'}:</td><td colspan='2'><input type='text' name='newsrvrem' value='$fwhostsettings{'SRVGRP_REMARK'}' style='width:98%;'></td><td align='right'><input type='submit' value='$Lang::tr{'fwhost change'}'><input type='hidden' name='oldsrvrem' value='$fwhostsettings{'oldsrvgrpremark'}'><input type='hidden' name='ACTION' value='changesrvgrpremark' ></td></tr> + <tr><td colspan='4'><br><hr></td></td></tr> </table></form> END } @@ -1450,6 +1470,10 @@ sub viewtablenet if(! -z $confignet){ &Header::openbox('100%', 'left', $Lang::tr{'fwhost cust net'}); &General::readhasharray("$confignet", %customnetwork); + &General::readhasharray("$configgrp", %customgrp); + &General::readhasharray("$fwconfigfwd", %fwfwd); + &General::readhasharray("$fwconfiginp", %fwinp); + &General::readhasharray("$fwconfigout", %fwout); if (!keys %customnetwork) { print "<center><b>$Lang::tr{'fwhost empty'}</b>"; @@ -1471,7 +1495,8 @@ END print" <tr bgcolor='$color{'color20'}'>"; } my $colnet="$customnetwork{$key}[1]/".&General::subtocidr($customnetwork{$key}[2]); - print"<td width='20%'><form method='post'>$customnetwork{$key}[0]</td><td width='15%' align='center'>".&Header::colorize($colnet)."</td><td width='40%'>$customnetwork{$key}[3]</td><td align='center'>$customnetwork{$key}[4]x</td>"; + my $netcount=&getnetcount($customnetwork{$key}[0]); + print"<td width='20%'><form method='post'>$customnetwork{$key}[0]</td><td width='15%' align='center'>".&Header::colorize($colnet)."</td><td width='40%'>$customnetwork{$key}[3]</td><td align='center'>$netcount x</td>"; print<<END; <td width='1%'><input type='image' src='/images/edit.gif' align='middle' alt=$Lang::tr{'edit'} title=$Lang::tr{'edit'} /> <input type='hidden' name='ACTION' value='editnet'> @@ -1481,7 +1506,7 @@ END <input type='hidden' name='NETREMARK' value='$customnetwork{$key}[3]' /> </td></form> END - if($customnetwork{$key}[4] == '0') + if($netcount == '0') { print"<td width='1%'><form method='post'><input type='image' src='/images/delete.gif' align='middle' alt=$Lang::tr{'delete'} title=$Lang::tr{'delete'} /><input type='hidden' name='ACTION' value='delnet' /><input type='hidden' name='key' value='$customnetwork{$key}[0]' /></td></form></tr>"; }else{ @@ -1549,6 +1574,10 @@ sub viewtablehost &General::readhasharray("$confighost", %customhost); &General::readhasharray("$configccdnet", %ccdnet); &General::readhasharray("$configccdhost", %ccdhost); + &General::readhasharray("$fwconfigfwd", %fwfwd); + &General::readhasharray("$fwconfiginp", %fwinp); + &General::readhasharray("$fwconfigout", %fwout); + &General::readhasharray("$configgrp", %customgrp); if (!keys %customhost) { print "<center><b>$Lang::tr{'fwhost empty'}</b>"; @@ -1566,7 +1595,9 @@ END else{ print" <tr bgcolor='$color{'color20'}'>";} my ($ip,$sub)=split(///,$customhost{$key}[2]); $customhost{$key}[4]=~s/\s+//g; - print"<td width='20%'>$customhost{$key}[0]</td><td width='20%' align='center' ".&getcolor($ip).">".&Header::colorize($ip)."</td><td width='50%' align='left'>$customhost{$key}[3]</td><td align='center'>$customhost{$key}[4]x</td>"; + my $hostcount=0; + $hostcount=&gethostcount($customhost{$key}[0]); + print"<td width='20%'>$customhost{$key}[0]</td><td width='20%' align='center' ".&getcolor($ip).">".&Header::colorize($ip)."</td><td width='50%' align='left'>$customhost{$key}[3]</td><td align='center'>$hostcount x</td>"; print<<END; <td width='1%'><form method='post'><input type='image' src='/images/edit.gif' align='middle' alt=$Lang::tr{'edit'} title=$Lang::tr{'edit'} /> <input type='hidden' name='ACTION' value='edithost' /> @@ -1576,7 +1607,7 @@ END <input type='hidden' name='HOSTREMARK' value='$customhost{$key}[3]' /> </form></td> END - if($customhost{$key}[4] == '0') + if($hostcount == '0') { print"<td width='1%'><form method='post'><input type='image' src='/images/delete.gif' align='middle' alt=$Lang::tr{'delete'} title=$Lang::tr{'delete'} /><input type='hidden' name='ACTION' value='delhost' /><input type='hidden' name='key' value='$customhost{$key}[0]' /></td></form></tr>"; }else{ @@ -1598,6 +1629,9 @@ sub viewtablegrp &General::readhasharray("$configccdnet", %ccdnet); &General::readhasharray("$confighost", %customhost); &General::readhasharray("$confignet", %customnetwork); + &General::readhasharray("$fwconfigfwd", %fwfwd); + &General::readhasharray("$fwconfiginp", %fwinp); + &General::readhasharray("$fwconfigout", %fwout); my @grp=(); my $helper=''; my $count=1; @@ -1606,7 +1640,7 @@ sub viewtablegrp my $number; my $delflag; if (!keys %customgrp) - { + { print "<center><b>$Lang::tr{'fwhost err emptytable'}</b>"; }else{ foreach my $key (sort { ncmp($customgrp{$a}[0],$customgrp{$b}[0]) } sort { ncmp($customgrp{$a}[2],$customgrp{$b}[2]) } keys %customgrp){ @@ -1629,8 +1663,9 @@ sub viewtablegrp if($count gt 1){ print"</table>";} print "<br><b><u>$grpname</u></b> "; print " <b>$Lang::tr{'remark'}:</b>  $remark   " if ($remark ne ''); - print "<b>$Lang::tr{'used'}:</b> $customgrp{$key}[4]x"; - if($customgrp{$key}[4] == '0') + my $netgrpcount=&getnetcount($grpname); + print "<b>$Lang::tr{'used'}:</b> $netgrpcount x"; + if($netgrpcount == '0') { print"<form method='post' style='display:inline'><input type='image' src='/images/delete.gif' alt=$Lang::tr{'delete'} title=$Lang::tr{'delete'} align='right' /><input type='hidden' name='grp_name' value='$grpname' ><input type='hidden' name='ACTION' value='delgrp'></form>"; } @@ -1660,7 +1695,7 @@ sub viewtablegrp $ip="$colip/".&General::subtocidr($colsub) if ($colsub); print"<td align='center' ".&getcolor($colip).">".&Header::colorize($ip)."</td><td align='center'>$customgrp{$key}[3]</td><td width='1%'><form method='post'>"; } - if ($delflag > '1' && $ip ne ''){ + if ($delflag > 1 && $ip ne ''){ print"<input type='image' src='/images/delete.gif' align='middle' alt=$Lang::tr{'delete'} title=$Lang::tr{'delete'} />"; } print"<input type='hidden' name='ACTION' value='deletegrphost'><input type='hidden' name='grpcnt' value='$customgrp{$key}[4]'><input type='hidden' name='update' value='$fwhostsettings{'update'}'><input type='hidden' name='delhost' value='$grpname,$remark,$customgrp{$key}[2],$customgrp{$key}[3]'></form></td></tr>"; @@ -1930,6 +1965,84 @@ sub get_name return "$network" if ($val eq $defaultNetworks{$network}{'NAME'}); } } +sub gethostcount +{ + my $searchstring=shift; + my $srvcounter=0; + #Count services used in servicegroups + foreach my $key (keys %customgrp) { + if($customgrp{$key}[2] eq $searchstring){ + $srvcounter++; + } + } + #Count services used in firewall - config + foreach my $key1 (keys %fwfwd) { + if($fwfwd{$key1}[4] eq $searchstring){ + $srvcounter++; + } + if($fwfwd{$key1}[6] eq $searchstring){ + $srvcounter++; + } + } + #Count services used in firewall - input + foreach my $key2 (keys %fwinp) { + if($fwinp{$key2}[4] eq $searchstring){ + $srvcounter++; + } + if($fwinp{$key2}[6] eq $searchstring){ + $srvcounter++; + } + } + #Count services used in firewall - outgoing + foreach my $key3 (keys %fwout) { + if($fwout{$key3}[4] eq $searchstring){ + $srvcounter++; + } + if($fwout{$key3}[6] eq $searchstring){ + $srvcounter++; + } + } + return $srvcounter; +} +sub getnetcount +{ + my $searchstring=shift; + my $srvcounter=0; + #Count services used in servicegroups + foreach my $key (keys %customgrp) { + if($customgrp{$key}[2] eq $searchstring){ + $srvcounter++; + } + } + #Count services used in firewall - config + foreach my $key1 (keys %fwfwd) { + if($fwfwd{$key1}[4] eq $searchstring){ + $srvcounter++; + } + if($fwfwd{$key1}[6] eq $searchstring){ + $srvcounter++; + } + } + #Count services used in firewall - input + foreach my $key2 (keys %fwinp) { + if($fwinp{$key2}[4] eq $searchstring){ + $srvcounter++; + } + if($fwinp{$key2}[6] eq $searchstring){ + $srvcounter++; + } + } + #Count services used in firewall - outgoing + foreach my $key3 (keys %fwout) { + if($fwout{$key3}[4] eq $searchstring){ + $srvcounter++; + } + if($fwout{$key3}[6] eq $searchstring){ + $srvcounter++; + } + } + return $srvcounter; +} sub getsrvcount { my $searchstring=shift; @@ -2218,6 +2331,36 @@ sub decreaseservice &General::writehasharray("$configsrv", %customservice); } +sub changenameinfw +{ + my $old=shift; + my $new=shift; + my $fld=shift; + &General::readhasharray("$fwconfigfwd", %fwfwd); + &General::readhasharray("$fwconfiginp", %fwinp); + &General::readhasharray("$fwconfigout", %fwout); + #Rename group in Firewall-CONFIG + foreach my $key1 (keys %fwfwd) { + if($fwfwd{$key1}[$fld] eq $old){ + $fwfwd{$key1}[$fld]=$new; + } + } + &General::writehasharray("$fwconfigfwd", %fwfwd ); + #Rename group in Firewall-INPUT + foreach my $key2 (keys %fwinp) { + if($fwinp{$key2}[$fld] eq $old){ + $fwinp{$key2}[$fld]=$new; + } + } + &General::writehasharray("$fwconfiginp", %fwinp ); + #Rename group in Firewall-OUTGOING + foreach my $key3 (keys %fwout) { + if($fwout{$key3}[$fld] eq $old){ + $fwout{$key3}[$fld]=$new; + } + } + &General::writehasharray("$fwconfigout", %fwout ); +} sub checkports {
hooks/post-receive -- IPFire 2.x development tree