HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //proc/self/root/lib/python3/dist-packages/firewall/core/__pycache__/modules.cpython-310.pyc
o

bhAb��@sBdZdgZddlmZddlmZddlmZGdd�de�Z	dS)zmodules backend�modules�)�runProg)�log)�COMMANDSc@sLeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dS)rcCstd|_td|_dS)N�modprobe�rmmod)r�
_load_command�_unload_command��self�r�7/usr/lib/python3/dist-packages/firewall/core/modules.py�__init__s
zmodules.__init__cCs
d|jS)Nz%s)�	__class__r
rrr
�__repr__$s
zmodules.__repr__cCs�g}i}tdd��I}|D]1}|sn6|��}|��}|�|d�|ddkr7|d�d�dd�||d<qg||d<qWd�||fSWd�||fS1sUwY||fS)	z6 get all loaded kernel modules and their dependencies z
/proc/modules�rr��-�,N���)�open�strip�split�append)r�mods�deps�f�line�splitsrrr
�loaded_modules's( �
��
��zmodules.loaded_modulescC�"t�d|j|j|�t|j|g�S�Nz	%s: %s %s)r�debug2rrr�r�modulerrr
�load_module9�zmodules.load_modulecCr r!)rr"rr	rr#rrr
�
unload_module=r&zmodules.unload_modulecCsT||vrdS||D]}|�|||�||vr|�|�q
||vr(|�|�dSdS)z  get all dependants of a module N)�get_depsr)rr$r�ret�modrrr
r(As
��zmodules.get_depscCs�g}|��\}}|�d||�dD]}||vr"|�|�|�d|�q|D]+}|dvsI|�d�sI|�d�sI|�d�sI|�d�sI|�d	�sI|�d
�rP|�|||�q%|S)z) get all loaded firewall-related modules �nf_conntrack)�nf_conntrack_ipv4�nf_conntrack_ipv6r)�	ip_tables�
ip6_tables�ebtables�iptable_�	ip6table_�nf_�xt_�ipt_�ip6t_)rr(�remove�insert�
startswith)rr�mods2r�bad_bad_moduler*rrr
�get_firewall_modulesLs2
��������zmodules.get_firewall_modulescCs:|��D]}|�|�\}}|dkrt�d||f�qdS)z% unload all firewall-related modules rz Failed to unload module '%s': %sN)r<r'r�debug1)rr$�statusr)rrr
�unload_firewall_modulesas��zmodules.unload_firewall_modulesN)�__name__�
__module__�__qualname__rrrr%r'r(r<r?rrrr
rsN)
�__doc__�__all__�firewall.core.progr�firewall.core.loggerr�firewall.configr�objectrrrrr
�<module>s