Current File : //usr/share/webmin/firewall6/install_check.pl |
# install_check.pl
do 'firewall-lib.pl';
# is_installed(mode)
# For mode 1, returns 2 if the server is installed and configured for use by
# Webmin, 1 if installed but not configured, or 0 otherwise.
# For mode 0, returns 1 if installed, 0 if not
sub is_installed
{
return 0 if (&missing_firewall_commands());
local $out = &backquote_command("iptables -n -t filter -L OUTPUT 2>&1");
return 0 if ($?);
if ($_[0]) {
# Check if init script is setup
if (!$config{'direct'} &&
(defined(&check_iptables) && &check_iptables() ||
!-s $iptables_save_file)) {
return 1;
}
return 2;
}
# Check if another firewall is in use
my @livetables = &get_iptables_save("ip${ipvx}tables-save 2>/dev/null |");
my @fwname = &external_firewall_list(\@livetables);
@fwname = grep { $_ ne 'fail2ban' } @fwname;
return 0 if (@fwname);
return 1;
}