diff --git a/Shorewall/Perl/Shorewall/Tc.pm b/Shorewall/Perl/Shorewall/Tc.pm index be91e9d6c..3867a7086 100644 --- a/Shorewall/Perl/Shorewall/Tc.pm +++ b/Shorewall/Perl/Shorewall/Tc.pm @@ -3226,12 +3226,17 @@ sub setup_tc( $ ) { } } + close $mangle, directive_callback( 0 ) if $tcrules; + + } elsif ( $tcrules ) { close $mangle, directive_callback( 0 ); - } elsif ( -f ( my $fn = find_file( 'tcrules' ) ) ) { - if ( unlink $fn ) { - warning_message "Empty tcrules file ($fn) removed"; - } else { - warning_message "Unable to remove empty tcrules file $fn: $!"; + + if ( -f ( my $fn = find_file( 'tcrules' ) ) ) { + if ( unlink $fn ) { + warning_message "Empty tcrules file ($fn) removed"; + } else { + warning_message "Unable to remove empty tcrules file $fn: $!"; + } } } } elsif ( -f ( my $fn = find_file( 'tcrules' ) ) ) {