mirror of
https://gitlab.com/shorewall/code.git
synced 2025-06-25 12:13:29 +02:00
Ensure that accounting and manual chains aren't too long
This commit is contained in:
parent
87d628e23d
commit
fbdd4b5ede
@ -1261,6 +1261,7 @@ sub ensure_accounting_chain( $$ )
|
|||||||
if ( $chainref ) {
|
if ( $chainref ) {
|
||||||
fatal_error "Non-accounting chain ($chain) used in an accounting rule" unless $chainref->{accounting};
|
fatal_error "Non-accounting chain ($chain) used in an accounting rule" unless $chainref->{accounting};
|
||||||
} else {
|
} else {
|
||||||
|
fatal_error "Chain name ($chain) too long" if length $chain > 29;
|
||||||
$chainref = new_chain 'filter' , $chain;
|
$chainref = new_chain 'filter' , $chain;
|
||||||
$chainref->{accounting} = 1;
|
$chainref->{accounting} = 1;
|
||||||
$chainref->{referenced} = 1;
|
$chainref->{referenced} = 1;
|
||||||
@ -1348,6 +1349,7 @@ sub new_nat_chain($) {
|
|||||||
|
|
||||||
sub new_manual_chain($) {
|
sub new_manual_chain($) {
|
||||||
my $chain = $_[0];
|
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};
|
fatal_error "Duplicate Chain Name ($chain)" if $targets{$chain} || $filter_table->{$chain};
|
||||||
$targets{$chain} = CHAIN;
|
$targets{$chain} = CHAIN;
|
||||||
( my $chainref = ensure_filter_chain( $chain, 0) )->{manual} = 1;
|
( my $chainref = ensure_filter_chain( $chain, 0) )->{manual} = 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user