MOON
Server: Apache
System: Linux cl1170g 4.19.62-mod-std-ipv6-64-rescue #828825 SMP Tue Jul 30 13:54:49 UTC 2019 x86_64
User: wh0f20bb (1057)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: //proc/thread-self/root/root/webmin-1.881/wuftpd/save_anon.cgi
#!/usr/bin/perl
# save_anon.cgi
# Save anonymous FTP

require './wuftpd-lib.pl';
&error_setup($text{'anon_err'});
&ReadParse();
&lock_file($config{'ftpaccess'});
$conf = &get_ftpaccess();

# save anonymous-root options
for($i=0; defined($dir = $in{"dir_$i"}); $i++) {
	next if (!$dir);
	-d $dir || &error(&text('anon_edir', $dir));
	push(@aroot, { 'name' => 'anonymous-root',
		       'values' => [ $dir, $in{"class_$i"} ] } );
	}
&save_directive($conf, 'anonymous-root', \@aroot);

#save guest-root options
for($i=0; defined($dir = $in{"gdir_$i"}); $i++) {
	next if (!$dir);
	-d $dir || &error(&text('anon_edir', $dir));
	push(@groot, { 'name' => 'guest-root',
		       'values' => [ $dir, $in{"uids_$i"} ] } );
	}
&save_directive($conf, 'guest-root', \@groot);

# save autogroup options
for($i=0; defined($agroup = $in{"agroup_$i"}); $i++) {
	next if (!$agroup);
	defined(getgrnam($agroup)) || &error(&text('anon_egroup', $agroup));
	push(@agroup, { 'name' => 'autogroup',
			'values' => [ $agroup,
				      split(/\0/, $in{"aclass_$i"}) ] } );
	}
&save_directive($conf, 'autogroup', \@agroup);

# save other options
if ($in{'passwd_def'}) {
	&save_directive($conf, 'passwd-check', [ ]);
	}
else {
	&save_directive($conf, 'passwd-check',
			[ { 'name' => 'passwd-check',
			    'values' => [ $in{'level'}, $in{'action'} ] } ] );
	}
foreach $a (split(/\s+/, $in{'email'})) {
	push(@email, { 'name' => 'deny-email', 'values' => [ $a ] } );
	}
&save_directive($conf, 'deny-email', \@email);

&flush_file_lines();
&unlock_file($config{'ftpaccess'});
&webmin_log("anon", undef, undef, \%in);
&redirect("");