�&ǐ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(); my $ctl = lc shift @ARGV; if ( $ctl !~ /^o(n|ff)$/ ) { die "$0: usage: $0 "; } exit if ( !-e apache_paths_facade->bin_httpd() ); my $apache_conf = Cpanel::ConfigFiles::Apache::Config::get_config(); my $bad_mod; if ( $apache_conf->{'supported'}{'mpm_itk'} || $apache_conf->{'supported'}{'itk'} ) { $bad_mod = 'Apache MPM-ITK'; } elsif ( $apache_conf->{'supported'}{'mod_ruid2'} ) { $bad_mod = 'mod_ruid2'; } elsif ( $apache_conf->{'supported'}{'mod_passenger'} ) { $bad_mod = 'mod_passenger'; } #Do not allow use of mod_userdir if running apache mpm-itk or ruid2 or mod_passenger due to security implications if ( $ctl eq 'on' && $bad_mod ) { print "Detected $bad_mod in use.\n"; print "Using both mod_userdir and $bad_mod is not a supported configuration.\n"; print "Changes were not saved.\n"; exit; } my $cpconf_guard = Cpanel::Config::CpConfGuard->new(); $cpconf_guard->{'data'}->{'userdirprotect'} = $ctl eq 'on' ? 1 : 0; $cpconf_guard->save(); my $UDS = Cpanel::Config::LoadConfig::loadConfig( '/var/cpanel/moddirdomains', {}, '\s*[:]\s*', '^\s*[#]' ); my $userdomains = Cpanel::Config::LoadUserDomains::loaduserdomains( {}, 1 ); my $httplock = Cpanel::SafeFile::safeopen( \*HC, "+<", apache_paths_facade->file_conf() ); if ( !$httplock ) { $logger->die( 'Could not edit ' . apache_paths_facade->file_conf() ); } my @CFILE; while () { push( @CFILE, $_ ); } seek( HC, 0, 0 ); my ( $bh, $ivh, $iuserdir, $userdirl, $killuserdir ); foreach (@CFILE) { my $line = $_; if ( !( $line =~ /^#/ ) ) { if ( $line =~ /{$sn} || ''; if ( $owner ne "" && $owner ne "root" && $owner ne "*" && getpwnam($owner) ) { if ( $UDS->{$sn} ne "-1" ) { print HC " \n"; print HC " UserDir disabled\n"; print HC " UserDir enabled ${owner} $UDS->{$sn}\n"; print HC " \n"; } } else { if ( $UDS->{"DefaultHost"} ne "-1" ) { print HC " \n"; print HC " UserDir disabled\n"; print HC " UserDir enabled " . $UDS->{"DefaultHost"} . "\n" if ( $UDS->{'DefaultHost'} ); print HC " \n"; } } } } } if ( $ivh && $ctl eq "off" ) { $killuserdir = 1; if ( $line =~ /^\s*Userdir\s*disable/i ) { next; } } } if ($iuserdir) { $userdirl .= $line; } elsif ( $line =~ /^\s*userdir/i ) { next; } else { print HC $line; } } truncate( HC, tell(HC) ); Cpanel::SafeFile::safeclose( \*HC, $httplock ); Cpanel::HttpUtils::ApRestart::BgSafe::restart(); print "Your changes have been saved.\n";