HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/local/lsws/lsns/bin/__pycache__/common.cpython-39.pyc
a

V�#i�$�@snddlZddlZddlZddlZddlZddlZddlTddlmZdZdZ	dZ
dZdZdZ
ejeZde_d	e_de_d
e_dd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�ZdDdd�ZdEdd�Zdd�Zdd �Zd!d"�Z d#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-d>d?�Z.d@dA�Z/dBdC�Z0dS)F�N)�*)�PIPEz0.0.3����z/usr/local/lswsFcCstjddd�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_file"srcCst�|�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#c
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_usersDsr4cCstj�d�rdSdS)Nz/etc/plesk-releaseTF)�os�path�existsr
r
r
r�	get_pleskLsr8cCst�r
dSdS)Ni'i�)r8r
r
r
r�get_def_min_uidQsr9c
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,Vs,


 
r,cCsXi}g}t��}|D]>}|jt�kr&q|j|vr2q|jdkr>q|||j<|�|�q|S)NZnobody)r%�getpwallr+r,�pw_namer1)Zuid_dictZfinal_usersr3�userr
r
rrCns


rCcCs
t�dS)Nz/lsns/conf/lscntr.txtrr
r
r
r�container_file}srFcCs
t�dS)Nz/conf/httpd_config.confrr
r
r
r�
ols_conf_file�srGcCs
t�dS)Nz/conf/httpd_config.xmlrr
r
r
r�lsws_conf_file�srHcCs
t�dS�Nz /lsns/conf/ns_disabled_uids.confrr
r
r
r�get_disabled_uid_file�srJcCs
t�dSrIrr
r
r
rrJ�scCs
t�dS)Nz/lsns/conf/packagesrr
r
r
r�get_pkg_dir�srKcCsBtj�t��s4tj�t��s$td�tjt�dd�t�d|S)Nz3Missing LiteSpeed high level installation directoryi�)�modez/%s.conf)r5r6�isdirrKrr�mkdir)�pkgr
r
r�pkg_to_filename�s
rPcCs
t�dS)Nz"/lsns/conf/redis_package_size.confrr
r
r
r�get_package_size_file�srQcCst�t�tj�std�dS)Nz5You must configure LiteSpeed for LiteSpeed Containers)r5�accessrF�F_OKrr
r
r
r�ls_ok�srTcCs"t�dtj�rdt_dSt�dS)Nz/etc/cloudlinux-releaseT)r5rRrSr�clrTr
r
r
r�ls_cl_ok�srVcCstjSr
)rrUr
r
r
r�is_cl�srWcCsXt�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�
returncoderrX�decoderY)�fileZdesc�resultr
r
r�touch_restart_external�s
rac	
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�getsizerFr<�json�loadrA�dirname�pw_dirrDr7rNrar(r)	r3�allZ
users_usedrB�datar_ZdironlyrEr/r
r
r�restart_external�s.




ric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�filesZdevicesr_�filenameZstatinfoZdeviceZretryZinnerrrrtr
r
r�get_devices�s@
d


$


rwcCs�|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)Nrxz-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 Krzryr|r{r~r}r�rz\Invalid value specification (suffix): %s, must be number optionally followed by T, G, M or Kzint_num %s, %f * %f = %d)
r$r'rmr�upper�isalphar�r(r	r))r��suffix�prefixZprefZ
multiplierZflr
r
rr�s:r�)F)F)1rcr	r5r%r[rrnr�VERSIONZ
OPTION_CPUZ	OPTION_IOZOPTION_IOPSZ
OPTION_MEMZOPTION_TASKS�modules�__name__rr=rr;rUrrrrrrr#r0r4r8r9r,rCrFrGrHrJrKrPrQrTrVrWrarirwr�r�r
r
r
r�<module>sT0


"