mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -144,6 +144,15 @@ if (!defined($get_config_parent_cache{$file})) {
|
||||
return $get_config_parent_cache{$file};
|
||||
}
|
||||
|
||||
# clear_config_cache()
|
||||
# Clear all in-memory caches of the BIND config
|
||||
sub clear_config_cache
|
||||
{
|
||||
undef(@get_config_cache);
|
||||
undef(%get_config_parent_cache);
|
||||
undef(%lines_count);
|
||||
}
|
||||
|
||||
# read_config_file(file, [expand includes])
|
||||
# Reads a config file and returns an array of values
|
||||
sub read_config_file
|
||||
@@ -1558,6 +1567,9 @@ if ($slave && $config{'slave_file_perms'}) {
|
||||
elsif ($config{'file_perms'}) {
|
||||
$perms = oct($config{'file_perms'});
|
||||
}
|
||||
elsif ($user eq "0" || $user eq "root") {
|
||||
$perms = 0775;
|
||||
}
|
||||
&set_ownership_permissions($user, $group, $perms, $file);
|
||||
}
|
||||
|
||||
@@ -3000,19 +3012,10 @@ foreach my $slave (&list_slave_servers()) {
|
||||
}
|
||||
my $sver = &remote_foreign_call($slave, "bind8",
|
||||
"get_webmin_version");
|
||||
my $pidfile;
|
||||
if ($sver >= 1.140) {
|
||||
# Call new function to get PID file from slave
|
||||
$pidfile = &remote_foreign_call(
|
||||
$slave, "bind8", "get_pid_file");
|
||||
$pidfile = &remote_foreign_call(
|
||||
$slave, "bind8", "make_chroot", $pidfile, 1);
|
||||
}
|
||||
else {
|
||||
push(@slaveerrs, [ $slave, &text('restart_eversion',
|
||||
$slave->{'host'}, 1.140) ]);
|
||||
next;
|
||||
}
|
||||
my $pidfile = &remote_foreign_call(
|
||||
$slave, "bind8", "get_pid_file");
|
||||
$pidfile = &remote_foreign_call(
|
||||
$slave, "bind8", "make_chroot", $pidfile, 1);
|
||||
|
||||
# Read the PID and restart
|
||||
my $pid = &remote_foreign_call($slave, "bind8",
|
||||
@@ -3032,6 +3035,32 @@ foreach my $slave (&list_slave_servers()) {
|
||||
return @slaveerrs;
|
||||
}
|
||||
|
||||
# restart_zone_on_slaves(domain, [&slave-hostnames])
|
||||
# Re-load a zone on all slave servers
|
||||
sub restart_zone_on_slaves
|
||||
{
|
||||
my ($dom, $onslaves) = @_;
|
||||
my %on = map { $_, 1 } @$onslaves;
|
||||
&remote_error_setup(\&slave_error_handler);
|
||||
my @slaveerrs;
|
||||
foreach my $slave (&list_slave_servers()) {
|
||||
next if (%on && !$on{$slave->{'host'}});
|
||||
|
||||
&remote_foreign_require($slave, "bind8", "bind8-lib.pl");
|
||||
if ($slave_error) {
|
||||
push(@slaveerrs, [ $slave, $slave_error ]);
|
||||
next;
|
||||
}
|
||||
my $err = &remote_foreign_call($slave, "bind8", "restart_zone", $dom);
|
||||
if ($err) {
|
||||
push(@slaveerrs, [ $slave, &text('restart_esig2',
|
||||
$slave->{'host'}, $err) ]);
|
||||
}
|
||||
}
|
||||
&remote_error_setup();
|
||||
return @slaveerrs;
|
||||
}
|
||||
|
||||
sub slave_error_handler
|
||||
{
|
||||
$slave_error = $_[0];
|
||||
|
||||
Reference in New Issue
Block a user