forked from extern/shorewall_code
Cary this to the nth degree
This commit is contained in:
parent
e99d177d50
commit
c15eeefff0
@ -312,6 +312,8 @@ our %interfacegateways; # Gateway of default route out of the interface
|
||||
#
|
||||
our @builtins = qw(PREROUTING INPUT FORWARD OUTPUT POSTROUTING);
|
||||
|
||||
our %builtins;
|
||||
|
||||
#
|
||||
# Mode of the emitter (part of this module that converts rules in the chain table into iptables-restore input)
|
||||
#
|
||||
@ -397,6 +399,8 @@ sub initialize( $ ) {
|
||||
%interfaceacasts = ();
|
||||
%interfacegateways = ();
|
||||
|
||||
$builtins{$_} = 1 for @builtins;
|
||||
|
||||
$global_variables = 0;
|
||||
$idiotcount = 0;
|
||||
$idiotcount1 = 0;
|
||||
@ -1270,7 +1274,7 @@ sub ensure_accounting_chain( $$ )
|
||||
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;
|
||||
fatal_error "Invalid Chain name ($chain)" if $builtin_target{$chain} || ! $chain =~ /^[-\w]+$/;
|
||||
fatal_error "Invalid Chain name ($chain)" if $builtin_target{$chain} || $builtins{$chain} || ! $chain =~ /^[-\w]+$/;
|
||||
$chainref = new_chain 'filter' , $chain;
|
||||
$chainref->{accounting} = 1;
|
||||
$chainref->{referenced} = 1;
|
||||
@ -1359,7 +1363,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 "Invalid Chain name ($chain)" if $builtin_target{$chain} || ! $chain =~ /^[-\w]+$/;
|
||||
fatal_error "Invalid Chain name ($chain)" if $builtin_target{$chain} || $builtins{$chain} || ! $chain =~ /^[-\w]+$/;
|
||||
fatal_error "Duplicate Chain Name ($chain)" if $targets{$chain} || $filter_table->{$chain};
|
||||
$targets{$chain} = CHAIN;
|
||||
( my $chainref = ensure_filter_chain( $chain, 0) )->{manual} = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user