403Webshell
Server IP : 192.158.238.246  /  Your IP : 18.221.20.252
Web Server : LiteSpeed
System : Linux uniform.iwebfusion.net 4.18.0-553.27.1.lve.1.el8.x86_64 #1 SMP Wed Nov 20 15:58:00 UTC 2024 x86_64
User : jenniferflocom ( 1321)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/alt/python37/lib/python3.7/site-packages/clselect/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/alt/python37/lib/python3.7/site-packages/clselect/__pycache__/cluserextselect.cpython-37.pyc
B

��d�9�@s~ddlmZddlmZddlmZddlZddlmZddlmZddl	m
Z
dd	lmZdd
l
mZGdd�dee�ZdS)
�)�absolute_import)�print_function)�divisionN�)�ClExtSelect)�ClUserSelect)�ClSelectExcept)�clprint)�apply_for_at_least_one_userc@s�eZdZdZd+dd�Zd,dd�Zd-dd	�Zd
d�Zdd
�Zdd�Z	d.dd�Z
dd�Zd/dd�Zdd�Z
dd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zee�Zed%d&��Zd'd(�Zd)d*�ZdS)0�ClUserExtSelectzalt_php.ini�phpNcCs$t�|||�d|_g|_g|_dS)N)r�__init__�_alt_extensions�_user_extensions�
_conflicts)�self�item�exclude_pid_list�r�I/opt/alt/python37/lib/python3.7/site-packages/clselect/cluserextselect.pyr
szClUserExtSelect.__init__cCsP|�|�|dkr |�|�d}|dkr2t�|��ttdd�t|�||����S)z�
        Returns enabled user extensions for a version as a tuple
        @param user: string
        @param version: string
        @return: tuple
        Nr�nativecSs|dfS)NTr)�irrr�<lambda>)�z9ClUserExtSelect.list_enabled_extensions.<locals>.<lambda>)�_check_user_in_cagefs�get_versionr�UnableToGetExtensions�tuple�map�sorted�_get_enabled_extensions)r�user�versionrrr�list_enabled_extensionss


z'ClUserExtSelect.list_enabled_extensionsc
Cs�|�|�|dkr |�|�d}|dkr2t�|��t|�||��}t|�|��}t|�|��}||B}g}x<t|�D]0}d}	||kr�d}	n||kr�d}	|�	||	f�qtWt
|�S)z�
        Returns as a tuple all user extensions for a version,
        marking enabled and disabled ones
        @param user: string
        @param version: string
        @return: tuple
        NrrFT)rrrr�setr �
_get_builtins�_get_all_extensionsr�appendr)
rr!r"Zuser_extensionsZbuiltin_extensionsZphp_d_all_extensions�all_extensions�
extensions�ext�enabledrrr�list_all_extensions,s$

z#ClUserExtSelect.list_all_extensionscCs t|j�dkr|�||�|jS)z�
        Returns list of enabled user extensions
        @param user: string
        @param version: string
        @return: list
        r)�lenr�_load_user_extensions)rr!r"rrrr Gsz'ClUserExtSelect._get_enabled_extensionscCs|jdkr|�|�|_|jS)z�
        Returns list of all extensions for a version
        except compiled-in ones
        @param user: string
        @param version: string
        @return: list
        N)r�_load_extensions_list)rr"rrrr&Rs
z#ClUserExtSelect._get_all_extensionscCs2|�|�}t|��t|��}|r.tj||d��dS)zi
        validation extensions name
        @param ext_list: list
        @param version: string
        )�ext_listr(N)r&r$�
differencer�NoSuchExtension)rr0r"r(Zbad_extensionsrrr�_check_extensions^s
z!ClUserExtSelect._check_extensionsFcCs|j||j|||d�S)N)�	check_ext)�bulk_handle_extensions�enable_extensions)rr!r"r0r4rrr�bulk_enable_extensionsisz&ClUserExtSelect.bulk_enable_extensionscOs&t||j�|j�|��tjf|�|�S)N)r
�_clpwd�	get_names�get_uidr�UnableToSaveData)rr!�func�args�kwargsrrrr5ls
z&ClUserExtSelect.bulk_handle_extensionsc	s:|�|�|r|j||d�|�||�}|�|�}|�|�\}}}	t|	���|}
|�|
��t�	|
��}|�
|��fdd�||D�}g�xP|D]H}tt�fdd�|�|g||	���}
t�
||
|�}|�|���|
�q�Wx �D]}|�|�|	|��q�W|�|�}|�|d�|�d|�|�|�|�|�dS)z�
        Adds extensions to user php.ini
        @param user: string
        @param version: string
        @param ext_list: list
        @param check_ext: bool
        @return: None
        )r0r"csg|]}|�kr|�qSrr)�.0r*)�ext_datarr�
<listcomp>�sz5ClUserExtSelect.enable_extensions.<locals>.<listcomp>cs|�kS)Nr)r)�resolved_dependenciesrrr�rz3ClUserExtSelect.enable_extensions.<locals>.<lambda>�
N)rr3�_compose_user_ini_path�_compose_alt_path�_load_ini_contents�list�keys�_check_for_conflictsr�get_conflicts_info�_print_conflicts_info�filter�_include_dependencies�get_dependencies_list�_print_dependencies_info�extend�_smooth_data�_move_ioncube_ext�_write_to_file�join�_backup_settings�_reload_processes)rr!r"r0r4�
user_ini_path�alt_path�contentsr)�extensions_dataZresulting_extensionsZ_conflicts_infor*�resolvedZdependence_infor)r@rBrr6ts6	








z!ClUserExtSelect.enable_extensionscCs|�||j||�S)N)r5�#replace_extensions_with_dependenses)rr!r"r0rrr�bulk_replace_extensions�sz'ClUserExtSelect.bulk_replace_extensionscCs,|�|||�\}}}|�|�|�|�|S)a
        (deprecated)
        Replaces extensions in user php.ini with supplied ones
        and print information about dependences and conflicts for old php selector
        @param user: string
        @param version: string
        @param ext_list: list
        @return: list
        )r]rOrK)rr!r"r0Zextensions_list�dependencies_list�conflict_dependenciesrrr�replace_extensions�s

z"ClUserExtSelect.replace_extensionsc
	s|�|�g�g}g}|�||�}|�|�}|�|�\}}	}
i}
|�|��t�|��}�fdd�|D�}	xJ|	D]B}tt�fdd�|�	|g||
���}||�
|||�}��|�qnWx �D]}|�|�|
|��q�W|�
|�}|�|d�|�d|�|�|�|�|�t|
���||fS)a
        Replaces extensions in user php.ini with supplied ones
        @param user: string
        @param version: string
        @param ext_list: list
        @return: extensions_list, dependencies_list, conflict_dependencieslist: (list, list, list)
        csg|]}|�kr|�qSrr)r?r*)r@rrrA�szGClUserExtSelect.replace_extensions_with_dependenses.<locals>.<listcomp>cs|�kS)Nr)r)rBrrr�rzEClUserExtSelect.replace_extensions_with_dependenses.<locals>.<lambda>rC)rrDrErFrIrrJrGrLrMrNrPrQrRrSrTrUrVrH)
rr!r"r0r_r^rWrXrYr)rZr*r[r)r@rBrr\�s4







z3ClUserExtSelect.replace_extensions_with_dependensescCs|�||j||�S)N)r5�disable_extensions)rr!r"r0rrr�bulk_disable_extensions�sz'ClUserExtSelect.bulk_disable_extensionscCs�|�|�|�||�}|�|�}|�|�\}}}xpt|�D]d}	|	|krHq:t|����|	g�}
|�|	|
|�r�|
�t|��s�t	�
ddd|	fd��q:|�|	d�q:Wx*|D]"}||kr�q�|�|�
||��q�W|�|d�|�d|�|�|�|�|�dS)z�
        Removes extensions from user php.ini
        @param user: string
        @param version: string
        @param ext_list: list
        @return: None
        �text�WARNz%s left as dependency)�status�messageNrC)rrDrErFr$rHr1�_is_dependency�issubsetr	�
print_diag�poprPrQrSrTrUrV)rr!r"r0rWrXrYr)rZrZrest_of_setr*rrrra�s4



z"ClUserExtSelect.disable_extensionscCs,|st�d��t�||�}|�|||�}|S)z�
        Replaces extensions in user php.ini with default ones
        @param user: string
        @param version: string
        @return: list
        �Version)r�
EmptyParamrr r`)rr!r"r0�datarrr�reset_extensions�s

z ClUserExtSelect.reset_extensionscCsld}g}g}xP|D]H}|�d�r0d}|�|�q|rP|�d�rDd}n|�|�q|�|�qW|�|�|S)z�
        PHP ioncube extensions must be at the beginning of extensions list
        @param contents: list
        @return: list
        Fz;---ioncubeTz;---)�
startswithr'rP)rY�foundZfixed_contentsZstripped_contentsrrrrrRs 





z!ClUserExtSelect._move_ioncube_extc
	Cs<g}g}i}d}d}d}�y�t|d�}x�|D]�}|��}|�d�rVd}d}|�|�q,|�d�r�|�d�}	|	dkrtq,|	}d}||kr�|g||<q,|r�|�d	�r�|�d
�s�q,|�|�|�d
�r�d}q,|r,|r,|�d	�s,|dkr�q,||kr�|�|�||kr,||�|�q,W|��Wnttfk
�r0YnX|||fS)zb
        Parses user ini file contents
        @param path: string
        @return: tuple
        FN�rz;>===Tz;---z;- ��;z;<===)�open�rstripror'�strip�close�OSError�IOError)
�pathrYr)rZZ
is_contentZis_extension�ext_name�ini�lineZtmp_ext_namerrrrFsN







z"ClUserExtSelect._load_ini_contentscCs&|�||�}|�|�}|j�|�dS)z�
        Loads user alternative extensions list for a version
        @param user: string
        @param version: string
        N)rD�_skim_over_extensionsrrP)rr!r"rWr)rrrr.\s
z%ClUserExtSelect._load_user_extensionsc
Cs�|jr2|j�|�}d|�dd�}|d|dSt|j�|��}tj�|j	|dd�|dd	|j
fd
|j
|�dd�f|j�}|S)z�
        Composes user ini file path
        @param user: string
        @param version: string
        @return: string
        zphp%s�.rrz/.cl.selector/alt_z.ini���N�etczcl.%s.dzalt-%s%s)�without_cagefsr8�get_homedir�replace�strr:�osrzrT�CAGEFS_PATH�_item�USER_INI)rr!r"�homedirZphp_dir�uidrzrrrrDfs


z&ClUserExtSelect._compose_user_ini_path)rN)N)N)F)F)�__name__�
__module__�__qualname__r�r
r#r,r r&r3r7r5r6r]r`r\rbrarnrR�staticmethodrFr.rDrrrrrs*




%$$=
r)�
__future__rrrr��clextselectr�cluserselectr�clselectexceptr�
clselectprintr	�utilsr
rrrrr�<module>s

Youez - 2016 - github.com/yon3zu
LinuXploit