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: //lib/python3/dist-packages/firewall/server/__pycache__/config_ipset.cpython-310.pyc
o

bhAbI�@s�ddlZddlZddlmZddlmZmZmZddlm	Z	ddl
mZmZm
Z
mZddlmZddlmZddlmZmZmZmZdd	lmZdd
lmZGdd�de�ZdS)
�N)�config)�dbus_to_python�%dbus_introspection_prepare_properties�!dbus_introspection_add_properties)�IPSet)�IPSET_TYPES�normalize_ipset_entry�check_entry_overlaps_existing�check_for_overlapping_entries)�log)�DbusServiceObject)�handle_exceptions�dbus_handle_exceptions�dbus_service_method�dbus_polkit_require_auth)�errors)�
FirewallErrorcseZdZdZdZ	ejjZ	e	�fdd��Z
edd��Zedd��Z
ed	d
��Zeejddd
�edWdd���Zeejddd
�edWdd���Zeejj�eejdd�edWdd����Zejjejdd�dd��Zeejj�eejdd�edW�fdd�	���Zeejjejd�edWd d!���Zeejjejd�edWd"d#���Zeejj�edWd$d%���Z ejjejjdd�ed&d'���Z!eejj�edWd(d)���Z"ejjejjdd�ed*d+���Z#eejjdd�edWd,d-���Z$ejjejjdd�ed.d/���Z%eejjdd�edWd0d1���Z&eejjdd�edWd2d3���Z'eejjdd�edWd4d5���Z(eejjdd�edWd6d7���Z)eejjdd�edWd8d9���Z*eejjdd�edWd:d;���Z+eejjdd�edWd<d=���Z,eejjdd�edWd>d?���Z-eejjd@d�edWdAdB���Z.eejjd@d�edWdCdD���Z/eejjdd�edWdEdF���Z0eejjdd�edWdGdH���Z1eejjddId
�edWdJdK���Z2eejjdLd�edWdMdN���Z3eejjdLd�edWdOdP���Z4eejjdd�edWdQdR���Z5eejjdd�edWdSdT���Z6eejjddId
�edWdUdV���Z7�Z8S)X�FirewallDConfigIPSetzFirewallD main classTcs`tt|�j|i|��||_||_||_||_|d|_|d|_d|j|_	t
|tjj�dS)Nr�zconfig.ipset.%d)
�superr�__init__�parentr�obj�item_id�busname�path�_log_prefixr�dbus�DBUS_INTERFACE_CONFIG_IPSET)�selfr�conf�ipsetr�args�kwargs��	__class__��>/usr/lib/python3/dist-packages/firewall/server/config_ipset.pyr6s

�zFirewallDConfigIPSet.__init__cCsdS�Nr&�rr&r&r'�__del__CszFirewallDConfigIPSet.__del__cCs|��dSr()�remove_from_connectionr)r&r&r'�
unregisterGszFirewallDConfigIPSet.unregistercCs~|dkrt�|jj�S|dkrt�|jj�S|dkr!t�|jj�S|dkr,t�|jj�S|dkr7t�|jj�Stj	�
d|��)N�name�filenamer�default�builtinzDorg.freedesktop.DBus.Error.InvalidArgs: Property '%s' does not exist)r�Stringrr-r.r�Booleanr/r0�
exceptions�
DBusException)r�
property_namer&r&r'�
_get_propertyOs��z"FirewallDConfigIPSet._get_property�ss�v)�in_signature�
out_signatureNcCsLt|t�}t|t�}t�d|j||�|tjjkr!tj�	d|��|�
|�S)Nz%s.Get('%s', '%s')�Jorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not exist)r�strr�debug1rrrrr3r4r6)r�interface_namer5�senderr&r&r'�Get`s


���
zFirewallDConfigIPSet.Get�sza{sv}cCs`t|t�}t�d|j|�|tjjkrtj�	d|��i}dD]	}|�
|�||<qtj|dd�S)Nz%s.GetAll('%s')r;)r-r.rr/r0�sv��	signature)rr<rr=rrrrr3r4r6�
Dictionary)rr>r?�ret�xr&r&r'�GetAllqs
��zFirewallDConfigIPSet.GetAll�ssv)r9cCsht|t�}t|t�}t|�}t�d|j|||�|j�|�|tjj	kr,tj
�d|��tj
�d|��)Nz%s.Set('%s', '%s', '%s')r;zGorg.freedesktop.DBus.Error.PropertyReadOnly: Property '%s' is read-only)rr<rr=rr�accessCheckrrrr3r4)rr>r5�	new_valuer?r&r&r'�Set�s$


�����zFirewallDConfigIPSet.Setzsa{sv}asrCcCs2t|t�}t|�}t|�}t�d|j|||�dS)Nz&%s.PropertiesChanged('%s', '%s', '%s'))rr<rr=r)rr>�changed_properties�invalidated_propertiesr&r&r'�PropertiesChanged�s

�z&FirewallDConfigIPSet.PropertiesChanged)r:cs8t�d|j�tt|��|j|j���}t	||t
jj�S)Nz%s.Introspect())
r�debug2rrr�
Introspectrr�get_busrrrr)rr?�datar$r&r'rQ�s
�
�zFirewallDConfigIPSet.IntrospectcCst�d|j�|j�|j�S)zget settings for ipset
        z%s.getSettings())rr=rr�get_ipset_configr�rr?r&r&r'�getSettings�sz FirewallDConfigIPSet.getSettingscCsFt|�}t�d|j�|j�|�|j�|j|�|_|�	|jj
�dS)z"update settings for ipset
        z%s.update('...')N)rrr=rrrJr�set_ipset_configr�Updatedr-)r�settingsr?r&r&r'�update�s
zFirewallDConfigIPSet.updatecCs<t�d|j�|j�|�|j�|j�|_|�|jj	�dS)z0load default settings for builtin ipset
        z%s.loadDefaults()N)
rr=rrrJr�load_ipset_defaultsrrXr-rUr&r&r'�loadDefaults�sz!FirewallDConfigIPSet.loadDefaultscC�t�d|j|f�dS)Nz%s.Updated('%s')�rr=r�rr-r&r&r'rX��zFirewallDConfigIPSet.UpdatedcCs:t�d|j�|j�|�|j�|j�|j�|j�dS)zremove ipset
        z%s.remove()N)	rr=rrrJr�remove_ipsetr�removeIPSetrUr&r&r'�remove�szFirewallDConfigIPSet.removecCr])Nz%s.Removed('%s')r^r_r&r&r'�Removed�r`zFirewallDConfigIPSet.RemovedcCsFt|t�}t�d|j|�|j�|�|j�|j	|�|_	|�
|�dS)zrename ipset
        z%s.rename('%s')N)rr<rr=rrrJr�rename_ipsetr�Renamed)rr-r?r&r&r'�rename�s

zFirewallDConfigIPSet.renamecCr])Nz%s.Renamed('%s')r^r_r&r&r'rf�r`zFirewallDConfigIPSet.RenamedcC�t�d|j�|��dS)Nz%s.getVersion()r�rr=rrVrUr&r&r'�
getVersion��zFirewallDConfigIPSet.getVersioncC�Ht|t�}t�d|j|�|j�|�t|���}||d<|�	|�dS)Nz%s.setVersion('%s')r�
rr<rr=rrrJ�listrVrZ)r�versionr?rYr&r&r'�
setVersion�
zFirewallDConfigIPSet.setVersioncCrh)Nz
%s.getShort()rrirUr&r&r'�getShortrkzFirewallDConfigIPSet.getShortcCrl)Nz%s.setShort('%s')rrm)r�shortr?rYr&r&r'�setShortrqzFirewallDConfigIPSet.setShortcCrh)Nz%s.getDescription()�rirUr&r&r'�getDescription#rkz#FirewallDConfigIPSet.getDescriptioncCrl)Nz%s.setDescription('%s')rurm)r�descriptionr?rYr&r&r'�setDescription*s

�z#FirewallDConfigIPSet.setDescriptioncCrh)Nz%s.getType()�rirUr&r&r'�getType8rkzFirewallDConfigIPSet.getTypecCs\t|t�}t�d|j|�|j�|�|tvrtt	j
|��t|���}||d<|�
|�dS)Nz%s.setType('%s')ry)rr<rr=rrrJrrr�INVALID_TYPErnrVrZ)r�
ipset_typer?rYr&r&r'�setType?s
zFirewallDConfigIPSet.setTypeza{ss}cCrh)Nz%s.getOptions()�rirUr&r&r'�
getOptionsNrkzFirewallDConfigIPSet.getOptionscCsLt|t�}t�d|jt|��|j�|�t|�	��}||d<|�
|�dS)Nz%s.setOptions('[%s]')r~)r�dictrr=r�reprrrJrnrVrZ)r�optionsr?rYr&r&r'�
setOptionsUs

�zFirewallDConfigIPSet.setOptionscCs�t|t�}t|t�}t�d|j||�|j�|�t|���}||dvr7|d||kr7t	t
jd||f��||d|<|�|�dS)Nz%s.addOption('%s', '%s')r~z
'%s': '%s')
rr<rr=rrrJrnrVrr�ALREADY_ENABLEDrZ�r�key�valuer?rYr&r&r'�	addOptionas


�zFirewallDConfigIPSet.addOptioncCsbt|t�}t�d|j|�|j�|�t|���}||dvr%t	t
j|��|d|=|�|�dS)Nz%s.removeOption('%s')r~)
rr<rr=rrrJrnrVrr�NOT_ENABLEDrZ)rr�r?rYr&r&r'�removeOptionps

z!FirewallDConfigIPSet.removeOption�bcCsNt|t�}t|t�}t�d|j||�t|���}||dvo&|d||kS)Nz%s.queryOption('%s', '%s')r~)rr<rr=rrnrVr�r&r&r'�queryOption}s

�z FirewallDConfigIPSet.queryOption�ascCrh)Nz%s.getEntries()�rirUr&r&r'�
getEntries�rkzFirewallDConfigIPSet.getEntriescCs|t|t�}t|�t�d|jd�|��|j�|�t|�	��}d|dvr3|dddkr3t
tj��||d<|�
|�dS)Nz%s.setEntries('[%s]')�,�timeoutr~�0r�)rrnr
rr=r�joinrrJrVrr�IPSET_WITH_TIMEOUTrZ)r�entriesr?rYr&r&r'�
setEntries�s

�
zFirewallDConfigIPSet.setEntriescCs�t|t�}t|�}t�d|j|�|j�|�t|�	��}d|dvr0|dddkr0t
tj��||dvr<t
tj
|��t||d�|d�|�|�|�dS)Nz%s.addEntry('%s')r�r~r�r�)rr<rrr=rrrJrnrVrrr�r�r	�appendrZ�r�entryr?rYr&r&r'�addEntry�s

zFirewallDConfigIPSet.addEntrycCs�t|t�}t|�}t�d|j|�|j�|�t|�	��}d|dvr0|dddkr0t
tj��||dvr<t
tj
|��|d�|�|�|�dS)Nz%s.removeEntry('%s')r�r~r�r�)rr<rrr=rrrJrnrVrrr�r�rcrZr�r&r&r'�removeEntry�s

z FirewallDConfigIPSet.removeEntrycCs`t|t�}t|�}t�d|j|�t|���}d|dvr*|dddkr*tt	j
��||dvS)Nz%s.queryEntry('%s')r�r~r�r�)rr<rrr=rrnrVrrr�r�r&r&r'�
queryEntry�s

zFirewallDConfigIPSet.queryEntryr()9�__name__�
__module__�__qualname__�__doc__�
persistentrr�PK_ACTION_CONFIG�default_polkit_auth_requiredr
rrr*r,r6r�PROPERTIES_IFACEr@rHrrL�service�signalrO�PK_ACTION_INFO�INTROSPECTABLE_IFACErQrr�DBUS_SIGNATURErVrZr\rXrcrdrgrfrjrprrrtrvrxrzr}rr�r�r�r�r�r�r�r�r��
__classcell__r&r&r$r'r.s6


��


��
	

���
��
������	��
�
����
�r)r�dbus.service�firewallr�firewall.dbus_utilsrrr�firewall.core.io.ipsetr�firewall.core.ipsetrrr	r
�firewall.core.loggerr�firewall.server.dbusr�firewall.server.decoratorsr
rrrr�firewall.errorsrrr&r&r&r'�<module>s