Delete some 'dont_move' flags

Signed-off-by: Tom Eastep <teastep@shorewall.net>
This commit is contained in:
Tom Eastep 2011-12-30 11:31:08 -08:00
parent 1d9a4c58e9
commit 4d9a43a4dd
2 changed files with 6 additions and 11 deletions

View File

@ -2178,7 +2178,6 @@ sub new_builtin_chain($$$)
$chainref->{policy} = $policy; $chainref->{policy} = $policy;
$chainref->{builtin} = 1; $chainref->{builtin} = 1;
$chainref->{dont_delete} = 1; $chainref->{dont_delete} = 1;
$chainref->{dont_move} = 1;
$chainref; $chainref;
} }
@ -2420,7 +2419,7 @@ sub initialize_chain_table($) {
# #
# Create this chain early in case it is needed by Policy actions # Create this chain early in case it is needed by Policy actions
# #
dont_move new_standard_chain 'reject'; new_standard_chain 'reject';
} }
} }
@ -2752,7 +2751,6 @@ sub optimize_level4( $$ ) {
# Replace references to this chain with the target and add the matches # Replace references to this chain with the target and add the matches
# #
$progress = 1 if replace_references1 $chainref, $firstrule; $progress = 1 if replace_references1 $chainref, $firstrule;
} }
} }
} }
@ -2761,10 +2759,9 @@ sub optimize_level4( $$ ) {
} }
# #
# In this loop, we look for chains that end in an unconditional jump. If the target of the jump # In this loop, we look for chains that end in an unconditional jump. The jump is replaced by
# is subject to deletion (dont_delete = false), the jump is replaced by target's rules. Note # the target's rules, provided that the target chain is short (< 4 rules) or has only one
# that the target chain must be short (< 4 rules) or it must only have one reference, in order # reference. This prevents multiple copies of long chains being created.
# to have it's rules copied. This prevents multiple copies of long chains being made.
# #
$progress = 1; $progress = 1;
@ -2785,9 +2782,7 @@ sub optimize_level4( $$ ) {
# Last rule is a simple branch # Last rule is a simple branch
my $targetref = $tableref->{$lastrule->{target}}; my $targetref = $tableref->{$lastrule->{target}};
if ( $targetref && if ( $targetref && ( keys %{$targetref->{references}} < 2 || @{$targetref->{rules}} < 4 ) ) {
! ( $targetref->{builtin} || $targetref->{dont_move} ) &&
( keys %{$targetref->{references}} < 2 || @{$targetref->{rules}} < 4 ) ) {
copy_rules( $targetref, $chainref ); copy_rules( $targetref, $chainref );
$progress = 1; $progress = 1;
} }

View File

@ -750,7 +750,7 @@ sub ensure_rules_chain( $ )
my $chainref = $filter_table->{$chain}; my $chainref = $filter_table->{$chain};
$chainref = dont_move( new_chain( 'filter', $chain ) ) unless $chainref; $chainref = new_chain( 'filter', $chain ) unless $chainref;
unless ( $chainref->{referenced} ) { unless ( $chainref->{referenced} ) {
if ( $section =~/^(NEW|DONE)$/ ) { if ( $section =~/^(NEW|DONE)$/ ) {