mirror of
https://gitlab.com/shorewall/code.git
synced 2025-06-24 19:51:40 +02:00
Go back to original insert_irule() fix.
Signed-off-by: Tom Eastep <teastep@shorewall.net>
This commit is contained in:
parent
976a1f3deb
commit
053df2a5fb
@ -1662,10 +1662,7 @@ sub insert_irule( $$$$;@ ) {
|
|||||||
my ( $chainref, $jump, $target, $number, @matches ) = @_;
|
my ( $chainref, $jump, $target, $number, @matches ) = @_;
|
||||||
|
|
||||||
my $rulesref = $chainref->{rules};
|
my $rulesref = $chainref->{rules};
|
||||||
|
my $ruleref = {};
|
||||||
return add_irule( $chainref, $jump, $target, @matches ) if $number >= @$rulesref;
|
|
||||||
|
|
||||||
my $ruleref = {};
|
|
||||||
|
|
||||||
$ruleref->{mode} = ( $ruleref->{cmdlevel} = $chainref->{cmdlevel} ) ? CMD_MODE : CAT_MODE;
|
$ruleref->{mode} = ( $ruleref->{cmdlevel} = $chainref->{cmdlevel} ) ? CMD_MODE : CAT_MODE;
|
||||||
|
|
||||||
@ -1684,9 +1681,15 @@ sub insert_irule( $$$$;@ ) {
|
|||||||
|
|
||||||
$ruleref->{comment} = shortlineinfo( $chainref->{origin} ) || $ruleref->{comment} || $comment;
|
$ruleref->{comment} = shortlineinfo( $chainref->{origin} ) || $ruleref->{comment} || $comment;
|
||||||
|
|
||||||
splice( @$rulesref, $number, 0, $ruleref );
|
if ( $number >= @$rulesref ) {
|
||||||
|
$number = @$rulesref;
|
||||||
|
push @$rulesref, $ruleref;
|
||||||
|
} else {
|
||||||
|
splice( @$rulesref, $number, 0, $ruleref );
|
||||||
|
$number++;
|
||||||
|
}
|
||||||
|
|
||||||
trace( $chainref, 'I', ++$number, format_rule( $chainref, $ruleref ) ) if $debug;
|
trace( $chainref, 'I', $number, format_rule( $chainref, $ruleref ) ) if $debug;
|
||||||
|
|
||||||
$iprangematch = 0;
|
$iprangematch = 0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user