| Server IP : 37.9.174.138 / Your IP : 216.73.216.117 Web Server : Apache System : Linux vps6.backend.sk 6.12.100+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.100-1 (2026-07-30) x86_64 User : ftpuser ( 1001) PHP Version : 8.4.24 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/proftpd/ |
Upload File : |
#!/usr/bin/perl
# save_aserv.cgi
# Save anonymous section options
require './proftpd-lib.pl';
&ReadParse();
$conf = &get_config();
if ($in{'virt'}) {
$virt = $conf->[$in{'virt'}];
$vconf = $virt->{'members'};
}
else {
$vconf = $conf;
}
&error_setup($text{'aserv_err'});
# Validate inputs
-d $in{'root'} || $in{'root'} =~ /^~/ || &error($text{'aserv_eroot'});
$in{'User_def'} || scalar(getpwnam($in{'User'})) ||
&error($text{'aserv_euser'});
$in{'Group_def'} || scalar(getgrnam($in{'Group'})) ||
&error($text{'aserv_egroup'});
if ($in{'init'}) {
# Create a new <Anonymous> directive
$l = $vconf->[@$vconf - 1];
&lock_file($l->{'file'});
&before_changing();
$lref = &read_file_lines($l->{'file'});
local @l = ( "<Anonymous $in{'root'}>" );
push(@l, "User $in{'User'}") if (!$in{'User_def'});
push(@l, "UserAlias anonymous $in{'User'}") if (!$in{'User_def'});
push(@l, "Group $in{'Group'}") if (!$in{'Group_def'});
push(@l, "</Anonymous>");
splice(@$lref, $l->{'eline'}+1, 0, @l);
&after_changing();
&flush_file_lines();
&unlock_file($l->{'file'});
&webmin_log("anon", "create", $in{'root'}, \%in);
}
else {
# Update existing directive
$anon = &find_directive_struct("Anonymous", $vconf);
&lock_file($anon->{'file'});
&before_changing();
$lref = &read_file_lines($anon->{'file'});
$lref->[$anon->{'line'}] = "<Anonymous $in{'root'}>";
&save_directive("User", $in{'User_def'} ? [ ] : [ $in{'User'} ],
$anon->{'members'}, $vconf);
&save_directive("Group", $in{'Group_def'} ? [ ] : [ $in{'Group'} ],
$anon->{'members'}, $vconf);
&after_changing();
&flush_file_lines();
&unlock_file($anon->{'file'});
&webmin_log("anon", "save", $anon->{'value'}, \%in);
}
&redirect("anon_index.cgi?virt=$in{'virt'}");