MOON
Server: Apache/2.2.31 (Unix) mod_ssl/2.2.31 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4
System: Linux csr818.wilogic.com 2.6.18-419.el5xen #1 SMP Fri Feb 24 22:50:37 UTC 2017 x86_64
User: digitals (531)
PHP: 5.4.45
Disabled: NONE
Upload Files
File: //scripts.20110531.215904.25158/fixproftpdconf
#!/usr/bin/perl
# cpanel - fixproftpdconf                         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 strict;
use warnings;
use Cpanel::FtpUtils::Config ();

my $conf_obj = Cpanel::FtpUtils::Config->new();

exit if $conf_obj->get_type() eq 'pure-ftpd';

my $proftpdconf = $conf_obj->find_conf_file();

if ( !-e $proftpdconf ) {
    if ( !-e '/scripts/proftpd.conf.default' ) {
        die "Unable to fix ProFTPd configuration. No default file found.";
    }
    system 'cp', '-fv', '/scripts/proftpd.conf.default', $proftpdconf;
    system "/scripts/rebuildproftpd >> $proftpdconf";
    system '/usr/local/cpanel/bin/proftpdvhosts';
    system '/usr/local/cpanel/bin/proftpdtls';
    print "$proftpdconf has been automatically rebuilt!\n";
    system '/scripts/restartsrv', 'proftpd';
    exit 1;
}

my $size = ( stat($proftpdconf) )[7];

my $ivh    = 0;
my $confok = 0;
open( PC, '<', $proftpdconf );
while (<PC>) {
    if (/^[\s\t]*<virtualhost/io) {
        $ivh = 1;
    }
    if (/^[\s\t]*<\/virtualhost/io) {
        $ivh = 0;
    }
    if ( !$ivh && /^[\s\t]*Port[\s\t]+/io ) {
        $confok = 1;
        last;
    }
}
close(PC);

if ( !$confok || $size < 30 ) {
    system 'cp', '-fv', '/scripts/proftpd.conf.default', $proftpdconf;
    system "/scripts/rebuildproftpd >> $proftpdconf";
    system '/usr/local/cpanel/bin/proftpdvhosts';
    system '/usr/local/cpanel/bin/proftpdtls';
    print "$proftpdconf has been automatically rebuilt!\n";
    system '/scripts/restartsrv', 'proftpd';
    exit 1;
}
else {
    print "The ProFTPd configuration file $proftpdconf appears to be ok!\n";
    exit 0;
}