| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/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'}");
}