[ SEA-GHOST MINI SHELL]
#!/usr/local/cpanel/3rdparty/bin/perl
# Copyright (c) 2023, cPanel, L.L.C.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
package ea_apache24_config_runtime::SOURCES::restartsrv_httpd;
use strict;
use warnings;
our $disable_flag_file = '/var/cpanel/ea4-disable-500-restartsrv_httpd-for-glibc';
run(@ARGV) unless caller();
sub run {
my @args = @_;
my ($path) = map( { m/^--pkg_list=(.*)$/ ? ($1) : () } @args );
my $hard_restart = 0;
if ( defined $path && -e $path ) {
if ( open( my $fh, '<', $path ) ) {
my @lines = <$fh>;
close($fh);
if ( grep { m/^ea-apache24$/ || m/^ea-apache24-mod[_\-]/ } @lines ) {
$hard_restart = 1;
}
}
else {
warn "Failed to open “$path”: $!\n";
$hard_restart = 1; # err on the side of caution
}
}
if( $0 =~ m{glibc-restartsrv_httpd$} ) {
return 0 if -e $disable_flag_file;
$hard_restart = 1
}
if ($hard_restart) {
system('/usr/local/cpanel/scripts/restartsrv_httpd --stop');
system('/usr/local/cpanel/scripts/restartsrv_httpd');
}
else {
system('/usr/local/cpanel/scripts/restartsrv_httpd');
}
}
1;
SEA-GHOST - SHELL CODING BY SEA-GHOST