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_service.cpython-310.pyc
o

bhAb_u�@s�ddlZddlZddlmZddlmZmZmZddlm	Z	ddl
mZddlm
Z
mZmZmZddlmZddlmZGd	d
�d
e�ZdS)�N)�config)�dbus_to_python�%dbus_introspection_prepare_properties�!dbus_introspection_add_properties)�log)�DbusServiceObject)�handle_exceptions�dbus_handle_exceptions�dbus_service_method�dbus_polkit_require_auth)�errors)�
FirewallErrorcs�eZdZdZdZ	ejjZ	e	�fdd��Z
edd��Zedd��Z
ed	d
��Zeejddd
�ed�dd���Zeejddd
�ed�dd���Zeejj�eejdd�ed�dd����Zejjejdd�dd��Zeejj�eejdd�ed��fdd�	���Zeejjd d�ed�d!d"���Zeejjdd�ed�d#d$���Zeejjd d�ed�d%d&���Zeejjdd�ed�d'd(���Zeejj�ed�d)d*���Z ejjejjdd�ed+d,���Z!eejj�ed�d-d.���Z"ejjejjdd�ed/d0���Z#eejjdd�ed�d1d2���Z$ejjejjdd�ed3d4���Z%eejjdd�ed�d5d6���Z&eejjdd�ed�d7d8���Z'eejjdd�ed�d9d:���Z(eejjdd�ed�d;d<���Z)eejjdd�ed�d=d>���Z*eejjdd�ed�d?d@���Z+eejjdAd�ed�dBdC���Z,eejjdAd�ed�dDdE���Z-eejjdd�ed�dFdG���Z.eejjdd�ed�dHdI���Z/eejjddJd
�ed�dKdL���Z0eejjdMd�ed�dNdO���Z1eejjdMd�ed�dPdQ���Z2eejjdd�ed�dRdS���Z3eejjdd�ed�dTdU���Z4eejjddJd
�ed�dVdW���Z5eejjdAd�ed�dXdY���Z6eejjdAd�ed�dZd[���Z7eejjdd�ed�d\d]���Z8eejjdd�ed�d^d_���Z9eejjddJd
�ed�d`da���Z:eejjdMd�ed�dbdc���Z;eejjdMd�ed�ddde���Z<eejjdd�ed�dfdg���Z=eejjdd�ed�dhdi���Z>eejjddJd
�ed�djdk���Z?eejjdld�ed�dmdn���Z@eejjdld�ed�dodp���ZAeejjddd
�ed�dqdr���ZBeejjdd�ed�dsdt���ZCeejjdd�ed�dudv���ZDeejjddJd
�ed�dwdx���ZEeejjdMd�ed�dydz���ZFeejjdMd�ed�d{d|���ZGeejjdd�ed�d}d~���ZHeejjdd�ed�dd����ZIeejjddJd
�ed�d�d����ZJ�ZKS)��FirewallDConfigServicezFirewallD main classTcs`tt|�j|i|��||_||_||_||_|d|_|d|_d|j|_	t
|tjj�dS)Nr�zconfig.service.%d)
�superr�__init__�parentr�obj�item_id�busname�path�_log_prefixr�dbus�DBUS_INTERFACE_CONFIG_SERVICE)�selfr�conf�servicer�args�kwargs��	__class__��@/usr/lib/python3/dist-packages/firewall/server/config_service.pyr2s

�zFirewallDConfigService.__init__cCsdS�Nr!�rr!r!r"�__del__?szFirewallDConfigService.__del__cCs|��dSr#)�remove_from_connectionr$r!r!r"�
unregisterCsz!FirewallDConfigService.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*r+�
exceptions�
DBusException)r�
property_namer!r!r"�
_get_propertyKs��z$FirewallDConfigService._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�debug1rrrrr.r/r1)r�interface_namer0�senderr!r!r"�Get\s


���
zFirewallDConfigService.Get�sza{sv}cCs`t|t�}t�d|j|�|tjjkrtj�	d|��i}dD]	}|�
|�||<qtj|dd�S)Nz%s.GetAll('%s')r6)r(r)rr*r+�sv��	signature)rr7rr8rrrrr.r/r1�
Dictionary)rr9r:�ret�xr!r!r"�GetAllms
��zFirewallDConfigService.GetAll�ssv)r4cCsht|t�}t|t�}t|�}t�d|j|||�|j�|�|tjj	kr,tj
�d|��tj
�d|��)Nz%s.Set('%s', '%s', '%s')r6zGorg.freedesktop.DBus.Error.PropertyReadOnly: Property '%s' is read-only)rr7rr8rr�accessCheckrrrr.r/)rr9r0�	new_valuer:r!r!r"�Set~s$


�����zFirewallDConfigService.Setzsa{sv}asr>cCs2t|t�}t|�}t|�}t�d|j|||�dS)Nz&%s.PropertiesChanged('%s', '%s', '%s'))rr7rr8r)rr9�changed_properties�invalidated_propertiesr!r!r"�PropertiesChanged�s

�z(FirewallDConfigService.PropertiesChanged)r5cs8t�d|j�tt|��|j|j���}t	||t
jj�S)Nz%s.Introspect())
r�debug2rrr�
Introspectrr�get_busrrrr)rr:�datarr!r"rL�s
�
�z!FirewallDConfigService.Introspectz(sssa(ss)asa{ss}asa(ss))cC�t�d|j�|j�|j�S)�!get settings for service
        z%s.getSettings())rr8rr�get_service_configr�rr:r!r!r"�getSettings��z"FirewallDConfigService.getSettingscCrO)rPz%s.getSettings2())rr8rr�get_service_config_dictrrRr!r!r"�getSettings2�rTz#FirewallDConfigService.getSettings2cCsFt|�}t�d|j�|j�|�|j�|j|�|_|�	|jj
�dS)z$update settings for service
        z%s.update('...')N)rrr8rrrEr�set_service_configr�Updatedr(�r�settingsr:r!r!r"�update�s
zFirewallDConfigService.updatecCsFt|�}t�d|j�|j�|�|j�|j|�|_|�	|jj
�dS)Nz%s.update2('...'))rrr8rrrEr�set_service_config_dictrrXr(rYr!r!r"�update2�s
zFirewallDConfigService.update2cCs<t�d|j�|j�|�|j�|j�|_|�|jj	�dS)z2load default settings for builtin service
        z%s.loadDefaults()N)
rr8rrrEr�load_service_defaultsrrXr(rRr!r!r"�loadDefaults�sz#FirewallDConfigService.loadDefaultscC�t�d|j|f�dS)Nz%s.Updated('%s')�rr8r�rr(r!r!r"rX��zFirewallDConfigService.UpdatedcCs:t�d|j�|j�|�|j�|j�|j�|j�dS)zremove service
        z%s.removeService()N)	rr8rrrEr�remove_servicer�
removeServicerRr!r!r"�remove�szFirewallDConfigService.removecCr`)Nz%s.Removed('%s')rarbr!r!r"�Removed�rczFirewallDConfigService.RemovedcCsFt|t�}t�d|j|�|j�|�|j�|j	|�|_	|�
|�dS)zrename service
        z%s.rename('%s')N)rr7rr8rrrEr�rename_servicer�Renamed)rr(r:r!r!r"�rename�s

zFirewallDConfigService.renamecCr`)Nz%s.Renamed('%s')rarbr!r!r"rirczFirewallDConfigService.RenamedcC�t�d|j�|��dS)Nz%s.getVersion()r�rr8rrSrRr!r!r"�
getVersion	�z!FirewallDConfigService.getVersioncC�Ht|t�}t�d|j|�|j�|�t|���}||d<|�	|�dS)Nz%s.setVersion('%s')r�
rr7rr8rrrE�listrSr[)r�versionr:rZr!r!r"�
setVersion�
z!FirewallDConfigService.setVersioncCrk)Nz
%s.getShort()rrlrRr!r!r"�getShortrnzFirewallDConfigService.getShortcCro)Nz%s.setShort('%s')rrp)r�shortr:rZr!r!r"�setShort$rtzFirewallDConfigService.setShortcCrk)Nz%s.getDescription()�rlrRr!r!r"�getDescription1rnz%FirewallDConfigService.getDescriptioncCro)Nz%s.setDescription('%s')rxrp)r�descriptionr:rZr!r!r"�setDescription8s

�z%FirewallDConfigService.setDescriptionza(ss)cCrk)Nz
%s.getPorts()�rlrRr!r!r"�getPortsFrnzFirewallDConfigService.getPortscC�g}t|t�D]}t|t�r|�t|��q|�|�q|}t�d|jd�dd�|D���|j	�
|�t|���}||d<|�|�dS)Nz%s.setPorts('[%s]')�,cs�$�|]
}d|d|dfVqdS�z('%s, '%s')rrNr!��.0�portr!r!r"�	<genexpr>Z��"z2FirewallDConfigService.setPorts.<locals>.<genexpr>r|�
rrq�
isinstance�append�tuplerr8r�joinrrErSr[�r�portsr:�_portsr�rZr!r!r"�setPortsM�

�zFirewallDConfigService.setPortscC�t|t�}t|t�}t�d|j||�|j�|�t|���}||f|dvr1t	t
jd||f��|d�||f�|�
|�dS)Nz%s.addPort('%s', '%s')r|�%s:%s�rr7rr8rrrErqrSr
r�ALREADY_ENABLEDr�r[�rr��protocolr:rZr!r!r"�addPort`�

�
�zFirewallDConfigService.addPortcC�t|t�}t|t�}t�d|j||�|j�|�t|���}||f|dvr1t	t
jd||f��|d�||f�|�
|�dS)Nz%s.removePort('%s', '%s')r|r��rr7rr8rrrErqrSr
r�NOT_ENABLEDrfr[r�r!r!r"�
removePortp�

�z!FirewallDConfigService.removePort�bcC�:t|t�}t|t�}t�d|j||�||f|��dvS)Nz%s.queryPort('%s', '%s')r|�rr7rr8rrS�rr�r�r:r!r!r"�	queryPort�

�z FirewallDConfigService.queryPort�ascCrk)Nz%s.getProtocols()�rlrRr!r!r"�getProtocols�rnz#FirewallDConfigService.getProtocolscCsNt|t�}t�d|jd�|��|j�|�t|���}||d<|�	|�dS)Nz%s.setProtocols('[%s]')rr�)
rrqrr8rr�rrErSr[)r�	protocolsr:rZr!r!r"�setProtocols�s

�z#FirewallDConfigService.setProtocolscCsft|t�}t�d|j|�|j�|�t|���}||dvr%t	t
j|��|d�|�|�
|�dS)Nz%s.addProtocol('%s')r�r��rr�r:rZr!r!r"�addProtocol��
z"FirewallDConfigService.addProtocolcCsft|t�}t�d|j|�|j�|�t|���}||dvr%t	t
j|��|d�|�|�
|�dS)Nz%s.removeProtocol('%s')r�r�r�r!r!r"�removeProtocol�r�z%FirewallDConfigService.removeProtocolcCs*t|t�}t�d|j|�||��dvS)Nz%s.queryProtocol(%s')r�r�)rr�r:r!r!r"�
queryProtocol�s
z$FirewallDConfigService.queryProtocolcCrk)Nz%s.getSourcePorts()�rlrRr!r!r"�getSourcePorts�rnz%FirewallDConfigService.getSourcePortscCr~)Nz%s.setSourcePorts('[%s]')rcsr�r�r!r�r!r!r"r��r�z8FirewallDConfigService.setSourcePorts.<locals>.<genexpr>r�r�r�r!r!r"�setSourcePorts�r�z%FirewallDConfigService.setSourcePortscCr�)Nz%s.addSourcePort('%s', '%s')r�r�r�r�r!r!r"�
addSourcePort�r�z$FirewallDConfigService.addSourcePortcCr�)Nz%s.removeSourcePort('%s', '%s')r�r�r�r�r!r!r"�removeSourcePort�r�z'FirewallDConfigService.removeSourcePortcCr�)Nz%s.querySourcePort('%s', '%s')r�r�r�r!r!r"�querySourcePort�r�z&FirewallDConfigService.querySourcePortcCrk)Nz%s.getModules()�rlrRr!r!r"�
getModulesrnz!FirewallDConfigService.getModulescCs�t|t�}g}|D]}|�d�r |�dd�}d|vr |�dd�}|�|�q	|}t�d|jd�|��|j	�
|�t|���}||d<|�|�dS)N�
nf_conntrack_��_�-z%s.setModules('[%s]')rr�)
rrq�
startswith�replacer�rr8rr�rrErSr[)r�modulesr:�_modules�modulerZr!r!r"�
setModuless 


�z!FirewallDConfigService.setModulescCs�t|t�}|�d�r|�dd�}d|vr|�dd�}t�d|j|�|j�|�t	|�
��}||dvr:ttj
|��|d�|�|�|�dS)Nr�r�r�r�z%s.addModule('%s')r�)rr7r�r�rr8rrrErqrSr
rr�r�r[�rr�r:rZr!r!r"�	addModule"�

z FirewallDConfigService.addModulecCs�t|t�}|�d�r|�dd�}d|vr|�dd�}t�d|j|�|j�|�t	|�
��}||dvr:ttj
|��|d�|�|�|�dS)Nr�r�r�r�z%s.removeModule('%s')r�)rr7r�r�rr8rrrErqrSr
rr�rfr[r�r!r!r"�removeModule3r�z#FirewallDConfigService.removeModulecCsTt|t�}|�d�r|�dd�}d|vr|�dd�}t�d|j|�||��dvS)Nr�r�r�r�z%s.queryModule('%s')r�)rr7r�r�rr8rrS)rr�r:r!r!r"�queryModuleDs

z"FirewallDConfigService.queryModuleza{ss}cCrk)Nz%s.getDestinations()�rlrRr!r!r"�getDestinationsRrnz&FirewallDConfigService.getDestinationscCsVt|t�}t�d|j|�d�|�d��|j�|�t|�	��}||d<|�
|�dS)Nz*%s.setDestinations({ipv4:'%s', ipv6:'%s'})�ipv4�ipv6r�)r�dictrr8r�getrrErqrSr[)r�destinationsr:rZr!r!r"�setDestinationsYs
�z&FirewallDConfigService.setDestinationscCsVt|t�}t�d|j|�|j�|�t|���}||dvr%t	t
j|��|d|S)Nz%s.getDestination('%s')r�)rr7rr8rrrErqrSr
rr��r�familyr:rZr!r!r"�getDestinationfs

�z%FirewallDConfigService.getDestinationcCs�t|t�}t|t�}t�d|j||�|j�|�t|���}||dvr7|d||kr7t	t
jd||f��||d|<|�|�dS)Nz%s.setDestination('%s', '%s')r�z
'%s': '%s')
rr7rr8rrrErqrSr
rr�r[�rr��addressr:rZr!r!r"�setDestinationss


�
�z%FirewallDConfigService.setDestinationcCsbt|t�}t�d|j|�|j�|�t|���}||dvr%t	t
j|��|d|=|�|�dS)Nz%s.removeDestination('%s')r�)
rr7rr8rrrErqrSr
rr�r[r�r!r!r"�removeDestination�s

�
z(FirewallDConfigService.removeDestinationcCsJt|t�}t|t�}t�d|j||�|��}||dvo$||d|kS)Nz%s.queryDestination('%s', '%s')r�r�r�r!r!r"�queryDestination�s


��z'FirewallDConfigService.queryDestinationcCs<t�d|j�|j�|�|j�|j�}d|vr|dSgS)Nz%s.getIncludes()�includes)rr8rrrErrUr)rr:rZr!r!r"�getIncludes�sz"FirewallDConfigService.getIncludescCsZt|t�}t�d|j|�|j�|�d|dd�i}|j�|j	|�|_	|�
|j	j�dS)Nz%s.setIncludes('%s')r�)rrqrr8rrrErr\rrXr()rr�r:rZr!r!r"�setIncludes�s
z"FirewallDConfigService.setIncludescCsjt|t�}t�d|j|�|j�|�|j�|j	�}|�
dg��|�|j�|j	|�|_	|�
|j	j�dS)Nz%s.addInclude('%s')r�)rr7rr8rrrErrUr�
setdefaultr�r\rXr(�r�includer:rZr!r!r"�
addInclude�s
z!FirewallDConfigService.addIncludecCsft|t�}t�d|j|�|j�|�|j�|j	�}|d�
|�|j�|j	|�|_	|�|j	j
�dS)Nz%s.removeInclude('%s')r�)rr7rr8rrrErrUrrfr\rXr(r�r!r!r"�
removeInclude�s
z$FirewallDConfigService.removeIncludecCs@t|t�}t�d|j|�|j�|j�}d|vr||dvSdS)Nz%s.queryInclude('%s')r�F)rr7rr8rrrUrr�r!r!r"�queryInclude�s
z#FirewallDConfigService.queryIncluder#)L�__name__�
__module__�__qualname__�__doc__�
persistentrr�PK_ACTION_CONFIG�default_polkit_auth_requiredrrr	r%r'r1r
�PROPERTIES_IFACEr;rCrrGr�signalrJ�PK_ACTION_INFO�INTROSPECTABLE_IFACErLrrSrVr[r]r_rXrfrgrjrirmrsrurwryr{r}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__r!r!rr"r*s


��


���	�
�
��	���
��
�����
��	��	�
�
����
��	�������
�
�
�����	�	�r)r�dbus.service�firewallr�firewall.dbus_utilsrrr�firewall.core.loggerr�firewall.server.dbusr�firewall.server.decoratorsrr	r
rr�firewall.errorsr
rr!r!r!r"�<module>s