BUG12479: Copied NAT rule in Firewall displays incorrect source Port
Commit Message
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(+)
Comments
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
>
@@ -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];