JFIF$        dd7 

Viewing File: /usr/lib/python3.9/site-packages/firewall/core/io/__pycache__/firewalld_conf.cpython-39.opt-1.pyc

a

	�	iy?�@s`ddlZddlZddlZddlZddlmZddlmZddlm	Z	gd�Z
Gdd�de�ZdS)�N)�config)�log)�errors)�DefaultZone�MinimalMark�
CleanupOnExit�CleanupModulesOnExit�Lockdown�
IPv6_rpfilter�IndividualCalls�	LogDenied�AutomaticHelpers�FirewallBackend�FlushAllOnReload�RFC3964_IPv4�AllowZoneDrifting�ReloadPolicy�NftablesTableOwnerc@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Ze
dd��Ze
dd��ZdS)�firewalld_confcCsi|_g|_||_|��dS�N)�_config�_deleted�filename�clear)�selfr�r�C/usr/lib/python3.9/site-packages/firewall/core/io/firewalld_conf.py�__init__&szfirewalld_conf.__init__cCsi|_g|_dSr)rr�rrrrr,szfirewalld_conf.clearcCs|j��g|_dSr)rrrrrrr�cleanup0s
zfirewalld_conf.cleanupcCs|j�|���Sr)r�get�strip)r�keyrrrr 4szfirewalld_conf.getcCs0|��}|��|j|<||jvr,|j�|�dSr)r!rr�remove)rr"�valueZ_keyrrr�set7s
zfirewalld_conf.setcCs8d}|j��D]$\}}|r"|d7}|d||f7}q|S)N��
z%s=%s)r�items)r�sr"r$rrr�__str__=szfirewalld_conf.__str__cCs|�dtj�|�dttj��|�dtjr0dnd�|�dtjrFdnd�|�dtjr\dnd�|�dtj�|�d	tj	r�dnd�|�d
tj
�|�dtj�|�dtj�|�d
tj
r�dnd�|�dtj�|�dtjr�dnd�|�dtjr�dnd�|�dtj�rdnd�dS)Nrrr�yes�norr	r
rrr
rrrrrr)r%r�
FALLBACK_ZONE�str�FALLBACK_MINIMAL_MARK�FALLBACK_CLEANUP_ON_EXIT� FALLBACK_CLEANUP_MODULES_ON_EXIT�FALLBACK_LOCKDOWN�FALLBACK_IPV6_RPFILTER�FALLBACK_INDIVIDUAL_CALLS�FALLBACK_LOG_DENIED�FALLBACK_AUTOMATIC_HELPERS�FALLBACK_FIREWALL_BACKEND�FALLBACK_FLUSH_ALL_ON_RELOAD�FALLBACK_RELOAD_POLICY�FALLBACK_RFC3964_IPV4�FALLBACK_ALLOW_ZONE_DRIFTINGZFALLBACK_NFTABLES_TABLE_OWNERrrrr�set_defaultsEs$�zfirewalld_conf.set_defaultscCs<|�d�dkr8|�d�dvr8t�tjd|�d��d���dS)NrZiptablesr
)z
loose-forwardzstrict-forwardzIPv6_rpfilter=z] is incompatible with FirewallBackend=iptables. This is a limitation of the iptables backend.)r rZ
FirewallErrorZ
INVALID_VALUErrrr�sanity_checkYs
�zfirewalld_conf.sanity_checkc
Cs�|��zt|jd�}Wn>tyV}z&t�d|j|�|���WYd}~n
d}~00|D]�}|sj�q>|��}t|�dks\|ddvr�q\dd�|�	d�D�}t|�d	kr�t�d
|���q\nj|dt
vr�t�d|���q\nJ|ddk�rt�d
|���q\n(|j�|d�du�r*t�d|���q\|d|j|d<q\|�
�|�d��srt�dtj�|�dttj��|�d�}zt|�WnNttf�y�|du�r�t�d|�r�|ndtj�|�dttj��Yn0|�d�}|�r�|��dv�r2|du�rt�d|�r|ndtj�|�dtj�r,dnd�|�d�}|�rP|��dv�r�|du�rtt�d|�rj|ndtj�|�dtj�r�dnd�|�d�}|�r�|��dv�r�|du�r�t�d|�r�|ndtj�|�dtj�r�dnd�|�d�}|�r|��tjv�r8|du�r*t�d|�r |ndtj�|�dtj�|�d�}|�rV|��dv�r�|du�rzt�d |�rp|ndtj�|�dtj�r�dnd�|�d!�}|�r�|tjv�r�|du�r�t�d"|tj�|�d!ttj��|�d#�}|�r�|��tj v�r0|du�rt�d$|�r|ndtj!�|�d#ttj!��|�d%�}|�rP|��tj"v�r�|du�rtt�d&|�rj|ndtj#�|�d%ttj#��|�d'�}|�r�|��dv�r�|du�r�t�d(|�r�|ndtj$�|�d'ttj$��|�d)�}z|�%|�}Wn2t�y$t�d*|tj&�|�d)tj&�Yn0|�d+�}|�rD|��dv�rz|du�rht�d,|�r^|ndtj'�|�d+ttj'��|�d-�}|�r�|��dv�r�|du�r�t�d.|�r�|ndtj(�|�d-tj(�r�dnd�|�)�dS)/N�rzFailed to load '%s': %s�r)�#�;cSsg|]}|���qSr)r!)�.0�xrrr�
<listcomp>v�z'firewalld_conf.read.<locals>.<listcomp>�=�zInvalid option definition: '%s'zInvalid option: '%s'r&zMissing value: '%s'z!Duplicate option definition: '%s'rz0DefaultZone is not set, using default value '%s'rz7MinimalMark '%s' is not valid, using default value '%d'r)r,�falser+�truez7CleanupOnExit '%s' is not valid, using default value %sr+r,rz>CleanupModulesOnExit '%s' is not valid, using default value %sr	)r+rIr,rHz2Lockdown '%s' is not valid, using default value %sr
z7IPv6_rpfilter '%s' is not valid, using default value %srz9IndividualCalls '%s' is not valid, using default value %srz3LogDenied '%s' is invalid, using default value '%s'r
z:AutomaticHelpers '%s' is not valid, using default value %srz9FirewallBackend '%s' is not valid, using default value %srz:FlushAllOnReload '%s' is not valid, using default value %srz8ReloadPolicy '%s' is not valid, using default value '%s'rz6RFC3964_IPv4 '%s' is not valid, using default value %srz;AllowZoneDrifting '%s' is not valid, using default value %s)*r�openr�	Exceptionr�errorr<r!�len�split�
valid_keysrr �closerr-r%r.�int�
ValueError�	TypeErrorZwarningr/�lowerr0r1r2ZIPV6_RPFILTER_VALUESr3r4ZLOG_DENIED_VALUESr5ZAUTOMATIC_HELPERS_VALUESr6ZFIREWALL_BACKEND_VALUESr7r8�_parse_reload_policyr9r:r;r=)r�f�msg�lineZpairr$rrr�readfs�

�

�

�

�

�

�

�

�

�

�
�

�

�zfirewalld_conf.readc
Cs�t|j�dkrdSg}tj�tj�s2t�tjd�z.tj	ddtj�
|j�tj�|j�dd�}Wn4t
y�}zt�d|��WYd}~n
d}~00d}d}ztj|jdd	d
�}WnRt
�y}z8tj�|j�r�t�d|j|f��nd}WYd}~�n<d}~00|D�]*}|�s�q:|�d�}t|�dk�rL|�s6|�d�d
}n�|ddk�rtd}|�|�|�d�n�|�d�}t|�dk�r�d}|�|d��q|d��}	|d��}
|	|v�r2|	|jv�r|j|	|
k�rd}|�d|	|j|	f�d
}n$|	|jv�rd
}nd}|�|d�|�|	�nd
}�qt|j�dk�r�|j��D]P\}	}
|	|v�rj�qT|	dv�rx�qT|�s�|�d�d
}|�d|	|
f�d
}�qT|�r�|��|��|�s�t�|j�dStj�|j��r@zt�|jd|j�WnDt
�y>}z*t�|j�td|j|f��WYd}~n
d}~00zt�|j|j�WnDt
�y�}z*t�|j�td|j|f��WYd}~nd}~00t�|jd�dS)Nr?i�Zwtz%s.F)�mode�prefix�dir�deletez!Failed to open temporary file: %sZrtzUTF-8)rZ�encodingzFailed to open '%s': %sr'Trr@rFrGz%s=%s
)rr
rz%s.oldzBackup of '%s' failed: %szFailed to create '%s': %si�) rMr�os�path�existsrZ
ETC_FIREWALLD�mkdir�tempfileZNamedTemporaryFile�basenamer�dirnamerKrrL�iorJr!�writerNr�appendr(rPr#�name�shutil�copy2�IOError�move�chmod)rZdoneZ	temp_filerWZmodified�emptyrVrX�pr"r$rrrrgs��






��


((zfirewalld_conf.writecCs�d}dddd�}|r�|��}|��}|dvr@|D]}|||<q0n�|�dd��d�D]|}|��}|sdqR|�dd��dd	�}t|�d	kr�d
}qR|d����}||vr�d
}qR|d����}|dvr�d
}qR|||<qR|s�td
��|S)NT�DROP)ZINPUTZFORWARDZOUTPUT)ZACCEPTZREJECTrqrA�,rF�:rGFrr?zInvalid ReloadPolicy)r!�upper�replacerNrMrR)r$Zvalid�result�v�k�aZa2rrrrUos>�
z#firewalld_conf._parse_reload_policycCsd�dd�|��D��S)Nrrcss |]\}}|�d|��VqdS)rsNr)rBrxrwrrr�	<genexpr>�rEz8firewalld_conf._unparse_reload_policy.<locals>.<genexpr>)�joinr()r$rrr�_unparse_reload_policy�sz%firewalld_conf._unparse_reload_policyN)�__name__�
__module__�__qualname__rrrr r%r*r<r=rYrg�staticmethodrUr|rrrrr%s
 j
%r)
Zos.pathr_rfrcrjZfirewallrZfirewall.core.loggerrrrO�objectrrrrr�<module>s
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg