Server IP : 162.241.126.129 / Your IP : 18.188.218.134 Web Server : Apache System : Linux 162-241-126-129.cprapid.com 4.18.0-477.27.2.el8_8.x86_64 #1 SMP Fri Sep 29 08:21:01 EDT 2023 x86_64 User : rvway5nu4 ( 1018) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/scripts/ |
Upload File : |
#!/usr/local/cpanel/3rdparty/bin/perl # cpanel - scripts/gemwrapper 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 Cpanel::FileUtils::Path (); my $hasperlexpect = 0; eval { require IO::Tty; require Expect; $hasperlexpect = 1; }; my $gem = Cpanel::FileUtils::Path::findinpath('gem'); if ( $> != 0 ) { my $homedir = ( getpwuid($>) )[7]; $ENV{'HOME'} = $homedir; # restore HOME (cleansed by saferun_r_cleanenv when called from Cpanel::LangMods) $ENV{'GEM_HOME'} = $homedir . '/ruby/gems/'; } if ( $ARGV[0] =~ m/noexpect/ ) { shift @ARGV; $hasperlexpect = 0; } if ( !$hasperlexpect ) { exec $gem, @ARGV; } $SIG{'ALRM'} = sub { die "Timeout\n"; }; alarm( 20 * 60 ); my $exp = Expect->spawn( $gem, @ARGV ) or die "Cannot spawn gem installer: $!"; my $pid = $exp->pid(); my $number = 0; while ( waitpid( $pid, 1 ) != -1 ) { $exp->expect( 300, [ qr/(.*\(ruby\).*)/, sub { if ( !$number ) { ($number) = $exp->match =~ /\s*(\d+)/; } } ], [ '>', sub { my $temp_number = 1; if ($number) { $temp_number = $number; $number = 0; } $exp->send( $temp_number . "\r" ); } ], [ 'eof', sub { exit; } ], [ 'timeout', sub { $exp->send("\r"); } ], ); } $exp->soft_close();