<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
YÉj-!  ã               @   s˜   d dl mZ d dlZeejd< d dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZmZmZ d dlmZ d dlmZmZmZ G dd	„ d	ejjjƒZdS )
é    )ÚGObjectNZgobject)Úconfig)Údbus_to_pythonÚ%dbus_introspection_prepare_propertiesÚ!dbus_introspection_add_properties)Úlog)Úhandle_exceptionsÚdbus_handle_exceptionsÚdbus_service_methodc                   sô  e Zd ZdZejjZe‡ fdd„ƒZ	e
dd„ ƒZe
dd„ ƒZe
dd	„ ƒZeejd
dde
d/dd„ƒƒZeejddde
d0dd„ƒƒZejjjejjƒeejdde
d1dd„ƒƒƒZejjejdddd„ ƒZejjjejjƒeejdde
d2‡ fdd„	ƒƒƒZeejjdde
d3dd „ƒƒZeejjdde
d4d!d"„ƒƒZeejjƒe
d5d#d$„ƒƒZejjejjdde
d%d&„ ƒƒZ eejjƒe
d6d'd(„ƒƒZ!ejjejjdde
d)d*„ ƒƒZ"eejjdde
d7d+d,„ƒƒZ#ejjejjdde
d-d.„ ƒƒZ$‡  Z%S )8ÚFirewallDConfigPolicyTc                s\   t t| ƒj||Ž || _|| _|| _|| _|d | _|d | _d| j | _	t
| tjjƒ d S )Nr   é   zconfig.policy.%d)Úsuperr   Ú__init__Úparentr   ÚobjÚitem_idÚbusnameÚpathÚ_log_prefixr   ÚdbusÚDBUS_INTERFACE_CONFIG_POLICY)Úselfr   ZconfZpolicyr   ÚargsÚkwargs)Ú	__class__© ú#/usr/lib/python3.6/config_policy.pyr      s    

zFirewallDConfigPolicy.__init__c             C   s   d S )Nr   )r   r   r   r   Ú__del__(   s    zFirewallDConfigPolicy.__del__c             C   s   | j ƒ  d S )N)Zremove_from_connection)r   r   r   r   Ú
unregister,   s    z FirewallDConfigPolicy.unregisterc             C   s‚   |dkrt j| jjƒS |dkr,t j| jjƒS |dkrBt j| jjƒS |dkrXt j| jjƒS |dkrnt j| jjƒS t j	j
d| ƒ‚d S )NÚnameÚfilenamer   ÚdefaultÚbuiltinzDorg.freedesktop.DBus.Error.InvalidArgs: Property '%s' does not exist)r   ÚStringr   r   r    r   ZBooleanr!   r"   Ú
exceptionsÚDBusException)r   Úproperty_namer   r   r   Ú_get_property4   s    z#FirewallDConfigPolicy._get_propertyZssÚv)Úin_signatureÚout_signatureNc             C   sL   t |tƒ}t |tƒ}tjd| j||ƒ |tjjkrBtjj	d| ƒ‚| j
|ƒS )Nz%s.Get('%s', '%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not exist)r   Ústrr   Údebug1r   r   r   r   r$   r%   r'   )r   Úinterface_namer&   Úsenderr   r   r   ÚGetE   s    


zFirewallDConfigPolicy.GetÚsza{sv}c             C   sd   t |tƒ}tjd| j|ƒ |tjjkr6tjj	d| ƒ‚i }xd
D ]}| j
|ƒ||< q@W tj|dd	S )Nz%s.GetAll('%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not existr   r    r   r!   r"   Zsv)Ú	signature)r   r    r   r!   r"   )r   r+   r   r,   r   r   r   r   r$   r%   r'   Z
Dictionary)r   r-   r.   ÚretÚxr   r   r   ÚGetAllV   s    

zFirewallDConfigPolicy.GetAllZssv)r)   c             C   sl   t |tƒ}t |tƒ}t |ƒ}tjd| j|||ƒ | jj|ƒ |tjj	krXtj
jd| ƒ‚tj
jd| ƒ‚d S )Nz%s.Set('%s', '%s', '%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not existzGorg.freedesktop.DBus.Error.PropertyReadOnly: Property '%s' is read-only)r   r+   r   r,   r   r   ÚaccessCheckr   r   r   r$   r%   )r   r-   r&   Z	new_valuer.   r   r   r   ÚSetg   s    



zFirewallDConfigPolicy.Setzsa{sv}as)r1   c             C   s2   t |tƒ}t |ƒ}t |ƒ}tjd| j|||ƒ d S )Nz&%s.PropertiesChanged('%s', '%s', '%s'))r   r+   r   r,   r   )r   r-   Zchanged_propertiesZinvalidated_propertiesr   r   r   ÚPropertiesChanged{   s
    

z'FirewallDConfigPolicy.PropertiesChanged)r*   c                s8   t jd| jƒ tt| ƒj| j| jjƒ ƒ}t	| |t
jjƒS )Nz%s.Introspect())r   Zdebug2r   r   r   Ú
Introspectr   r   Zget_busr   r   r   r   )r   r.   Údata)r   r   r   r8   „   s
    
z FirewallDConfigPolicy.Introspectc             C   s    t jd| jƒ | jj| jƒ}|S )z get settings for policy
        z%s.getSettings())r   r,   r   r   Zget_policy_object_config_dictr   )r   r.   Úsettingsr   r   r   ÚgetSettings’   s    z!FirewallDConfigPolicy.getSettingsc             C   sF   t |ƒ}tjd| jƒ | jj|ƒ | jj| j|ƒ| _| j	| jj
ƒ dS )z#update settings for policy
        z%s.update('...')N)r   r   r,   r   r   r5   r   Zset_policy_object_config_dictr   ÚUpdatedr   )r   r:   r.   r   r   r   Úupdateœ   s
    zFirewallDConfigPolicy.updatec             C   s<   t jd| jƒ | jj|ƒ | jj| jƒ| _| j| jj	ƒ dS )z1load default settings for builtin policy
        z%s.loadDefaults()N)
r   r,   r   r   r5   r   Zload_policy_object_defaultsr   r<   r   )r   r.   r   r   r   ÚloadDefaults¨   s    z"FirewallDConfigPolicy.loadDefaultsc             C   s   t jd| j|f ƒ d S )Nz%s.Updated('%s'))r   r,   r   )r   r   r   r   r   r<   ²   s    zFirewallDConfigPolicy.Updatedc             C   s:   t jd| jƒ | jj|ƒ | jj| jƒ | jj| jƒ dS )zremove policy
        z%s.removePolicy()N)	r   r,   r   r   r5   r   Zremove_policy_objectr   ZremovePolicy)r   r.   r   r   r   Úremove¹   s    zFirewallDConfigPolicy.removec             C   s   t jd| j|f ƒ d S )Nz%s.Removed('%s'))r   r,   r   )r   r   r   r   r   ÚRemovedÃ   s    zFirewallDConfigPolicy.Removedc             C   sF   t |tƒ}tjd| j|ƒ | jj|ƒ | jj| j	|ƒ| _	| j
|ƒ dS )zrename policy
        z%s.rename('%s')N)r   r+   r   r,   r   r   r5   r   Zrename_policy_objectr   ÚRenamed)r   r   r.   r   r   r   ÚrenameÊ   s
    
zFirewallDConfigPolicy.renamec             C   s   t jd| j|f ƒ d S )Nz%s.Renamed('%s'))r   r,   r   )r   r   r   r   r   rA   Ö   s    zFirewallDConfigPolicy.Renamed)N)N)N)N)N)N)N)N)N)&Ú__name__Ú
__module__Ú__qualname__Z
persistentr   r   ZPK_ACTION_CONFIGZdefault_polkit_auth_requiredr   r   r	   r   r   r'   r
   ZPROPERTIES_IFACEr/   r4   ÚslipZpolkitZrequire_authr6   ÚserviceÚsignalr7   ZPK_ACTION_INFOZINTROSPECTABLE_IFACEr8   r   r;   r=   r>   r<   r?   r@   rB   rA   Ú__classcell__r   r   )r   r   r      s^   		

	r   )Zgi.repositoryr   ÚsysÚmodulesr   Zdbus.serviceZ	slip.dbusrF   Zslip.dbus.serviceZfirewallr   Zfirewall.dbus_utilsr   r   r   Zfirewall.core.loggerr   Zfirewall.server.decoratorsr   r	   r
   rG   ZObjectr   r   r   r   r   Ú<module>   s   
