/usr/lib/python3.9/site-packages/firewall/server/__pycache__
Edit: /usr/lib/python3.9/site-packages/firewall/server/__pycache__/config.cpython-39.pyc (44954B)
a
F‡©jt ã @ sL d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl m
Z
d dlmZ d dl
mZmZmZmZmZmZ d dlmZ d d lmZ d d
lmZ d dlmZ d dlmZ d d
lmZ d dl m!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z) d dl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2 d dlm3Z3 d dl4m5Z5 G dd„ deƒZ6dS )é N)Úconfig)ÚDEFAULT_ZONE_TARGET)ÚWatcher)Úlog)ÚDbusServiceObject)Úhandle_exceptionsÚdbus_handle_exceptionsÚdbus_service_methodÚdbus_service_method_deprecatedÚdbus_service_signal_deprecatedÚdbus_polkit_require_auth)ÚFirewallDConfigIcmpType)ÚFirewallDConfigService)ÚFirewallDConfigZone)ÚFirewallDConfigPolicy)ÚFirewallDConfigIPSet)ÚFirewallDConfigHelper)ÚIcmpType)ÚIPSet)ÚHelper)ÚLockdownWhitelist)ÚDirect)Údbus_to_pythonÚcommand_of_senderÚcontext_of_senderÚ
uid_of_senderÚuser_of_uidÚ%dbus_introspection_prepare_propertiesÚ!dbus_introspection_add_propertiesÚ!dbus_introspection_add_deprecated)Úerrors)Ú
FirewallErrorc s e Zd ZdZdZejjZe ‡ fdd„ƒZ
e dd„ ƒZe dd„ ƒZe d d
„ ƒZ
e dd„ ƒZe d
d„ ƒZe dd„ ƒZe dd„ ƒZe dd„ ƒZe dd„ ƒZe dd„ ƒZe dd„ ƒZe dd„ ƒZe dd„ ƒZe dd „ ƒZe d!d"„ ƒZe d#d$„ ƒZe d%d&„ ƒZe d'd(„ ƒZe d)d*„ ƒZe d+d,„ ƒZe d-d.„ ƒZe d/d0„ ƒZ e!d1d2„ ƒZ"e!d3d4„ ƒZ#e!d5d6„ ƒZ$e%ej&d7d8d9�e!dîd;d<„ƒƒZ'e%ej&d=d>d9�e!dïd?d@„ƒƒZ(e)ejjƒe%ej&dAdB�e!dðdCdD„ƒƒƒZ*ej+j,ej&dEdF�dGdH„ ƒZ-e)ejj.ƒe%ej/d=dI�e!dñ‡ fdJdK„ ƒƒƒZ0e%ejj1e2j3dI�e!dòdLdM„ƒƒZ4e%ejj1e2j3dB�e!dódNdO„ƒƒZ5ej+ ,ejj1¡e!dPdQ„ ƒƒZ6e%ejj1d=dB�e!dôdRdS„ƒƒZ7e%ejj1d=dB�e!dõdTdU„ƒƒZ8e%ejj1d=dVd9�e!dödWdX„ƒƒZ9e%ejj1dYdI�e!d÷dZd[„ƒƒZ:e%ejj1d=dB�e!død\d]„ƒƒZ;e%ejj1d=dB�e!dùd^d_„ƒƒZ
e%ejj1d=dB�e!düddde„ƒƒZ?e%ejj1d=dB�e!dýdfdg„ƒƒZ@e%ejj1d=dVd9�e!dþdhdi„ƒƒZAe%ejj1dYdI�e!dÿdjdk„ƒƒZBe%ejj1dldB�e!�d dmdn„ƒƒZCe%ejj1dldB�e!�ddodp„ƒƒZDe%ejj1dldVd9�e!�ddqdr„ƒƒZEe%ejj1dsdI�e!�ddtdu„ƒƒZFe%ejjGdvdI�e!�ddwdx„ƒƒZHe%ejjGdYdI�e!�ddydz„ƒƒZIe%ejjGd=d{d9�e!�dd|d}„ƒƒZJe%ejjGd=eKj3 d{d9�e!�dd~d„ƒƒZLej+j,ejjGd=dF�e!d€d�„ ƒƒZMe%ejjGdvdI�e!�dd‚dƒ„ƒƒZNe%ejjGdYdI�e!�d d„d…„ƒƒZOe%ejjGd=d{d9�e!�d
d†d‡„ƒƒZPe%ejjGd=eQj3 d{d9�e!�ddˆd‰„ƒƒZRej+j,ejjGd=dF�e!dŠd‹„ ƒƒZSe%ejjGdvdI�e!�ddŒd�„ƒƒZTe%ejjGdYdI�e!�d
dŽd�„ƒƒZUe%ejjGd=d{d9�e!�dd�d‘„ƒƒZVe%ejjGd’d{d9�e!�dd“d”„ƒƒZWe%ejjGd•d{d9�e!�dd–d—„ƒƒZXej+j,ejjGd=dF�e!d˜d™„ ƒƒZYe%ejjGdvdI�e!�ddšd›„ƒƒZZe%ejjGdYdI�e!�ddœd�„ƒƒZ[e%ejjGd=d{d9�e!�ddždŸ„ƒƒZ\e%ejjGd=d=d9�e!�dd d¡„ƒƒZ]e%ejjGd=d=d9�e!�dd¢d£„ƒƒZ^e%ejjGd¤d{d9�e!�dd¥d¦„ƒƒZ_e%ejjGd•d{d9�e!�dd§d¨„ƒƒZ`ej+j,ejjGd=dF�e!d©dª„ ƒƒZae%ejjGdvdI�e!�dd«d¬„ƒƒZbe%ejjGdYdI�e!�ddd®„ƒƒZce%ejjGd=d{d9�e!�dd¯d°„ƒƒZde%ejjGd•d{d9�e!�dd±d²„ƒƒZeej+j,ejjGd=dF�e!d³d´„ ƒƒZfe%ejjGdvdI�e!�ddµd¶„ƒƒZge%ejjGdYdI�e!�dd·d¸„ƒƒZhe%ejjGd=d{d9�e!�dd¹dº„ƒƒZie%ejjGd=ejj3 d{d9�e!�dd»d¼„ƒƒZkej+j,ejjGd=dF�e!d½d¾„ ƒƒZlemejjnƒe%ejjneoj3dI�e!�d d¿dÀ„ƒƒƒZpemejjnƒe%ejjneoj3dB�e!�d!dÁd„ƒƒƒZqerejjnƒej+ ,ejjn¡e!dÃdÄ„ ƒƒƒZsemejjnƒe%ejjndÅdB�e!�d"dÆdÇ„ƒƒƒZtemejjnƒe%ejjndÅdB�e!�d#dÈdÉ„ƒƒƒZuemejjnƒe%ejjndÅdVd9�e!�d$dÊdË„ƒƒƒZvemejjnƒe%ejjnd7dYd9�e!�d%dÌdÍ„ƒƒƒZwemejjnƒe%ejjndÎdÏd9�e!�d&dÐdÑ„ƒƒƒZxemejjnƒe%ejjndÒdB�e!�d'dÓdÔ„ƒƒƒZyemejjnƒe%ejjndÒdB�e!�d(dÕdÖ„ƒƒƒZzemejjnƒe%ejjndÒdVd9�e!�d)d×dØ„ƒƒƒZ{emejjnƒe%ejjndÅdB�e!�d*dÙdÚ„ƒƒƒZ|emejjnƒe%ejjndÅdÛd9�e!�d+dÜdÝ„ƒƒƒZ}emejjnƒe%ejjndÎdÞd9�e!�d,dßdà„ƒƒƒZ~emejjnƒe%ejjndádB�e!�d-dâd㄃ƒƒZemejjnƒe%ejjndádB�e!�d.däd儃ƒƒZ€emejjnƒe%ejjndádVd9�e!�d/dæd焃ƒƒZ�emejjnƒe%ejjnd=dèd9�e!�d0dédꄃƒƒZ‚emejjnƒe%ejjndëdI�e!�d1dìd턃ƒƒZƒ‡ Z„S (2 ÚFirewallDConfigzFirewallD main classTc sš t t| ƒj|i |¤Ž || _|d | _|d | _| ¡ t| jdƒ| _ | j
tj¡ | j
tj¡ | j
tj
¡ | j
tj¡ | j
tj¡ | j
tj¡ | j
tj¡ | j
tj¡ | j
tj¡ | j
tj¡ | j
tj¡ | j
tj¡ tj tj¡�r>tt tj¡ƒD ].}dtj|f }tj |¡�r| j
|¡ �q| j tj¡ | j tj¡ | j tj¡ t | tj!j"dddddddddddddddœƒ d S )Nr é é z%s/%sZ readwrite)Ú
CleanupOnExitÚCleanupModulesOnExitÚ
IPv6_rpfilterÚIPv6_rpfilter2ÚLockdownÚMinimalMarkÚIndividualCallsÚ LogDeniedÚAutomaticHelpersÚFirewallBackendÚFlushAllOnReloadÚRFC3964_IPv4ÚAllowZoneDriftingÚNftablesTableOwner)#Úsuperr" Ú__init__r ÚbusnameÚpathÚ
_init_varsr Ú
watch_updaterÚwatcherÚ
add_watch_dirÚFIREWALLD_IPSETSÚETC_FIREWALLD_IPSETSÚFIREWALLD_ICMPTYPESÚETC_FIREWALLD_ICMPTYPESÚFIREWALLD_HELPERSÚETC_FIREWALLD_HELPERSÚFIREWALLD_SERVICESÚETC_FIREWALLD_SERVICESÚFIREWALLD_ZONESÚETC_FIREWALLD_ZONESÚFIREWALLD_POLICIESÚETC_FIREWALLD_POLICIESÚosÚexistsÚsortedÚlistdirÚisdirZadd_watch_fileÚLOCKDOWN_WHITELISTÚFIREWALLD_DIRECTÚFIREWALLD_CONFr ÚdbusÚDBUS_INTERFACE_CONFIG)ÚselfZconfÚargsÚkwargsÚfilenamer6 ©Ú __class__© ú:/usr/lib/python3.9/site-packages/firewall/server/config.pyr4 D sV
òÿzFirewallDConfig.__init__c C s g | _ d| _g | _d| _g | _d| _g | _d| _g | _d| _ g | _
d| _| j
¡ D ]}| | j |¡¡ qR| j ¡ D ]}| | j |¡¡ qt| j ¡ D ]}| | j |¡¡ q–| j ¡ D ]}| | j |¡¡ q¸| j ¡ D ]}| | j |¡¡ qÚ| j ¡ D ]}| | j |¡¡ qüd S ©Nr )ÚipsetsÚ ipset_idxÚ icmptypesÚicmptype_idxÚservicesÚservice_idxÚzonesÚzone_idxÚhelpersÚ
helper_idxÚpolicy_objectsÚpolicy_object_idxr Z
get_ipsetsÚ _addIPSetZ get_ipsetZ
get_icmptypesÚ_addIcmpTypeZget_icmptypeZget_servicesÚ_addServiceZget_serviceZ get_zonesÚ_addZoneZget_zoneZget_helpersÚ
_addHelperZ
get_helperZget_policy_objectsÚ
_addPolicyZget_policy_object)rQ ÚipsetÚicmptypeÚserviceÚzoneÚhelperÚpolicyrW rW rX r7 u s0 zFirewallDConfig._init_varsc C s d S ©NrW ©rQ rW rW rX Ú__del__‘ s zFirewallDConfig.__del__c C sä t | jƒdkr$| j ¡ }| ¡ ~q t | jƒdkrH| j ¡ }| ¡ ~q$t | jƒdkrl| j ¡ }| ¡ ~qHt | jƒdkr�| j ¡ }| ¡ ~qlt | jƒdkr´| j ¡ }| ¡ ~q�t | jƒdkrØ| j ¡ }| ¡ ~q´| ¡ d S rY )
ÚlenrZ ÚpopÚ
unregisterr\ r^ r` rb rd r7 )rQ ÚitemrW rW rX Úreload• s2
zFirewallDConfig.reloadc
C s~ |t jkrÒ| t jj¡}t dt j¡ z| j ¡ W n8 tyl } z t d||f ¡ W Y d }~d S d }~0 0 | t jj¡
¡ }t| ¡ ƒD ]"}||v rŒ|| || krŒ||= qŒt
|ƒdkrÎ| t jj|g ¡ d S | t j¡sì| t j¡�rŒ| d¡�rŒz| j |¡\}}W n: t�yF } z t d||f ¡ W Y d }~d S d }~0 0 |dk�r^| |¡ n*|dk�rt| |¡ n|dk�rz| |¡ �nî| t j¡�s¨| t j¡�rH| d¡�rHz| j |¡\}}W n: t�y } z t d ||f ¡ W Y d }~d S d }~0 0 |dk�r| |¡ n*|dk�r0| |¡ n|dk�rz| |¡ �n2| t j¡�sd| t j¡�rˆ| d¡�rz| j |¡\}}W n: t�y¾ } z t d
||f ¡ W Y d }~d S d }~0 0 |dk�rÖ| |¡ n*|dk�rì| !|¡ n|dk�r„| "|¡ n‚| t j¡�rz| #t jd¡ $d¡}t
|ƒd
k �s