Ensure that accounting and manual chains aren't too long

This commit is contained in:
Tom Eastep 2011-01-31 06:56:38 -08:00
parent cdf78dfecf
commit 5fc72fc727

View File

@ -1257,6 +1257,7 @@ sub ensure_accounting_chain( $$ )
if ( $chainref ) {
fatal_error "Non-accounting chain ($chain) used in an accounting rule" unless $chainref->{accounting};
} else {
fatal_error "Chain name ($chain) too long" if length $chain > 29;
$chainref = new_chain 'filter' , $chain;
$chainref->{accounting} = 1;
$chainref->{referenced} = 1;
@ -1344,6 +1345,7 @@ sub new_nat_chain($) {
sub new_manual_chain($) {
my $chain = $_[0];
fatal_error "Chain name ($chain) too long" if length $chain > 29;
fatal_error "Duplicate Chain Name ($chain)" if $targets{$chain} || $filter_table->{$chain};
$targets{$chain} = CHAIN;
( my $chainref = ensure_filter_chain( $chain, 0) )->{manual} = 1;