HEX
Server: Apache
System: Linux nc-ph-4101.simplemoneygoals.com 5.14.0-503.21.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Jan 12 09:45:05 EST 2025 x86_64
User: dailygoldindex (1004)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/share/lve/modlscapi/user/__pycache__/lve_diagnostic.cpython-39.pyc
a

�Ui�5�@s�ddlZddlmZdd�ZGdd�d�ZGdd�d�Zd	d
�Zdd�ZGd
d�d�ZGdd�d�Z	Gdd�de	�Z
Gdd�de	�ZGdd�de	�ZGdd�de	�Z
Gdd�de	�ZGdd�de	�ZGdd�de	�Zdd �Zd!d"�Zd#d$�ZdS)%�N)�versioncCst�|�}|��S�N)�os�popen�read)�strZhandle�r�//usr/share/lve/modlscapi/user/lve_diagnostic.py�myExecs
r
c@s(eZdZdZdZdZdZdZdd�ZdS)�	LiteSpeedF�UnknowncCs^tj�d�|_tj�d�rZttd��d��dkrZd|_dtd�v|_d	td
�v|_td�}dS)Nz/usr/local/lswsz/usr/local/lsws/bin/litespeedzps aux|grep litespeed�
�T�1z4grep enableLVE /usr/local/lsws/conf/httpd_config.xml�0z$grep -i phpSuexec\> httpd_config.xmlz%file -L /usr/local/lsws/bin/litespeed)	r�path�isfile�exist�lenr
�split�lve�suexec)�selfZarchrrr	�__init__s"zLiteSpeed.__init__N)	�__name__�
__module__�__qualname__rrrrZcorrectArchrrrrr	rsrc@steZdZdZdZdZdZdZdZdZ	dZ
dZdZdZ
dZdZdZdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�ZdS)�
ApacheInfoFrcCs|�|�dSr)�detect)rrrrr	r8szApacheInfo.__init__cCs2t�|j�t�d�krdStdd|jj�dSdS)Nz2.2.0Ti�z=Unable to determine list of loaded modules, apache version %sF)r�LooseVersion�
print_warning�apache�rrrr	�
check_version;szApacheInfo.check_versioncCst|j�d|d�dk�S)N� �_module���)r�modules�find)r�namerrr	�isModuleBszApacheInfo.isModulecCsv|jrr|�d�|_|�d�|_|�d�|_|�d�|_|�d�|_|�d�|_|�d�|_|�d�|_	|�d	�|_
dS)
N�
hostinglimits�fcgidZphp5�cgi�cgid�suPHP�fastcgi�disable_suexecr)�
moduleInfor*r+r,�php_dsor-r.r/r0r1rr"rrr	�parseModulesEszApacheInfo.parseModulescCsBtj�|�|_|j�r>t|d�}|�d�dkr�d}|�d�D]"}|�d�dkr>|�dd�}qbq>|dur�td|d|d	�t|d�}|dur�td|d
|�|�d�}|D]P}|�d�d
kr�||�d�dd�|_|�d�d
kr�||�	d�dd�|_
q�t�|j�t�d�k�r>d|_t|d�|_
|��dS)Nz -V 2>&1zSyntax errorrr$z
lsapi.conf�:�zmv z.SAVEz.SAVE r
zServer version:r&�/rzServer MPM:z2.2Tz -M 2>&1)rrrrr
r(r�replacer�rfind�mpmrr2r'r4)rr�tmpZ
lsapi_conf�s�lines�linerrr	rQs0
zApacheInfo.detectcCs�|jrxd|jd|jd|jd|jd|jd|jd|jd|jd	|j	d
|j
d|j}|SdSdS)NzApache verion: z, mpm=z, hostinglimits=z, cgi=z, cgid=z, fcgi=z
, fastcgi=z
, php DSO=z, suphp=z	, suexec=z, disable_suexec=)rrr:r+r-r.r,r0r3r/rr1)rrrrr	rksP������������������zApacheInfo.strN)rrrrrr:r+r,r-r3r.r/r0r1rr2r'rr#r*r4rrrrrr	r(s(rcCs$td|�t||�td|�dS)NzCODE: z
Solution: ��print)�code�	error_str�
error_listZsolutionrrr	�print_errorzs
rDcCstd|�t||�dS)Nz	WARNING: r?)rArBrCrrr	r �s
r c@s4eZdZdZdZdZdZdd�Zdd�Zdd�Z	dS)	�KernelNFcCs^td��d�|_|j�d�|_|jdkrN|j|jdd�|_tj�d�|_	nd|jv|_
dS)Nz
/bin/uname -rr
rr&�z/proc/lve/listZstab)r
�rstrip�
kernelNamer(�isLVEKernelrrrr�isLVEEnabled�
isVZKernelr"rrr	r�s
zKernel.__init__cCs�|jr�|jr�t�|j�t�d�kr&dSt�|j�t�d�krNtdd|jd�q�t�|j�t�d�krvtdd	|jd�q�td
d|jd�q�tdd
dd�n&|jr�tdddd�ntdd|jd�dS)Nz0.8.28Tz0.8.0i�z*You are running bugy kernel LVE version %szUpgrade Kernelz0.7.0i�zoYou are running old kernel LVE version %s
 That version doesn't support multiple cores per LVE or memory limitsi�z5You are running very old, bugy kernel, LVE version %si�zLVE is not enabledrzACheck /etc/sysconfig/lve file, and make sure lve rpm is installediMzYou are running VZ or OpenVZzWCloudLinux is not compatible, see http://www.cloudlinux.com/vz-compat.php for more infoi�z9You are not running CloudLinux kernel. Your kernel is: %szCheck /boot/grub/grub.conf)rJrrrDrKr"rrr	�check�s.
�����zKernel.checkcCsNd}|jr|d|jd7}n,|jr8|d|jd7}n|d|jd7}|S)NzKernel: zOK (�)zVZ (z	Unknown ()rJrrKrH)r�resultrrr	r�sz
Kernel.str)
rrrrrIrKrJrrLrrrrr	rE�s	rEc@s8eZdZdZdZdZdd�Zdd�Zdd	�Zd
d�Z	dS)�CPz
Unknown CPrNcCstd�|_d|_t�|_dS)N�/usr/sbin/apachectlz
/etc/httpd)rr!�apache_pathrE�kernelr"rrr	r�s
zCP.__init__cCs|jd|jd|j��S)Nr$)r)rrRrr"rrr	r�szCP.strcCs|jSr)r)r"rrr	�__str__�sz
CP.__str__cCs|j��dSr)rRrLr"rrr	rL�szCP.check)
rrrr)rrRrrrSrLrrrr	rO�srOcs(eZdZdZ�fdd�Zdd�Z�ZS)�CPanel�cPanelcsLtt|���td�|_td�|_tj�	d�r<d|_
d|_nd|_
d|_dS)Nz/usr/local/cpanel/cpanel -Vz/usr/local/bin/apachectlz/etc/cpanel/ea4/is_ea4ZEA4z/etc/apache2ZEA3z/usr/local/apache)�superrTrr
rrr!rr�exists�earQr"��	__class__rr	r�s

zCPanel.__init__cCs|jSr)rXr"rrr	rS�szCPanel.__str__)rrrr)rrS�
__classcell__rrrYr	rT�srTcs eZdZdZ�fdd�Z�ZS)�Pleskcs4tt|���td�}|�d�d|_td�|_dS)Nz/bin/cat /usr/local/psa/versionr$rrP)rVr\rr
rrrr!�rr;rYrr	r�szPlesk.__init__�rrrr)rr[rrrYr	r\�sr\cs eZdZdZ�fdd�Z�ZS)�DirectAdmincsdtt|���td�}|�d�}d|_td�|_|D]*}|�d�dkr4|�d�d�	�|_q`q4dS)	Nz1/usr/local/directadmin/custombuild/build versionsr
rrPz!Installed version of DirectAdmin:r&r5r)
rVr_rr
rrrr!r(�strip)rr;�itemrYrr	r�s

zDirectAdmin.__init__r^rrrYr	r_�sr_cs(eZdZdZ�fdd�Zdd�Z�ZS)�HSpherezH-Spherecs8tt|���td�}|�d�d��|_|��|_dS)NzA/bin/cat /hsphere/local/home/cpanel/shiva/psoft_config/HS_VERSIONr
r)	rVrbrr
rr`r�get_apache_typer!r]rYrr	r�szHSphere.__init__cCs�tj�d�rztd�}|��}|��|D]P}|�d�d��}|�d�d��}|dkr(|dkrltd�Std�Sq(td	�S)
Nz#/hsphere/shared/scripts/scripts.cfg�=rrZapache_versionrz /hsphere/shared/apache/bin/httpdz%/hsphere/shared/apache2/bin/apachectlr6)	rrr�open�	readlines�closerr`r)r�fr=ra�key�valuerrr	rc�szHSphere.get_apache_type)rrrr)rrcr[rrrYr	rb�srbcs(eZdZdZ�fdd�Zdd�Z�ZS)�iWorx�	InterWorxcs,tt|���d|_|��|_td�|_dS)N�/usr/local/interworx/iworx.inirP)rVrkr�ini_file�find_versionrrr!r"rYrr	rs
ziWorx.__init__cCs�zft|jd��}|��}Wd�n1s,0Y|�d�d�dd��dd��dd��d�d	WStyzYdS0dS)
N�rr�r
r6rd�"�[r)rernrrr8�	Exception)rZini_info�outrrr	ros&2ziWorx.find_version)rrrr)rror[rrrYr	rk
srkcs eZdZdZ�fdd�Z�ZS)�ISPMgr�
ISPManagercs"tt|���d|_td�|_dS)NZunkrP)rVrvrrrr!r"rYrr	rszISPMgr.__init__r^rrrYr	rvsrvcs0eZdZdZ�fdd�Zdd�Zdd�Z�ZS)�CustomPanelcs&tt|���|��d|_d|_dS)Nz /usr/share/lve/modlscapi/custom/)rVrxr�
config_reader�root_dirr!r"rYrr	r%szCustomPanel.__init__cCs�ddl}|��}|�|jd�|d}|�|�|�d�|_|�d�|_|�d�|_|�d�|_	|�d	�|_
|jr�t|j�|_dS)
z�Read all configurations related to Custom Panel from config.ini in the 'root_dir' folder.
        config.ini file must include GLOBAL section.
        rNz
config.iniZGLOBALZVERSIONZAPACHECTL_BIN_LOCATIONZDOC_URLZEXECUTABLE_BINZ
PANEL_NAME)
�configparser�ConfigParserrrz�check_config_ini�getrZ	apachectl�doc_url�
executable�
panel_namerr!)rr{Zconfig�	cp_configrrr	ry+s
zCustomPanel.config_readercCsLgd�}g}|D]}|�|�dur|�|�q|rHtd|���td�dS)N)rZapachectl_bin_locationrZexecutable_binr�z&Config file is missing required keys: r)r~�appendr@�exit)rr�Z
required_keysZmissing_keysrirrr	r}>szCustomPanel.check_config_ini)rrrr)rryr}r[rrrYr	rx#srxcCs�tj�d�rtStj�d�r tStj�d�r<tj�d�r<tStj�d�rLtStj�d�r\tStj�d�rlt	Stj�d�r|t
StS)	Nz/usr/local/cpanel/cpanelz/usr/local/psa/versionz/usr/local/directadminz(/usr/local/directadmin/custombuild/buildz8/hsphere/local/home/cpanel/shiva/psoft_config/HS_VERSIONz/usr/local/ispmgrrmz*/usr/share/lve/modlscapi/custom/config.ini)rrrrTr\�isdirr_rbrvrkrxrOrrrr	�
_get_cp_classLsr�cCst�jS)a�
    Call this when you only need to detect Control Panel type, and don't need its complete properties.

    The function avoids creating an instance of CP successor class.
    This is safer for calling from installation scriptlets, when the system state can be inconsistent -
    because instance initialization tries to collect much more info than _get_cp_class().
    For example, 'apachectl' utility, used to gather server attributes into 'apache' instance variable,
    can fail half-way 'mod_lsapi' post-installation. Specifically:
    when the upgrade brings a non-backward compatible change of 'mod_lsapi.so'<->'liblscapi.so' binary interface,
    at the moment when we have 'liblscapi.so' already updated,
    but the new 'mod_lsapi.so' not yet copied into the Apache modules directory,
    'apachectl' would fail due to unloadable modules, print errors instead of Apache properties,
    and eventually produce installation failure.
    See CLOS-3184.
    )r�r)rrrr	�get_cp_name]sr�cCst��S)z�
    Call this when you want full Control Panel properties, not only its type.

    Properties can fail to be obtained, or be invalid, in intermediate machine state, like half-installed 'mod_lsapi'.
    See CLOS-3184.
    )r�rrrr	�get_cposr�)rZ	distutilsrr
rrrDr rErOrTr\r_rbrkrvrxr�r�r�rrrr	�<module>s$R1	)