This commit is contained in:
Jamie Cameron
2017-03-29 21:57:02 -07:00
parent 2b1ee8bc77
commit e17abe5e33
3 changed files with 34 additions and 23 deletions

View File

@@ -8,25 +8,29 @@ our (%text, %in, %config, $module_config_directory);
&ReadParse();
&foreign_require("init");
my $starting = &init::action_status($config{'init_script'});
if ($starting != 2 && $in{'boot'}) {
# Enable at boot
my $startscript = &has_command($config{'client_cmd'})." -x start";
my $stopscript = &has_command($config{'client_cmd'})." stop";
&init::enable_at_boot($config{'init_script'},
"Start Fail2Ban server",
$startscript,
$stopscript,
undef,
{ 'fork' => 1 },
);
&webmin_log("atboot");
}
elsif ($starting == 2 && !$in{'boot'}) {
# Disable at boot
&init::disable_at_boot($config{'init_script'});
&webmin_log("delboot");
my $log;
foreach my $init (split(/\s+/, $config{'init_script'})) {
my $starting = &init::action_status($init);
if ($starting != 2 && $in{'boot'}) {
# Enable at boot
my $startscript = &has_command($config{'client_cmd'})." -x start";
my $stopscript = &has_command($config{'client_cmd'})." stop";
&init::enable_at_boot($config{'init_script'},
"Start Fail2Ban server",
$startscript,
$stopscript,
undef,
{ 'fork' => 1 },
);
$log = "atboot";
}
elsif ($starting == 2 && !$in{'boot'}) {
# Disable at boot
&init::disable_at_boot($config{'init_script'});
$log = "delboot";
}
}
&webmin_log($log) if ($log);
&redirect("");

View File

@@ -417,8 +417,11 @@ sub start_fail2ban_server
{
if ($config{'init_script'}) {
&foreign_require("init");
my ($ok, $out) = &init::start_action($config{'init_script'});
return $ok ? undef : $out;
foreach my $init (split(/\s+/, $config{'init_script'})) {
my ($ok, $out) = &init::start_action($init);
return $out if (!$ok);
}
return undef;
}
else {
my $out = &backquote_logged("$config{'client_cmd'} -x start 2>&1 </dev/null");
@@ -433,8 +436,11 @@ sub stop_fail2ban_server
{
if ($config{'init_script'}) {
&foreign_require("init");
my ($ok, $out) = &init::stop_action($config{'init_script'});
return $ok ? undef : $out;
foreach my $init (split(/\s+/, $config{'init_script'})) {
my ($ok, $out) = &init::stop_action($init);
return $out if (!$ok);
}
return undef;
}
else {
my $out = &backquote_logged("$config{'client_cmd'} stop 2>&1 </dev/null");

View File

@@ -55,7 +55,8 @@ else {
# Enable at boot
if ($config{'init_script'}) {
&foreign_require("init");
my $st = &init::action_status($config{'init_script'});
my @inits = split(/\s+/, $config{'init_script'});
my $st = &init::action_status($inits[0]);
print &ui_buttons_row(
"atboot.cgi",
$text{'index_atboot'},