mirror of
https://github.com/webmin/webmin.git
synced 2026-05-04 22:30:33 +01:00
Support multiple init scripts https://sourceforge.net/p/webadmin/bugs/4925/
This commit is contained in:
@@ -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("");
|
||||
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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'},
|
||||
|
||||
Reference in New Issue
Block a user