version 1.6, 2011/05/14 23:38:07
|
version 1.8, 2018/10/24 15:11:19
|
Line 73 if (@ARGV != 1) {
|
Line 73 if (@ARGV != 1) {
|
&Exit(2); |
&Exit(2); |
} |
} |
my $tmpfile = $ARGV[0]; |
my $tmpfile = $ARGV[0]; |
if (-e $tmpfile) { |
if ($tmpfile =~ m{^\Q/home/httpd/perl/tmp/lciptables_iphost_\E\d+$}) { |
if (open(my $fh,"<$tmpfile")) { |
if (-e $tmpfile) { |
while(<$fh>) { |
if (open(my $fh,"<$tmpfile")) { |
chomp(); |
while(<$fh>) { |
$iphost{$_} = 1; |
chomp(); |
|
if (/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/) { |
|
if (($1<=255) && ($2<=255) && ($3<=255) && ($4<=255)) { |
|
$iphost{$_} = 1; |
|
} |
|
} |
|
} |
|
close($fh); |
|
} else { |
|
&Exit(3); |
} |
} |
close($fh); |
|
} else { |
} else { |
&Exit(3); |
print "Error. File containing IP addresses of hosts in cluster does not exist\n" unless $noprint; |
|
&Exit(3); |
} |
} |
} else { |
} else { |
print "Error. File containing IP addresses of hosts in cluster does not exist\n" unless $noprint; |
print "Error. Invalid filename for file containing IP addresses\n" unless $noprint; |
&Exit(3); |
&Exit(3); |
} |
} |
|
|
|
my ($opened,$closed); |
my $lond_port = &LONCAPA::Firewall::get_lond_port(); |
my $lond_port = &LONCAPA::Firewall::get_lond_port(); |
|
if (($lond_port eq '') || ($lond_port =~ /\D/)) { |
|
print "Error. Invalid lond port\n" unless $noprint; |
|
&Exit(3); |
|
} |
|
my $iptables = &LONCAPA::Firewall::get_pathto_iptables(); |
|
if ($iptables eq '') { |
|
print "Error. No path to iptables\n" unless $noprint; |
|
&Exit(3); |
|
} |
|
|
|
my $firewalld = &LONCAPA::Firewall::uses_firewalld(); |
|
|
&EnableRoot(); |
&EnableRoot(); |
|
|
my @fw_chains = &LONCAPA::Firewall::get_fw_chains(); |
my @fw_chains = &LONCAPA::Firewall::get_fw_chains(); |
my $iptables = &LONCAPA::Firewall::get_pathto_iptables(); |
if ($firewalld) { |
my $firewall_result = |
$<=0; |
&LONCAPA::Firewall::firewall_close_port($iptables,\@fw_chains,$lond_port,\%iphost,[$lond_port]); |
} |
if ($firewall_result) { |
$opened = |
print "$firewall_result\n"; |
&LONCAPA::Firewall::firewall_close_port($iptables,\@fw_chains,$lond_port,\%iphost,[$lond_port]); |
} |
$closed = |
$firewall_result = &LONCAPA::Firewall::firewall_open_port($iptables,\@fw_chains,$lond_port,\%iphost,[$lond_port]); |
&LONCAPA::Firewall::firewall_open_port($iptables,\@fw_chains,$lond_port,\%iphost,[$lond_port]); |
if ($firewall_result) { |
if ($firewalld) { |
print "$firewall_result\n"; |
$<=$wwwid; |
} |
} |
|
&DisableRoot(); |
|
|
# -------------------------------------------------------- Exit script |
# -------------------------------------------------------- Exit script |
|
if ($opened) { |
|
print "$opened\n"; |
|
} |
|
if ($closed) { |
|
print "$closed\n"; |
|
} |
print "lciptables Exiting\n" unless $noprint; |
print "lciptables Exiting\n" unless $noprint; |
&DisableRoot; |
|
&Exit(0); |
&Exit(0); |
|
|
|
|
sub EnableRoot { |
sub EnableRoot { |
if ($wwwid==$>) { |
if ($wwwid==$>) { |
($<,$>)=($>,$<); |
($<,$>)=($>,$<); |