--- loncom/init.d/loncontrol 2009/07/06 00:07:15 1.38 +++ loncom/init.d/loncontrol 2010/03/25 01:37:09 1.39 @@ -1,6 +1,6 @@ #!/usr/bin/perl # -# $Id: loncontrol,v 1.38 2009/07/06 00:07:15 raeburn Exp $ +# $Id: loncontrol,v 1.39 2010/03/25 01:37:09 raeburn Exp $ # # The LearningOnline Network with CAPA # @@ -119,7 +119,7 @@ if ($command eq "restart") { system("su www -c '/home/httpd/perl/loncron --justcheckdaemons'"); } elsif (($command eq "stop") || ($command eq 'start') || ($command eq 'status')) { my $iptables = &LONCAPA::Firewall::get_pathto_iptables(); - my $fw_chain = &LONCAPA::Firewall::get_fw_chain($iptables); + my @fw_chains = &LONCAPA::Firewall::get_fw_chains($iptables); my $lond_port = &LONCAPA::Firewall::get_lond_port(); my %iphost = &Apache::lonnet::get_iphost(); if ($command eq 'stop') { @@ -130,14 +130,14 @@ if ($command eq "restart") { &stop_daemon($daemon,$killallname); } my $firewall_result = - &LONCAPA::Firewall::firewall_close_port($iptables,$fw_chain,$lond_port,[$lond_port]); + &LONCAPA::Firewall::firewall_close_port($iptables,\@fw_chains,$lond_port,[$lond_port]); if ($firewall_result) { print "$firewall_result\n"; } &clean_sockets(); } elsif ($command eq "start") { my $firewall_result = - &LONCAPA::Firewall::firewall_open_port($iptables,$fw_chain,$lond_port,\%iphost,[$lond_port]); + &LONCAPA::Firewall::firewall_open_port($iptables,\@fw_chains,$lond_port,\%iphost,[$lond_port]); if (($firewall_result eq 'ok') || ($firewall_result eq 'inactive firewall')) { if ($firewall_result eq 'inactive firewall') { print "WARNING: iptables firewall is currently inactive\n"; @@ -166,7 +166,12 @@ if ($command eq "restart") { print 'The iptables firewall is not active'."\n"; } if ($lond_port) { - if (&LONCAPA::Firewall::firewall_is_port_open($iptables,$fw_chain,$lond_port,$lond_port,\%iphost)) { + my $londopen; + foreach my $fw_chain (@fw_chains) { + my $numopen = &LONCAPA::Firewall::firewall_is_port_open($iptables,$fw_chain,$lond_port,$lond_port,\%iphost); + $londopen += $numopen; + } + if ($londopen) { print "The LON-CAPA port ($lond_port) is open in firewall.\n"; } elsif (&LONCAPA::Firewall::firewall_is_active) { print "The LON-CAPA port ($lond_port) is NOT open in running firewall!\n";