| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/home/SERVERWEB/webmin-2.105/xinetd/ |
Upload File : |
#!/usr/bin/perl
# Enable or disable a bunch of services
# XXX what about line changes due to modifications??
# XXX changelog / ideas
require './xinetd-lib.pl';
&ReadParse();
@conf = &get_xinetd_config();
@ids = split(/\0/, $in{'serv'});
($defs) = grep { $_->{'name'} eq 'defaults' } @conf;
foreach $m (@{$defs->{'members'}}) {
$ddisable{$m->{'value'}} = $m if ($m->{'name'} eq 'disabled');
}
&lock_file($config{'xinetd_conf'});
if ($in{'enable'}) {
# Enable all selected
foreach $id (@ids) {
@conf = &get_xinetd_config();
$xinet = $conf[$id];
&lock_file($xinet->{'file'});
$q = $xinet->{'quick'};
$dis = $q->{'disable'}->[0] eq 'yes' || $ddisable{$id};
if ($dis) {
&set_member_value($xinet, 'disable', 'no');
&modify_xinet($xinet);
if ($ddisable{$oldid}) {
# Take out old global disabled
&delete_xinet($ddisable{$oldid});
}
push(@servs, $xinet->{'value'});
}
}
}
else {
# Disable all selected
foreach $id (@ids) {
@conf = &get_xinetd_config();
$xinet = $conf[$id];
&lock_file($xinet->{'file'});
$q = $xinet->{'quick'};
$dis = $q->{'disable'}->[0] eq 'yes' || $ddisable{$id};
if (!$dis) {
&set_member_value($xinet, 'disable', 'yes');
&modify_xinet($xinet);
push(@servs, $xinet->{'value'});
}
}
}
&unlock_all_files();
&webmin_log($in{'enable'} ? "enable" : "disable", undef, scalar(@ids),
{ 'servs' => \@servs });
&redirect("");