From 3095e2905460ac2650d80e021b3757b4b7c5561d Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Fri, 13 Jun 2014 14:21:28 -0700 Subject: [PATCH] Allow from IP to be missing in --to-destination option --- firewall/edit_rule.cgi | 6 ++++++ firewall/save_rule.cgi | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/firewall/edit_rule.cgi b/firewall/edit_rule.cgi index 15e4fd771..443069f51 100755 --- a/firewall/edit_rule.cgi +++ b/firewall/edit_rule.cgi @@ -132,6 +132,12 @@ if (($table->{'name'} eq 'nat' && $rule->{'chain'} ne 'POSTROUTING') && $dpfrom = $5; $dpto = $7; } + elsif ($rule->{'to-destination'}->[1] =~ /^(:(\d+)(\-(\d+))?)?$/) { + $dipfrom = ""; + $dipto = ""; + $dpfrom = $2; + $dpto = $4; + } } print &ui_table_row($text{'edit_dnat'}, &ui_radio("dnatdef", $dipfrom eq "" ? 1 : 0, diff --git a/firewall/save_rule.cgi b/firewall/save_rule.cgi index 3d168ec77..e2fdd2ed1 100755 --- a/firewall/save_rule.cgi +++ b/firewall/save_rule.cgi @@ -89,7 +89,7 @@ else { } if ($table->{'name'} eq 'nat' && $rule->{'chain'} ne 'POSTROUTING') { if ($rule->{'j'}->[1] eq 'DNAT' && !$in{'dnatdef'}) { - &check_ipaddress($in{'dipfrom'}) || + !$in{'dipfrom'} || &check_ipaddress($in{'dipfrom'}) || &error($text{'save_edipfrom'}); !$in{'dipto'} || &check_ipaddress($in{'dipto'}) || &error($text{'save_edipto'});