MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 18.226.17.251
Web Server : Apache
System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : ppcad7no ( 715)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /scripts/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //scripts/set_mailman_archive_perms
#!/usr/local/cpanel/3rdparty/bin/perl

# cpanel - scripts/set_mailman_archive_perms       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::Mailman::Perms    ();
use Cpanel::ProcessCheck      ();
use Cpanel::IONice            ();
use Cpanel::CloseFDs          ();
use Cpanel::Sys::Setsid::Fast ();

__PACKAGE__->script(@ARGV) unless caller();

sub script {
    my (@args) = @_;

    my %pids = Cpanel::ProcessCheck::previouspids( 'process' => 'set_mailman_archive_perms' );

    if ( scalar keys %pids ) {
        print "[$0] Terminating previous running copies with pids: " . join( ', ', keys %pids ) . ".\n";
        kill 9, keys %pids;
    }

    if ( Cpanel::IONice::ionice( 'best-effort', 6 ) ) {
        print "[$0] Setting I/O priority to reduce system load: " . Cpanel::IONice::get_ionice() . "\n";
    }

    setpriority( 0, 0, 19 );    # nice 19

    print "[$0] Setting mailman archive permissions\n";

    if ( grep ( m/-+background/, @args ) ) {
        print "[$0] Continuing in the background\n";
        if ( fork() ) { exit(); }

        open( STDERR, '>>', '/usr/local/cpanel/logs/error_log' ) || warn "Failed to open /usr/local/cpanel/logs/error_log: $!";
        Cpanel::Sys::Setsid::Fast::fast_setsid();
        Cpanel::CloseFDs::fast_daemonclosefds();

    }

    my $perms_obj = Cpanel::Mailman::Perms->new();

    # Set the outer archive directory permissions
    $perms_obj->set_perms();

    # Set per-list permissions
    if ( $perms_obj->set_archive_perms() ) {
        exit(0);
    }

    exit(1);
}

1;

MMCT - 2023