diff --git a/firewall/edit_rule.cgi b/firewall/edit_rule.cgi index a9aadb56d..44f35a626 100755 --- a/firewall/edit_rule.cgi +++ b/firewall/edit_rule.cgi @@ -306,13 +306,15 @@ if ($rule->{'chain'} eq 'OUTPUT') { print &ui_table_hr(); # Connection states +my $sd = &supports_conntrack() ? "ctstate" : "state"; print &ui_table_row($text{'edit_state'}, "
| ". - &print_mode("state", $rule->{'state'})." | \n". + &print_mode($sd, $rule->{$sd})."\n". "". - &ui_select("state", [ split(/,/, $rule->{'state'}->[1]) ], + &ui_select($sd, [ split(/,/, $rule->{$sd}->[1]) ], [ map { [ $_, $text{"edit_state_".lc($_)} ] } - ('NEW', 'ESTABLISHED', 'RELATED', 'INVALID', 'UNTRACKED') ], 5, 1). + ('NEW', 'ESTABLISHED', 'RELATED', 'INVALID', 'UNTRACKED', + $sd eq "state" ? ( ) : ('SNAT', 'DNAT')) ], 5, 1). " |