forked from extern/shorewall_code
Correct NOROUTE logic when no providers
This commit is contained in:
parent
17f61ad1c6
commit
3bd9d31c05
@ -608,10 +608,6 @@ sub setup_null_routing() {
|
|||||||
sub start_providers() {
|
sub start_providers() {
|
||||||
require_capability( 'MANGLE_ENABLED' , 'a non-empty providers file' , 's' );
|
require_capability( 'MANGLE_ENABLED' , 'a non-empty providers file' , 's' );
|
||||||
|
|
||||||
emit "\nif [ -z \"\$NOROUTES\" ]; then";
|
|
||||||
|
|
||||||
push_indent;
|
|
||||||
|
|
||||||
emit ( '#',
|
emit ( '#',
|
||||||
'# Undo any changes made since the last time that we [re]started -- this will not restore the default route',
|
'# Undo any changes made since the last time that we [re]started -- this will not restore the default route',
|
||||||
'#',
|
'#',
|
||||||
@ -713,7 +709,11 @@ sub setup_providers() {
|
|||||||
|
|
||||||
my $fn = open_file 'providers';
|
my $fn = open_file 'providers';
|
||||||
|
|
||||||
first_entry sub() { progress_message2 "$doing $fn..."; start_providers; };
|
first_entry sub() {
|
||||||
|
emit "\nif [ -z \"\$NOROUTES\" ]; then";
|
||||||
|
push_indent;
|
||||||
|
progress_message2 "$doing $fn...";
|
||||||
|
start_providers; };
|
||||||
|
|
||||||
add_a_provider, $providers++ while read_a_line;
|
add_a_provider, $providers++ while read_a_line;
|
||||||
|
|
||||||
@ -733,29 +733,33 @@ sub setup_providers() {
|
|||||||
|
|
||||||
setup_null_routing if $config{NULL_ROUTE_RFC1918};
|
setup_null_routing if $config{NULL_ROUTE_RFC1918};
|
||||||
emit "\nrun_ip route flush cache";
|
emit "\nrun_ip route flush cache";
|
||||||
|
#
|
||||||
|
# This completes the if block begun in the first_entry closure
|
||||||
|
#
|
||||||
pop_indent;
|
pop_indent;
|
||||||
emit "fi\n";
|
emit "fi\n";
|
||||||
|
|
||||||
setup_route_marking if @routemarked_interfaces;
|
setup_route_marking if @routemarked_interfaces;
|
||||||
} else {
|
} else {
|
||||||
|
emit "\nif [ -z \"\$NOROUTES\" ]; then";
|
||||||
|
|
||||||
|
push_indent;
|
||||||
|
|
||||||
emit "\nundo_routing";
|
emit "\nundo_routing";
|
||||||
emit 'restore_default_route';
|
emit 'restore_default_route';
|
||||||
|
|
||||||
if ( $config{NULL_ROUTE_RFC1918} ) {
|
if ( $config{NULL_ROUTE_RFC1918} ) {
|
||||||
emit "\nif [ -z \"\$NOROUTES\" ]; then";
|
|
||||||
|
|
||||||
push_indent;
|
|
||||||
|
|
||||||
emit ( '#',
|
emit ( '#',
|
||||||
'# Initialize the file that holds \'undo\' commands',
|
'# Initialize the file that holds \'undo\' commands',
|
||||||
'#',
|
'#',
|
||||||
'> ${VARDIR}/undo_routing' );
|
'> ${VARDIR}/undo_routing' );
|
||||||
setup_null_routing;
|
setup_null_routing;
|
||||||
emit "\nrun_ip route flush cache";
|
emit "\nrun_ip route flush cache";
|
||||||
|
|
||||||
pop_indent;
|
|
||||||
|
|
||||||
emit "fi\n";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pop_indent;
|
||||||
|
|
||||||
|
emit "fi\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user