version 1.7, 2010/12/30 18:40:29
|
version 1.8, 2011/02/25 19:41:59
|
Line 371 sub get_fw_chains {
|
Line 371 sub get_fw_chains {
|
my ($iptables) = @_; |
my ($iptables) = @_; |
my @fw_chains; |
my @fw_chains; |
my $suse_config = "/etc/sysconfig/SuSEfirewall2"; |
my $suse_config = "/etc/sysconfig/SuSEfirewall2"; |
|
my $ubuntu_config = "/etc/ufw/ufw.conf"; |
if (-e $suse_config) { |
if (-e $suse_config) { |
push(@fw_chains,'input_ext'); |
push(@fw_chains,'input_ext'); |
} else { |
} else { |
if (!-e '/etc/sysconfig/iptables') { |
my @posschains; |
if (!-e '/var/lib/iptables') { |
if (-e $ubuntu_config) { |
print("Unable to find iptables file containing static definitions\n"); |
@posschains = ('ufw-user-input','INPUT'); |
|
} else { |
|
@posschains = ('RH-Firewall-1-INPUT','INPUT'); |
|
if (!-e '/etc/sysconfig/iptables') { |
|
if (!-e '/var/lib/iptables') { |
|
print("Unable to find iptables file containing static definitions\n"); |
|
} |
|
push(@fw_chains,'RH-Firewall-1-INPUT'); |
} |
} |
push(@fw_chains,'RH-Firewall-1-INPUT'); |
|
} |
} |
if ($iptables eq '') { |
if ($iptables eq '') { |
$iptables = &get_pathto_iptables(); |
$iptables = &get_pathto_iptables(); |
} |
} |
my %counts; |
my %counts; |
my @posschains = ('RH-Firewall-1-INPUT','INPUT'); |
|
if (open(PIPE,"$iptables -L -n |")) { |
if (open(PIPE,"$iptables -L -n |")) { |
while(<PIPE>) { |
while(<PIPE>) { |
foreach my $chain (@posschains) { |
foreach my $chain (@posschains) { |
Line 397 sub get_fw_chains {
|
Line 403 sub get_fw_chains {
|
} |
} |
foreach my $fw_chain (@posschains) { |
foreach my $fw_chain (@posschains) { |
if ($counts{$fw_chain}) { |
if ($counts{$fw_chain}) { |
push(@fw_chains,$fw_chain); |
unless(grep(/^\Q$fw_chain\E$/,@fw_chains)) { |
|
push(@fw_chains,$fw_chain); |
|
} |
} |
} |
} |
} |
} |
} |