From fadcfb73203c97e7062828eb77360b4382555943 Mon Sep 17 00:00:00 2001 From: Alexander Marx Date: Mon, 30 Sep 2013 15:43:51 +0200 Subject: [PATCH] Firewall: moved nat part between source and target and moved protocol dropdown behind target area --- config/forwardfw/rules.pl | 8 +-- html/cgi-bin/forwardfw.cgi | 141 ++++++++++++++++++------------------- 2 files changed, 72 insertions(+), 77 deletions(-) diff --git a/config/forwardfw/rules.pl b/config/forwardfw/rules.pl index 3f491f794..b797c2e0a 100755 --- a/config/forwardfw/rules.pl +++ b/config/forwardfw/rules.pl @@ -539,11 +539,11 @@ sub get_prot }elsif($$hash{$key}[11] eq 'ON' && $SRC_TGT eq ''){ if ($$hash{$key}[14] eq 'TGT_PORT'){ if ($$hash{$key}[15] ne ''){ - return "$$hash{$key}[12]"; + return "$$hash{$key}[8]"; }elsif($$hash{$key}[13] ne ''){ - return "$$hash{$key}[12]"; + return "$$hash{$key}[8]"; }else{ - return "$$hash{$key}[12]"; + return "$$hash{$key}[8]"; } }elsif($$hash{$key}[14] eq 'cust_srv'){ return &fwlib::get_srv_prot($$hash{$key}[15]); @@ -554,7 +554,7 @@ sub get_prot } #DNAT if ($SRC_TGT eq '' && $$hash{$key}[31] eq 'dnat' && $$hash{$key}[11] eq '' && $$hash{$key}[12] ne ''){ - return "$$hash{$key}[12]"; + return "$$hash{$key}[8]"; } } sub get_port diff --git a/html/cgi-bin/forwardfw.cgi b/html/cgi-bin/forwardfw.cgi index 405a97dbc..f0efa60e6 100755 --- a/html/cgi-bin/forwardfw.cgi +++ b/html/cgi-bin/forwardfw.cgi @@ -128,7 +128,6 @@ if ($fwdfwsettings{'ACTION'} eq 'saverule') $errormessage=&checksource; if(!$errormessage){&checktarget;} if(!$errormessage){&checkrule;} - #check if manual ip (source) is orange network if ($fwdfwsettings{'grp1'} eq 'src_addr'){ my ($sip,$scidr) = split("/",$fwdfwsettings{$fwdfwsettings{'grp1'}}); @@ -489,7 +488,6 @@ sub checksource }else{ $fwdfwsettings{'ICMP_TYPES'}=''; $fwdfwsettings{'SRC_PORT'}=''; - $fwdfwsettings{'PROT'}=''; } if($fwdfwsettings{'USE_SRC_PORT'} eq 'ON' && ($fwdfwsettings{'PROT'} eq 'TCP' || $fwdfwsettings{'PROT'} eq 'UDP') && $fwdfwsettings{'SRC_PORT'} ne ''){ @@ -809,9 +807,9 @@ sub checkrule } #check source and destination protocol if manual if( $fwdfwsettings{'USE_SRC_PORT'} eq 'ON' && $fwdfwsettings{'USESRV'} eq 'ON'){ - if($fwdfwsettings{'PROT'} ne $fwdfwsettings{'TGT_PROT'} && $fwdfwsettings{'grp3'} eq 'TGT_PORT'){ - $errormessage.=$Lang::tr{'fwdfw err prot'}; - } + #if($fwdfwsettings{'PROT'} ne $fwdfwsettings{'TGT_PROT'} && $fwdfwsettings{'grp3'} eq 'TGT_PORT'){ + # $errormessage.=$Lang::tr{'fwdfw err prot'}; + #} #check source and destination protocol if source manual and dest servicegrp if ($fwdfwsettings{'grp3'} eq 'cust_srv'){ foreach my $key (sort keys %customservice){ @@ -824,10 +822,12 @@ sub checkrule } } } - if( $fwdfwsettings{'USE_SRC_PORT'} ne 'ON' && $fwdfwsettings{'USESRV'} ne 'ON'){ + #ATTENTION: $fwdfwsetting{'TGT_PROT'} deprecated since 30.09.2013 + + if( $fwdfwsettings{'PROT'} eq $Lang::tr{'all'}){ $fwdfwsettings{'PROT'}=''; - $fwdfwsettings{'TGT_PROT'}=''; } + $fwdfwsettings{'TGT_PROT'}=''; #Set field empty (deprecated) } sub checkcounter { @@ -1541,7 +1541,6 @@ END print "" if (&Header::orange_used()); print "" if (&Header::blue_used()); print "