Server IP : 103.119.228.120 / Your IP : 3.137.166.61 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /scripts/ |
Upload File : |
#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/cpaddonsup 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; ## no critic qw(TestingAndDebugging::RequireUseWarnings) use Cpanel::Logger (); use Cpanel::Locale (); use Cpanel::SafeRun::Errors (); use Whostmgr::Cpaddon (); exit if -e '/etc/cpaddonsupdisable'; my $logger = Cpanel::Logger->new(); my $locale = Cpanel::Locale->get_handle(); my $cpaddons_dir = '/usr/local/cpanel/cpaddons'; my $cpanel_log_dir = '/var/cpanel/logs'; if ( !-d $cpaddons_dir ) { mkdir $cpaddons_dir or $logger->die( $locale->maketext( 'Failed to create “[_1]”: [_2]', $cpaddons_dir, $! ) ); } require $cpaddons_dir . '/cPAddonsAvailable.pm'; die $@ if $@; my @current; { no warnings 'once'; foreach my $namespace ( keys %cPAddonsAvailable::list, keys %{ Whostmgr::Cpaddon::get_installed_addons() } ) { my $dirver = $namespace; $dirver =~ s{[:]{2}}{/}g; push @current, $namespace if -d "$cpaddons_dir/$dirver/"; } } my $force = ( grep { $_ eq '--force' } @ARGV ) ? 1 : 0; my $html = ( grep { $_ eq '--nohtml' } @ARGV ) ? 0 : 1; if ( !-d $cpanel_log_dir ) { mkdir $cpanel_log_dir or $logger->warn( $locale->maketext( 'Failed to create “[_1]”: [_2]', $cpanel_log_dir, $! ) ); } # Clear log files older than 30 days my $thirty_days = 30 * 24 * 60 * 60; if ( opendir my $log_dh, $cpanel_log_dir ) { my $now = time(); while ( my $file = readdir $log_dh ) { next if $file !~ m/^cpaddonsup\.(\d+)/; my $age = $1; if ( ( $age + $thirty_days ) < $now ) { unlink $cpanel_log_dir . '/' . $file; } } closedir $log_dh; } if ( @current || $force ) { my $param = !$html ? 'action=update-nohtml' : 'action=update'; $param .= '&force=1' if $force; foreach my $cpaddon (@current) { $param = join '&', $param, qq{$cpaddon=1}; } $ENV{'REMOTE_USER'} = "root"; my $now = time(); my $old_umask = umask(0077); # Case 92381: Logs should not be world-readable. if ( open my $out_fh, '>', $cpanel_log_dir . '/cpaddonsup.' . $now . '.txt' ) { umask($old_umask); print {$out_fh} scalar Cpanel::SafeRun::Errors::saferunallerrors( '/usr/local/cpanel/whostmgr/docroot/cgi/cpaddons.pl', qq{$param} ); if ($html) { print {$out_fh} '<p>' . $locale->maketext( 'Output from command: [_1] “[_2]”', '/usr/local/cpanel/whostmgr/docroot/cgi/cpaddons.pl', $param ) . "</p></body></html>\n\n"; } else { print {$out_fh} $locale->maketext( 'Output from command: [_1] “[_2]”', '/usr/local/cpanel/whostmgr/docroot/cgi/cpaddons.pl', $param ) . "\n\n"; } close $out_fh; } else { umask($old_umask); $logger->warn( $locale->maketext( 'Could not write log file “[_1]”: [_2]', "${cpanel_log_dir}/cpaddonsup.${now}.txt", $! ) ); print scalar Cpanel::SafeRun::Errors::saferunallerrors( '/usr/local/cpanel/whostmgr/docroot/cgi/cpaddons.pl', qq{$param} ); } }