3 @)fD@sddlmZddlZeejd<ddlZddlZddlZddlZddl m Z ddl m Z m Z mZddlmZddlmZddlmZmZmZdd l mZdd lmZGd d d ejjjZdS) )GObjectNZgobject)config)dbus_to_python%dbus_introspection_prepare_properties!dbus_introspection_add_properties)Helper)log)handle_exceptionsdbus_handle_exceptionsdbus_service_method)errors) FirewallErrorcseZdZdZdZejjZe fddZ e ddZ e ddZ e d d Zeejd d d e dTddZeejddd e dUddZejjjejjeejdde dVddZejjejddddZejjjejjeejdde dWfdd Zeejjejde dXd d!Z eejjejde dYd"d#Z!eejje dZd$d%Z"ejjejjdde d&d'Z#eejje d[d(d)Z$ejjejjdde d*d+Z%eejjdde d\d,d-Z&ejjejjdde d.d/Z'eejjdde d]d0d1Z(eejjdde d^d2d3Z)eejjdde d_d4d5Z*eejjdde d`d6d7Z+eejjdde dad8d9Z,eejjdde dbd:d;Z-eejjdde dcdd?Z/eejjdd@d e dedAdBZ0eejjdde dfdCdDZ1eejjdde dgdEdFZ2eejjdd@d e dhdGdHZ3eejjdIde didJdKZ4eejjdIde djdLdMZ5eejjd de dkdNdOZ6eejjd de dldPdQZ7eejjd d@d e dmdRdSZ8Z9S)nFirewallDConfigHelperzFirewallD main classTcs\tt|j||||_||_||_||_|d|_|d|_d|j|_ t |tj j dS)Nrzconfig.helper.%d) superr__init__parentrobjitem_idbusnamepath _log_prefixrdbusDBUS_INTERFACE_CONFIG_HELPER)selfrZconfhelperrargskwargs) __class__#/usr/lib/python3.6/config_helper.pyr8s   zFirewallDConfigHelper.__init__cCsdS)Nr)rrrr __del__EszFirewallDConfigHelper.__del__cCs |jdS)N)Zremove_from_connection)rrrr unregisterIsz FirewallDConfigHelper.unregistercCs|dkrtj|jjS|dkr,tj|jjS|dkrBtj|jjS|dkrXtj|jjS|dkrntj|jjStj j d|dS)NnamefilenamerdefaultbuiltinzDorg.freedesktop.DBus.Error.InvalidArgs: Property '%s' does not exist) rStringrr#r$rZBooleanr%r& exceptions DBusException)r property_namerrr _get_propertyQsz#FirewallDConfigHelper._get_propertyZssv) in_signature out_signatureNcCsLt|t}t|t}tjd|j|||tjjkrBtjj d||j |S)Nz%s.Get('%s', '%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not exist) rstrrdebug1rrrrr(r)r+)rinterface_namer*senderrrr Getbs    zFirewallDConfigHelper.Getsza{sv}cCsdt|t}tjd|j||tjjkr6tjj d|i}xd D]}|j |||<q@Wtj |dd S) Nz%s.GetAll('%s')zJorg.freedesktop.DBus.Error.UnknownInterface: Interface '%s' does not existr#r$rr%r&Zsv) signature)r#r$rr%r&) rr/rr0rrrrr(r)r+Z Dictionary)rr1r2retxrrr GetAllss   zFirewallDConfigHelper.GetAllZssv)r-cCslt|t}t|t}t|}tjd|j||||jj||tjj krXtj j d|tj j d|dS)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) rr/rr0rr accessCheckrrrr(r))rr1r*Z new_valuer2rrr Sets      zFirewallDConfigHelper.Setzsa{sv}as)r5cCs2t|t}t|}t|}tjd|j|||dS)Nz&%s.PropertiesChanged('%s', '%s', '%s'))rr/rr0r)rr1Zchanged_propertiesZinvalidated_propertiesrrr PropertiesChangeds   z'FirewallDConfigHelper.PropertiesChanged)r.cs8tjd|jtt|j|j|jj}t ||t j j S)Nz%s.Introspect()) rZdebug2rrr IntrospectrrZget_busrrrr)rr2data)rrr r<s  z FirewallDConfigHelper.IntrospectcCstjd|j|jj|jS)z get settings for helper z%s.getSettings())rr0rrZget_helper_configr)rr2rrr getSettingssz!FirewallDConfigHelper.getSettingscCsFt|}tjd|j|jj||jj|j||_|j |jj dS)z#update settings for helper z%s.update('...')N) rrr0rrr9rZset_helper_configrUpdatedr#)rsettingsr2rrr updates  zFirewallDConfigHelper.updatecCs<tjd|j|jj||jj|j|_|j|jj dS)z1load default settings for builtin helper z%s.loadDefaults()N) rr0rrr9rZload_helper_defaultsrr?r#)rr2rrr loadDefaultss z"FirewallDConfigHelper.loadDefaultscCstjd|j|fdS)Nz%s.Updated('%s'))rr0r)rr#rrr r?szFirewallDConfigHelper.UpdatedcCs:tjd|j|jj||jj|j|jj|jdS)zremove helper z%s.removeHelper()N) rr0rrr9rZ remove_helperrZ removeHelper)rr2rrr removes zFirewallDConfigHelper.removecCstjd|j|fdS)Nz%s.Removed('%s'))rr0r)rr#rrr RemovedszFirewallDConfigHelper.RemovedcCsFt|t}tjd|j||jj||jj|j ||_ |j |dS)zrename helper z%s.rename('%s')N) rr/rr0rrr9rZ rename_helperrRenamed)rr#r2rrr renames   zFirewallDConfigHelper.renamecCstjd|j|fdS)Nz%s.Renamed('%s'))rr0r)rr#rrr rEszFirewallDConfigHelper.RenamedcCstjd|j|jdS)Nz%s.getVersion()r)rr0rr>)rr2rrr getVersionsz FirewallDConfigHelper.getVersioncCsHt|t}tjd|j||jj|t|j}||d<|j |dS)Nz%s.setVersion('%s')r) rr/rr0rrr9listr>rA)rversionr2r@rrr setVersions    z FirewallDConfigHelper.setVersioncCstjd|j|jdS)Nz %s.getShort()r)rr0rr>)rr2rrr getShortszFirewallDConfigHelper.getShortcCsHt|t}tjd|j||jj|t|j}||d<|j |dS)Nz%s.setShort('%s')r) rr/rr0rrr9rHr>rA)rZshortr2r@rrr setShorts    zFirewallDConfigHelper.setShortcCstjd|j|jdS)Nz%s.getDescription())rr0rr>)rr2rrr getDescription$sz$FirewallDConfigHelper.getDescriptioncCsHt|t}tjd|j||jj|t|j}||d<|j |dS)Nz%s.setDescription('%s')rM) rr/rr0rrr9rHr>rA)r descriptionr2r@rrr setDescription+s    z$FirewallDConfigHelper.setDescriptioncCs.tjd|j|jj|t|j}|dS)Nz%s.getFamily())rr0rrr9rHr>)rr2r@rrr getFamily9s  zFirewallDConfigHelper.getFamilycCsdt|t}tjd|j||jj|t|j}|d|krNt t j d|||d<|j |dS)Nz%s.setFamily('%s')rQz'%s') rr/rr0rrr9rHr>r r ALREADY_ENABLEDrA)ripvr2r@rrr setFamilyBs    zFirewallDConfigHelper.setFamilybcCs.t|t}tjd|j||j}|d|kS)Nz%s.queryFamily('%s')rQ)rr/rr0rr>)rrTr2r@rrr queryFamilyOs z!FirewallDConfigHelper.queryFamilycCs.tjd|j|jj|t|j}|dS)Nz%s.getModule())rr0rrr9rHr>)rr2r@rrr getModuleZs  zFirewallDConfigHelper.getModulecCsdt|t}tjd|j||jj|t|j}|d|krNt t j d|||d<|j |dS)Nz%s.setModule('%s')rXz'%s') rr/rr0rrr9rHr>r r rSrA)rmoduler2r@rrr setModulecs    zFirewallDConfigHelper.setModulecCs.t|t}tjd|j||j}|d|kS)Nz%s.queryModule('%s')rX)rr/rr0rr>)rrZr2r@rrr queryModuleps z!FirewallDConfigHelper.queryModuleza(ss)cCstjd|j|jdS)Nz %s.getPorts())rr0rr>)rr2rrr getPorts{szFirewallDConfigHelper.getPortscCsg}x6t|tD](}t|tr.|jt|q|j|qW|}tjd|jdjdd|D|j j |t|j }||d<|j |dS)Nz%s.setPorts('[%s]'),css"|]}d|d|dfVqdS)z ('%s, '%s')rrNr).0portrrr sz1FirewallDConfigHelper.setPorts..r]) rrH isinstanceappendtuplerr0rjoinrr9r>rA)rZportsr2Z_portsrar@rrr setPortss    zFirewallDConfigHelper.setPortscCst|t}t|t}tjd|j|||jj|t|j}||f|dkrbt t j d||f|dj ||f|j |dS)Nz%s.addPort('%s', '%s')r]z%s:%s)rr/rr0rrr9rHr>r r rSrdrA)rraprotocolr2r@rrr addPorts     zFirewallDConfigHelper.addPortcCst|t}t|t}tjd|j|||jj|t|j}||f|dkrbt t j d||f|dj ||f|j |dS)Nz%s.removePort('%s', '%s')r]z%s:%s)rr/rr0rrr9rHr>r r Z NOT_ENABLEDrCrA)rrarhr2r@rrr removePorts     z FirewallDConfigHelper.removePortcCs:t|t}t|t}tjd|j||||f|jdkS)Nz%s.queryPort('%s', '%s')r])rr/rr0rr>)rrarhr2rrr queryPorts    zFirewallDConfigHelper.queryPort)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N)N):__name__ __module__ __qualname____doc__Z persistentrrZPK_ACTION_CONFIGZdefault_polkit_auth_requiredr rr r!r"r+r ZPROPERTIES_IFACEr3r8slipZpolkitZ require_authr:servicesignalr;ZPK_ACTION_INFOZINTROSPECTABLE_IFACEr<rrZDBUS_SIGNATUREr>rArBr?rCrDrFrErGrJrKrLrNrPrRrUrWrYr[r\r^rgrirjrk __classcell__rr)rr r0s                   r)Z gi.repositoryrsysmodulesrZ dbus.serviceZ slip.dbusrpZslip.dbus.serviceZfirewallrZfirewall.dbus_utilsrrrZfirewall.core.io.helperrZfirewall.core.loggerrZfirewall.server.decoratorsr r r r Zfirewall.errorsr rqZObjectrrrrr s