�&ǐk�@'bJ�h�ۊL'}T� :��'2�Z#$��n�a��� �>a��`��_3d�Qpt�/�P -��#5�,�M��� �pA:©�q�����NW��ډ�A���� �9nʺج���� �TSM��{J6?7��r�@�\����D��� �׶���s�f�TJj?"��D��`?��̒� b�#�%�C*v�$�{�$����5Ծ�F�s��y�e/8��h-�f�̰&(����Gj�L:U� 2�� ����v�_k����Y��gp,�k�WF�R������_C�R��N@���R�@�ߔ?A�w9���F("iNa-S���Q�o�3tDMLh*�#4k�T/iQ��Y*�G��m����)��8�hBm/�I�,g�ﯖ���Z��}�Cz�q@´��d.����L�ŕ�,��1�Z�܌�: ̪���F+J-'��c�tvJ8��]Q-��b��y �6;*J`r_�d ��'�G ~p��)'�C,�%F��E(��2�k�����lР�z�!�=t ��_�0��f7��� ;�p�|�U �%new(); exit 0 if -e '/var/cpanel/conf/jail/flags/mount_proc_jailed_fallback_none'; my $tf = Cpanel::TempFile->new(); my $dir = $tf->dir(); my $src = $dir . '/proc_test.c'; my $bin = '/root/.__proc_test_bin'; Cpanel::FileUtils::Write::overwrite_no_exceptions( $src, <<'EOF', 0600 ); #include #define MOUNTPOINT "/root/.__proc_test" int main(int argc, char *argv[]){ mount(0, MOUNTPOINT, "proc", 0, ""); umount(MOUNTPOINT); return 0; } EOF my $gcc_status = system qw(/usr/bin/gcc -Wall -o), $bin, $src; if ( $gcc_status == 0 ) { mkdir '/root/.__proc_test'; my ($sys) = ( `/usr/bin/time -p $bin 2>&1` || '' ) =~ /sys ([\d.]+)$/m; if ( defined($sys) ) { if ( $sys > 0.5 ) { $logger->warn("Mounting procfs took more than half a second of system time. This is a symptom of an outdated kernel. Disabling full procfs mounting in jailshell. Please note: If you re-enable full procfs mounting for jailshell without first updating your kernel, this could lead to extreme system load."); system qw(mkdir -p /var/cpanel/conf/jail/flags); unlink '/var/cpanel/conf/jail/flags/mount_proc_full'; unlink '/var/cpanel/conf/jail/flags/mount_proc_jailed_fallback_full'; Cpanel::FileUtils::TouchFile::touchfile('/var/cpanel/conf/jail/flags/mount_proc_jailed_fallback_none'); } } # else fail silently rmdir '/root/.__proc_test'; unlink '/root/.__proc_test_bin'; } # else fail silently