On 11/20/2012 01:01 PM, Steven Jan Springl wrote:
In the attached config. the providers entry:
isp3 3 3 isp3 eth0 detect
produces the following error message:
/var/lib/shorewall/.start: 1971: Syntax error: ")" unexpected (expecting "fi")
I have attached the appropriate block of code from /var/lib/shorewall/.start.
Line 1971 is "*)".
The attached patch corrects this and a couple of other issues.
Thanks Steven,
-Tom
--
Tom Eastep \ When I die, I want to go like my Grandfather who
Shoreline, \ died peacefully in his sleep. Not screaming like
Washington, USA \ all of the passengers in his car
http://shorewall.net \________________________________________________
diff --git a/Shorewall/Perl/Shorewall/Providers.pm b/Shorewall/Perl/Shorewall/Providers.pm
index e6d6255..47de34c 100644
--- a/Shorewall/Perl/Shorewall/Providers.pm
+++ b/Shorewall/Perl/Shorewall/Providers.pm
@@ -352,9 +352,12 @@ sub start_provider( $$$$ ) {
emit $test;
push_indent;
+
if ( $number ) {
emit "qt ip -$family route flush table $number";
emit "echo \"qt \$IP -$family route flush table $number\" > \${VARDIR}/undo_${table}_routing";
+ } else {
+ emit( "> \${VARDIR}/undo_${table}_routing" );
}
}
@@ -929,8 +932,13 @@ CEOF
emit( qq(delete_gateway "$via" $tbl $physical) );
}
- emit (". $undo",
- "> $undo" );
+ emit (". $undo" );
+
+ if ( $pseudo ) {
+ emit( "rm -f $undo" );
+ } else {
+ emit( "> $undo" );
+ }
emit ( '',
"distribute_load $maxload @load_interfaces" ) if $load;
@@ -1375,15 +1383,19 @@ EOF
for my $provider (@providers ) {
my $providerref = $providers{$provider};
- if ( $provider eq $providerref->{physical} ) {
- emit( "$provider)" );
- } else {
- emit( "$providerref->{physical}|$provider)" );
- }
+ if ( $providerref->{optional} ) {
+ if ( $provider eq $providerref->{physical} ) {
+ emit( "$provider)" );
+ } else {
+ emit( "$providerref->{physical}|$provider)" );
+ }
- emit( " if [ -n \"`\$IP -$family route ls table $providerref->{number}`\" ]; then" );
+ if ( $providerref->{pseudo} ) {
+ emit( " if [ -f \${VARDIR}/$product/undo_${provider}_routing ]; then" );
+ } else {
+ emit( " if [ -n \"`\$IP -$family route ls table $providerref->{number}`\" ]; then" );
+ }
- if ( $providerref->{optional} ) {
emit( " stop_$providerref->{what}_$provider",
' else',
" startup_error \"Interface $providerref->{physical} is already disabled\"",
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Shorewall-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-devel