| Server IP : 173.209.174.21 / Your IP : 216.73.216.89 Web Server : Apache/2.4.58 (Ubuntu) System : Linux wcfs-server 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64 User : nodor ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/webmin/proftpd/ |
Upload File : |
#!/usr/bin/perl
# save_vserv.cgi
# Save virtual server options such as the port and address
require './proftpd-lib.pl';
&ReadParse();
$conf = &get_config();
$vconf = $conf->[$in{'virt'}];
if ($in{'delete'}) {
# Delete a virtual server
&lock_file($vconf->{'file'});
&before_changing();
$lref = &read_file_lines($vconf->{'file'});
splice(@$lref, $vconf->{'line'},
$vconf->{'eline'} - $vconf->{'line'} + 1);
&flush_file_lines();
&after_changing();
&unlock_file($vconf->{'file'});
&webmin_log("virt", "delete", $vconf->{'value'});
&redirect("");
}
else {
# Update virtual server and directives
&error_setup($text{'vserv_err'});
# Check inputs
&to_ipaddress($in{'addr'}) || &to_ip6address($in{'addr'}) ||
&error($text{'vserv_eaddr'});
$in{'Port_def'} || $in{'Port'} =~ /^\d+$/ ||
&error($text{'vserv_eport'});
$in{'ServerName_def'} || $in{'ServerName'} =~ /\S/ ||
&error($text{'vserv_ename'});
# Update <VirtualHost> directive
&lock_file($vconf->{'file'});
&before_changing();
$lref = &read_file_lines($vconf->{'file'});
$lref->[$vconf->{'line'}] = "<VirtualHost $in{'addr'}>";
# Update DocumentRoot and ServerName
&save_directive("ServerName", $in{'ServerName_def'} ? [ ] :
[ "\"$in{'ServerName'}\"" ],
$vconf->{'members'}, $conf);
&save_directive("Port", $in{'Port_def'} ? [ ] : [ $in{'Port'} ],
$vconf->{'members'}, $conf);
# write out file
&flush_file_lines();
&after_changing();
&unlock_file($vconf->{'file'});
&webmin_log("virt", "save", $vconf->{'value'}, \%in);
&redirect("virt_index.cgi?virt=$in{'virt'}");
}