* [git.ipfire.org] IPFire 2.x development tree branch, fifteen, updated. 49da7d797547095ee8a13b079c63661e8e4aa1ad
@ 2014-01-06 13:37 git
0 siblings, 0 replies; only message in thread
From: git @ 2014-01-06 13:37 UTC (permalink / raw)
To: ipfire-scm
[-- Attachment #1: Type: text/plain, Size: 3881 bytes --]
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 49da7d797547095ee8a13b079c63661e8e4aa1ad (commit)
from 95e9415ada2cd29399eec02c2748ca22792ec0a4 (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 49da7d797547095ee8a13b079c63661e8e4aa1ad
Author: Alexander Marx <amarx(a)ipfire.org>
Date: Mon Jan 6 13:18:05 2014 +0100
Firewall: added check if firewallrules need to be updated when editing services or servicegroups
-----------------------------------------------------------------------
Summary of changes:
html/cgi-bin/fwhosts.cgi | 47 ++++++++++++++++++++++++++++++-----------------
1 file changed, 30 insertions(+), 17 deletions(-)
Difference in files:
diff --git a/html/cgi-bin/fwhosts.cgi b/html/cgi-bin/fwhosts.cgi
index 3e59a9d..ae135ab 100755
--- a/html/cgi-bin/fwhosts.cgi
+++ b/html/cgi-bin/fwhosts.cgi
@@ -239,20 +239,12 @@ if ($fwhostsettings{'ACTION'} eq 'updateservice')
foreach my $key (sort keys %customservicegrp){
if($customservicegrp{$key}[2] eq $fwhostsettings{'oldsrvname'}){
$customservicegrp{$key}[2] = $fwhostsettings{'SRV_NAME'};
+ &checkrulereload($customservicegrp{$key}[0]);
}
}
&General::writehasharray("$configsrvgrp", \%customservicegrp);
- $needrules='on';
- }
- if($count gt 0 && $fwhostsettings{'oldsrvport'} ne $fwhostsettings{'SRV_PORT'} ){
- $needrules='on';
- }
- if($count gt 0 && $fwhostsettings{'oldsrvprot'} ne $fwhostsettings{'PROT'} ){
- $needrules='on';
- }
- if($count gt 0 && $fwhostsettings{'oldsrvicmp'} ne $fwhostsettings{'ICMP'} ){
- $needrules='on';
}
+ &checkrulereload($fwhostsettings{'SRV_NAME'});
$fwhostsettings{'SRV_NAME'} = '';
$fwhostsettings{'SRV_PORT'} = '';
$fwhostsettings{'PROT'} = '';
@@ -266,9 +258,6 @@ if ($fwhostsettings{'ACTION'} eq 'updateservice')
$fwhostsettings{'ICMP'} = $fwhostsettings{'oldsrvicmp'};
$fwhostsettings{'updatesrv'}= 'on';
}
- if($needrules eq 'on'){
- &General::firewall_config_changed();
- }
&addservice;
}
# save
@@ -751,7 +740,6 @@ if ($fwhostsettings{'ACTION'} eq 'saveservicegrp')
{
my $prot;
my $port;
- my $count=0;
my $tcpcounter=0;
my $udpcounter=0;
&General::readhasharray("$configsrvgrp", \%customservicegrp );
@@ -818,9 +806,7 @@ if ($fwhostsettings{'ACTION'} eq 'saveservicegrp')
&General::writehasharray("$configsrvgrp", \%customservicegrp );
$fwhostsettings{'updatesrvgrp'}='on';
}
- if ($count gt 0){
- &General::firewall_config_changed();
- }
+ &checkrulereload($fwhostsettings{'SRVGRP_NAME'});
&addservicegrp;
&viewtableservicegrp;
}
@@ -1938,6 +1924,33 @@ sub checkservicegroup
}
return $errormessage;
}
+sub checkrulereload
+{
+ my $search=shift;
+ &General::readhasharray("$fwconfigfwd", \%fwfwd);
+ &General::readhasharray("$fwconfiginp", \%fwinp);
+ &General::readhasharray("$fwconfigout", \%fwout);
+
+ #check if service or servicegroup is used in rules
+ foreach my $key (keys %fwfwd){
+ if($search eq $fwfwd{$key}[15]){
+ &General::firewall_config_changed();
+ return;
+ }
+ }
+ foreach my $key (keys %fwinp){
+ if($search eq $fwinp{$key}[15]){
+ &General::firewall_config_changed();
+ return;
+ }
+ }
+ foreach my $key (keys %fwout){
+ if($search eq $fwout{$key}[15]){
+ &General::firewall_config_changed();
+ return;
+ }
+ }
+}
sub error
{
if ($errormessage) {
hooks/post-receive
--
IPFire 2.x development tree
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-01-06 13:37 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-06 13:37 [git.ipfire.org] IPFire 2.x development tree branch, fifteen, updated. 49da7d797547095ee8a13b079c63661e8e4aa1ad git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox