HEX
Server: LiteSpeed
System: Linux l24.yourwebhosting.net 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: turkishi (1582)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //proc/thread-self/root/usr/local/lsws/lsns/bin/__pycache__/common.cpython-39.pyc
a

�fhS"�@sPddlZddlZddlZddlZddlZddlZddlTddlmZdZdZ	dZ
dZdZdZ
ejeZde_d	e_de_d
d�Zdd
�Zdd�Zdd�Zdd�Zdd�Zdd�Zd>dd�Zd?dd�Zdd�Zdd �Zd!d"�Zd#d$�Z d%d&�Z!d'd(�Z"d)d*�Z#d+d*�Z#d,d-�Z$d.d/�Z%d0d1�Z&d2d3�Z'd4d5�Z(d6d7�Z)d8d9�Z*d:d;�Z+d<d=�Z,dS)@�N)�*)�PIPEz0.0.2����z/usr/local/lswscCstjddd�dS)Nz3%(asctime)s.%(msecs)03d [%(levelname)s] %(message)sz%Y-%m-%d %H:%M:%S)�formatZdatefmt)�loggingZbasicConfig�r
r
�"/usr/local/lsws/lsns/bin/common.py�init_loggings�rcCstjS�N��this�
serverRootr
r
r
r�server_rootsrcCs
|t_dSr
r)�rootr
r
r�set_server_rootsrcCst�d|S)Nz/lsns/conf/�r��fileonlyr
r
r�
get_conf_filesrcCst�d|S)Nz
/lsns/bin/rrr
r
r�get_bin_filesrcCst�|�t�d�dS)Nr)r	�error�sys�exit)�msgr
r
r�fatal_error"s
rcCsgd�S)N)�cpu�io�iops�mem�tasksr
r
r
r
r�get_options&sr#Fc
Cs|��rjzt�t|��}Wq�tyf}z4|s>td||f�t�d||f�WYd}~dSd}~00n\zt�|�}WnLty�}z4|s�td||f�t�d||f�WYd}~dSd}~00|j	t
�k�r|�s�td|j	t
�f�t�d|j	t
�f�dS|dfS)NzError getting UID for %s: %s)NFzError getting name for %s: %sz#Specified uid: %d < minimum uid: %dT)�isdigit�pwd�getpwuid�int�	Exceptionrr	�debug�getpwnam�pw_uid�get_min_uid)Zparam�no_fatal�	user_info�errr
r
r�get_user)s*r0cCs.g}|D] }t||�\}}|r|�|�q|Sr
)r0�append)�uidsr-�usersZuidr.Zgotr
r
r�	get_usersAsr4cCstj�d�rdSdS)Nz/etc/plesk-releaseTF)�os�path�existsr
r
r
r�	get_pleskIsr8cCst�r
dSdS)Ni'i�)r8r
r
r
r�get_def_min_uidNsr9c
Cs
tjdkrtjStd�}zt|d�}WnXty~}z@tjdur\t�d||t�f�dt_t�t_tjWYd}~Sd}~00z|�	�}WnTty�}z<tjdur�t�d||t�f�dt_t
t��}WYd}~n
d}~00|��t|�t_t�
dtj�tjS)Nrz	lsns.conf�rz8Error opening %s: %s, continuing with default min uid %dTz8Error reading %s: %s, continuing with default min uid %dzUsing min uid: %d)r�min_uidr�openr(�loggedr	�infor9�readline�str�closer'r))Zfullfile�fr/Zuidstrr
r
rr,Ss,


 
r,cCs
t�dS)Nz/lsns/conf/lscntr.txtrr
r
r
r�container_fileksrCcCs
t�dS)Nz/conf/httpd_config.confrr
r
r
r�
ols_conf_filensrDcCs
t�dS)Nz/conf/httpd_config.xmlrr
r
r
r�lsws_conf_fileqsrEcCs
t�dS�Nz /lsns/conf/ns_disabled_uids.confrr
r
r
r�get_disabled_uid_filetsrGcCs
t�dSrFrr
r
r
rrGwscCs
t�dS)Nz/lsns/conf/packagesrr
r
r
r�get_pkg_dirzsrHcCsBtj�t��s4tj�t��s$td�tjt�dd�t�d|S)Nz3Missing LiteSpeed high level installation directoryi�)�modez/%s.conf)r5r6�isdirrHrr�mkdir)�pkgr
r
r�pkg_to_filename}s
rMcCs
t�dS)Nz"/lsns/conf/redis_package_size.confrr
r
r
r�get_package_size_file�srNcCst�t�d�dkrtd�dS)Nrz5You must configure LiteSpeed for LiteSpeed Containers)r5�accessrCrr
r
r
r�ls_ok�srPcCsXt�d||f�tjd|gttd�}|jdkrTtd|j�d�d|j	�d��dS)Nz restart_external %s by touch: %sZtouch)�stdout�stderrrz!Error in running: touch, errors: zutf-8� )
r	r)�
subprocess�runr�
returncoderrQ�decoderR)�fileZdesc�resultr
r
r�touch_restart_external�s
rZc	
Csi}z�tj�t��dkr�tt�d�}t�|�}|��|dD]R}tj�|�}|D]}|j	|krR|||j
<qpqRtj�|�s�t�|�t
|d�q>|r�t
dd�n&|D] }|j
|vr�q�t
|j	dd�q�Wn0ty�}ztd	|�WYd}~n
d}~00dS)
Nrr:Z
reset_listz
in lscntr.txtz,/usr/local/lsws/admin/tmp/.lsphp_restart.txtzfor allz/.lsphp_restart.txtzfor homezError managing restart: %s)r5r6�getsizerCr<�json�loadrA�dirname�pw_dir�pw_namer7rKrZr(r)	r3�allZ
users_usedrB�datarXZdironly�userr/r
r
r�restart_external�s.




rdcCs�i}i}t�d�}g}|D]�}t|�dkr:|dd�dkst|�dkrV|dd�dkst|�dkr�|dd�dks|dd�dkr�qd	|}t�|�}t|j�d
krt�d|dt|��|�	|�|||<q|D]\}d
}|r�d}|D]D}	||	kr�q�t|�t|	�kr�||	dt|��kr�|�
|	�d
}q�q�q�q�|D]D}t�||j�}
t�
||j�}|
|v�rni||
<|||
|<�q8t�dt|�dt|��||fS)Nz/devrZloop�ZcdromrZdm�srz/dev/rz
filename: z statinfo: TFzFinal devices: z Block Devices: )r5�listdir�len�stat�S_ISBLK�st_moder	r)r@r1�remove�major�st_rdev�minor)Z
block_devicesZstatinfo_dev�filesZdevicesrX�filenameZstatinfoZdeviceZretryZinnerrmror
r
r�get_devices�s@
d


$


rrcCs�|dkrdSt|�}|dkr&d}d}n:|dkr8d}d}n(|dkrJd}d}n|dkr\d}d	}n|St||�d
kr�d||tt||d
d
��|f}nd|||f}tt|��|kr�|St�d
tt|��||f�|S)N���T�@�G��M��K�
z%d.%d%sz%d%sz%s != %s use %s)�float�roundr'r@�int_num_valuesr	r))�valstr�valZdivisorZ	qualifierZstr_numr
r
r�str_num_values�s.(r�c	Cs"|dks|dkrdS|��r$t|�St|�dkr<td|�|t|�d��}|��sbd}|}n|dt|�d�}zt|�}Wnty�td|�Yn0|dkr�d	}nD|d
kr�d}n6|dkr�d
}n(|dkr�d}n|dkr�d}ntd|�t�	d|||t||�f�||}t|�S)Nrsz-1���rzSInvalid value specification: %s, must be number optionally followed by T, G, M or Krz\Invalid value specification (prefix): %s, must be number optionally followed by T, G, M or Krurtrwrvryrxr{rzz\Invalid value specification (suffix): %s, must be number optionally followed by T, G, M or Kzint_num %s, %f * %f = %d)
r$r'rhr�upper�isalphar}r(r	r))r��suffix�prefixZprefZ
multiplierZflr
r
rr�s:r)F)F)-r\r	r5r%rTrrir�VERSIONZ
OPTION_CPUZ	OPTION_IOZOPTION_IOPSZ
OPTION_MEMZOPTION_TASKS�modules�__name__rr=rr;rrrrrrr#r0r4r8r9r,rCrDrErGrHrMrNrPrZrdrrr�rr
r
r
r�<module>sL0


"