MOON
Server: Apache
System: Linux host.communityeducationproject.org 3.10.0-1160.105.1.vz7.214.3 #1 SMP Tue Jan 9 19:45:01 MSK 2024 i686
User: ohiobwc (508)
PHP: 5.6.23
Disabled: show_source, system, passthru, popen, proc_open, allow_url_fopen
Upload Files
File: //scripts/fixvaliases
#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/fixvaliases                    Copyright(c) 2013 cPanel, Inc.
#                                                           All rights Reserved.
# copyright@cpanel.net                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited

use strict;

use Cpanel::ConfigFiles      ();
use Cpanel::Email::Constants ();

require "/usr/local/cpanel/scripts/safetybits.pl";

my $mailgid = ( getgrnam("mail") )[2];

opendir( CPU, "/var/cpanel/users" );
my @USERS = readdir(CPU);
closedir(CPU);
my $dns = '';
foreach my $file (@USERS) {
    next if ( !getpwnam($file) );
    my @UNFO    = getpwnam($file);
    my $homedir = $UNFO[7];
    if ( $homedir ne "" ) {
        if ( -d "$homedir/mail" ) {
            safe_chmod( 0770, "$file", "${homedir}/mail" );
            safe_chmod( 0660, "$file", "${homedir}/mail/inbox" );
        }
    }
    if ( -f "$Cpanel::ConfigFiles::cpanel_users/$file" ) {
        open( F, "$Cpanel::ConfigFiles::cpanel_users/$file" );
        while (<F>) {
            if (/^DNS=(\S+)/) { $dns = $1; }
        }
        close(F);
        if ( $dns ne "" ) {
            print "Fixing $dns....\n";
            open( VA, ">>", "$Cpanel::ConfigFiles::VALIASES_DIR/$dns" );
            close(VA);
            open( VF, ">>", "$Cpanel::ConfigFiles::VFILTERS_DIR/$dns" );
            close(VF);
            chown $UNFO[2], $mailgid, "$Cpanel::ConfigFiles::VALIASES_DIR/$dns";
            chown $UNFO[2], $mailgid, "$Cpanel::ConfigFiles::VFILTERS_DIR/$dns";
            chmod Cpanel::Email::Constants::VFILE_PERMS(), "$Cpanel::ConfigFiles::VALIASES_DIR/$dns";
            chmod Cpanel::Email::Constants::VFILE_PERMS(), "$Cpanel::ConfigFiles::VFILTERS_DIR/$dns";
            $dns = '';
        }
    }
}