File: //proc/self/root/proc/self/root/scripts.20110531.215904.25158/rebuildproftpd
#!/usr/bin/perl
# cpanel - rebuildproftpd Copyright(c) 2010 cPanel, Inc.
# All Rights Reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
BEGIN { unshift @INC, '/usr/local/cpanel'; }
use Cpanel::DIp;
use Cpanel::FtpUtils::Config ();
use Cpanel::Config ();
use Cpanel::AcctUtils ();
use Cpanel::Template::Ftp ();
my %IPS;
Cpanel::Config::loadConfig( '/etc/domainips', \%IPS, ':\s+' );
my $conf_obj = Cpanel::FtpUtils::Config->new();
exit if ( $conf_obj->get_type() ne 'proftpd' );
my %HASP;
my $proftpdconf = $conf_obj->find_conf_file();
if ( -e $proftpdconf ) {
if ( open my $conf_fh, '<', $proftpdconf ) {
while ( readline $conf_fh ) {
if (m/<virtualhost[\s\t]*([^\>]+)>/i) {
my $ip = $1;
$ip =~ s/\s|\n|\r//g;
$HASP{$ip} = 1;
}
}
close $conf_fh;
}
}
my $conf_hr = $conf_obj->get_config(1);
my $no_anonftp = $conf_hr->{'cPanelAnonymousAccessAllowed'} eq 'no';
foreach $ip ( sort keys %IPS ) {
# Prevent duplicate entries
if ( !$HASP{$ip} ) {
$HASP{$ip} = 1;
}
else {
next;
}
my $domain = $IPS{$ip};
$domain =~ s/^www\.//g;
my $user = Cpanel::AcctUtils::getdomainownerBAMP($domain);
my $homedir = Cpanel::AcctUtils::gethomedir($user);
$homedir =~ s/\/public_html$//g;
next if ( !$ip || !$domain || !$user || !$homedir );
if ($no_anonftp) {
print "\n" . Cpanel::Template::Ftp::getftptemplate( 'stdvhostnoanon', 'proftpd', $domain, $ip, $user, $homedir ) . "\n";
}
else {
print "\n" . Cpanel::Template::Ftp::getftptemplate( 'stdvhost', 'proftpd', $domain, $ip, $user, $homedir ) . "\n";
}
}