Revonzy Mini Shell
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/resetmailmanurls Copyright 2022 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
use strict;
use warnings;
use Cpanel::Hostname ();
use Cpanel::Config::LoadCpConf ();
use Cpanel::ApacheConf ();
use Cpanel::Config::Httpd::IpPort ();
use Cpanel::Mailman::Filesys ();
my @LISTS;
my $hostname = Cpanel::Hostname::gethostname();
my %CPCONF = Cpanel::Config::LoadCpConf::loadcpconf();
my $from_upcp = ( @ARGV && grep( /^--from-upcp$/, @ARGV ) ) ? 1 : 0;
if ($from_upcp) {
my $apc = Cpanel::ApacheConf::loadhttpdconf();
if ( exists $apc->{$hostname} ) {
if ( exists $apc->{$hostname}->{'address'} ) {
my $ssl_port = Cpanel::Config::Httpd::IpPort::get_ssl_httpd_port();
foreach my $addyref ( @{ $apc->{$hostname}->{'address'} } ) {
if ( $addyref->{'ip'} eq '*' || $addyref->{'port'} eq $ssl_port ) {
next;
}
print 'Hostname Virtual Host is already setup' . "\n";
exit;
}
}
}
}
my $lists_dir = Cpanel::Mailman::Filesys::MAILING_LISTS_DIR();
# May not exist on a fresh install; that's okay.
if ( opendir my $list_dh, $lists_dir ) {
@LISTS = readdir $list_dh;
closedir $list_dh or warn "closedir($lists_dir) failed: $!";
@LISTS = grep( /^[^_]+_/, @LISTS );
my @args;
foreach my $llist (@LISTS) {
my @LLIST = split /_/, $llist;
my $dns = pop @LLIST;
my $list = join '_', @LLIST;
push @args, $dns, $list;
}
if (@args) {
if ( $CPCONF{'usemailformailmanurl'} eq "1" ) {
system( "/usr/local/cpanel/bin/cp_mailman_mail2", @args );
}
else {
system( "/usr/local/cpanel/bin/cp_mailman2", @args );
}
}
}
EliteHackz.ORG
Revonzy Mini Shell
root@revonzy.com