Fixes: #12479
When copying a NAT rule in the firewall the existing sourceport is copied, too. This Fix deletes the sourceport from a copied NAT rule. After Saving, the correct port is used.
Signed-off-by: Alexander Marx alexander.marx@ipfire.org --- html/cgi-bin/firewall.cgi | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/html/cgi-bin/firewall.cgi b/html/cgi-bin/firewall.cgi index 1483e779f..532f99f91 100644 --- a/html/cgi-bin/firewall.cgi +++ b/html/cgi-bin/firewall.cgi @@ -1552,6 +1552,11 @@ sub newrule $fwdfwsettings{'USE_NAT'} = $hash{$key}[28]; $fwdfwsettings{'nat'} = $hash{$key}[31]; #changed order $fwdfwsettings{$fwdfwsettings{'nat'}} = $hash{$key}[29]; + #Fix BUG 12479 + #When copying a DNAT Rule, the sourceport has to be empty at this point. + if($hash{$key}[14] eq 'cust_srv' and $hash{$key}[31] eq 'dnat'){ + $hash{$key}[30] = ''; + } $fwdfwsettings{'dnatport'} = $hash{$key}[30]; $fwdfwsettings{'LIMIT_CON_CON'} = $hash{$key}[32]; $fwdfwsettings{'concon'} = $hash{$key}[33];
Hello,
Why did this need changing?
If I want to copy a rule, do I not want to copy it exactly the same way?
-Michael
On 19 Mar 2021, at 17:32, Alexander Marx alexander.marx@ipfire.org wrote:
Fixes: #12479
When copying a NAT rule in the firewall the existing sourceport is copied, too. This Fix deletes the sourceport from a copied NAT rule. After Saving, the correct port is used.
Signed-off-by: Alexander Marx alexander.marx@ipfire.org
html/cgi-bin/firewall.cgi | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/html/cgi-bin/firewall.cgi b/html/cgi-bin/firewall.cgi index 1483e779f..532f99f91 100644 --- a/html/cgi-bin/firewall.cgi +++ b/html/cgi-bin/firewall.cgi @@ -1552,6 +1552,11 @@ sub newrule $fwdfwsettings{'USE_NAT'} = $hash{$key}[28]; $fwdfwsettings{'nat'} = $hash{$key}[31]; #changed order $fwdfwsettings{$fwdfwsettings{'nat'}} = $hash{$key}[29];
#Fix BUG 12479
#When copying a DNAT Rule, the sourceport has to be empty at this point.
if($hash{$key}[14] eq 'cust_srv' and $hash{$key}[31] eq 'dnat'){
$hash{$key}[30] = '';
} $fwdfwsettings{'dnatport'} = $hash{$key}[30]; $fwdfwsettings{'LIMIT_CON_CON'} = $hash{$key}[32]; $fwdfwsettings{'concon'} = $hash{$key}[33];
-- 2.25.1