403Webshell
Server IP : 23.254.227.96  /  Your IP : 216.73.216.7
Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64
User : viralblo ( 1001)
PHP Version : 8.1.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3.6/site-packages/firewall/core/io/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3.6/site-packages/firewall/core/io/__pycache__/policy.cpython-36.pyc
3

K�]b���@sdddgZddljZddlZddlZddlZddlmZddlm	Z	m
Z
ddlmZmZm
Z
ddlmZmZmZdd	lmZmZmZmZmZmZdd
lmZddlmZddlmZdd
lmZdd�Z dd�Z!dd�Z"dd�Z#Gdd�de�Z$Gdd�de�Z%ddd�Z&ddd�Z'dS)�Policy�
policy_reader�
policy_writer�N)�config)�checkIP�checkIP6)�uniqify�max_policy_name_len�portStr)�DEFAULT_POLICY_TARGET�POLICY_TARGETS�DEFAULT_POLICY_PRIORITY)�	IO_Object�IO_Object_ContentHandler�IO_Object_XMLGenerator�
check_port�check_tcpudp�check_protocol)�rich)�log)�errors)�
FirewallErrorc	Csn|dkr�n^|dkr�nR|dkr�|jr`|jjrJtjdt|j��d|_dStj|d�|j_dS|d|jj	kr�|jj	j
|d�ntjd|d��n�|dk�rN|jr�|jjr�tjdt|j��d|_dStj|d|d	�|j_dSt|d�t
|d	�t|dd
�|d	f}||jjk�r4|jjj
|�ntjd|d|d	��n|d	k�r�|j�r�|jj�r�tjdt|j��d|_dStj|d�|j_nBt|d�|d|jjk�r�|jjj
|d�ntjd
|d��n�|dk�rh|j�r.|jj�rtjdt|j��d|_dStj|d�|j_dS|d|jjk�rT|jjj
|d�ntjd|d��n|dk�r�|j�r�|jj�r�tjdt|j��d|_dStj|d�|j_dStjd|d��n�|dk�r2|j�r|jj�rtjdt|j��d|_dStj�|j_n|jj�r&tjd�nd|j_�n8|dk�r�d}d|k�rR|d}d}d|k�rh|d}|j�r�|jj�r�tjdt|j��d|_dStj|d|d	||�|j_dSt|d�t
|d	�|�r�t|�|�r
t|��r
t|��r
ttjd|��t|dd
�|d	t|d
�t|�f}||jjk�rL|jjj
|�n6tjd|d|d	|�rld|nd|�r|d|nd��n�|dk�r@|j�r�|jj�r�tjdt|j��d|_dStj|d|d	�|j_dSt|d�t
|d	�t|dd
�|d	f}||jj k�r&|jj j
|�ntjd|d|d	��n*|dk�r�|j�sftjd�d|_dS|jj!�r�tjd t|j��dSd!}d"|k�r�|d"j"�dJk�r�d}tj#|d%|�|j_!�n�|dKk�r�|j�s�tjd*�d|_dS|jj$�rtjd+�d|_dS|d&k�rtj%�|j_$nh|d'k�rNd}d,|k�r>|d,}tj&|�|j_$n8|d(k�rftj'�|j_$n |d)k�r�|d-}tj(|�|j_$|jj$|_)�n�|d.k�r4|j�s�tjd/�dS|jj�r�tjd0�dSd}	d1|k�r|d1}	|	dLk�rtjd:�d|_dSd;|k�r|d;nd}
tj*|
|	�|j_|jj|_)�n6|d<k�r�|j�sTtjd=�dS|jj+�rztjd>t|j��d|_dStj,�|j_+|jj+|_)n�|d?k�rd}d@}dA|k�r�|dA}|dMk�r�tjdD|dA�d|_dSdE|k�r�t-|dE�}tj.||dF�|_nh|dGk�rf|j)�s(tjdH�d|_dS|j)j/�rNtjdIt|j��d|_dS|d}
tj0|
�|j)_/nd!SdS)NN�short�description�servicez;Invalid rule: More than one element in rule '%s', ignoring.T�namez#Service '%s' already set, ignoring.�port�protocol�-z#Port '%s/%s' already set, ignoring.�valuez$Protocol '%s' already set, ignoring.z
icmp-blockz&icmp-block '%s' already set, ignoring.z	icmp-typez-Invalid rule: icmp-block '%s' outside of rule�
masqueradez!Masquerade already set, ignoring.zforward-port�zto-portzto-addrz#to-addr '%s' is not a valid addressz-Forward port %s/%s%s%s already set, ignoring.z >%sz @%szsource-portz*Source port '%s/%s' already set, ignoring.�destinationz)Invalid rule: Destination outside of rulez?Invalid rule: More than one destination in rule '%s', ignoring.F�invert�yes�true�address�accept�reject�drop�markz$Invalid rule: Action outside of rulez"Invalid rule: More than one action�type�setrz!Invalid rule: Log outside of rulezInvalid rule: More than one log�level�emerg�alert�crit�error�warning�notice�info�debugzInvalid rule: Invalid log level�prefix�auditz#Invalid rule: Audit outside of rulez9Invalid rule: More than one audit in rule '%s', ignoring.�ruler�family�ipv4�ipv6z&Invalid rule: Rule family "%s" invalid�priority)r9r<�limitz4Invalid rule: Limit outside of action, log and auditz9Invalid rule: More than one limit in rule '%s', ignoring.)r$r%)r'r(r)r*)r.r/r0r1r2r3r4r5)r:r;)1�_rule�elementrr2�str�_rule_errorr�Rich_Service�item�services�append�	Rich_Portrrr
�ports�
Rich_Protocolr�	protocols�Rich_IcmpBlock�icmp_blocks�
Rich_IcmpType�Rich_Masquerader �Rich_ForwardPortrrrr�INVALID_ADDR�
forward_ports�Rich_SourcePort�source_portsr"�lowerZRich_Destination�action�Rich_Accept�Rich_Reject�	Rich_Drop�	Rich_Mark�	_limit_okZRich_Logr7Z
Rich_Audit�int�	Rich_Ruler=Z
Rich_Limit)�objr�attrs�entry�to_portZto_addrr#Z_typeZ_setr-r6r9r<r�r`�/usr/lib/python3.6/policy.py�common_startElements�

















































rbcCs�|dkr�|js�y|jj�Wn6tk
rR}ztjd|t|j��WYdd}~XnLXt|j�|jjkr�|jj	j
|j�|jjj
t|j��ntjdt|j��d|_d|_n|dkr�d|_dS)Nr8z%s: %sz Rule '%s' already set, ignoring.Fr'r(r)r*rr7)r'r(r)r*rr7)rAr>Zcheck�	Exceptionrr2r@rC�	rules_str�rulesrErY)r\r�er`r`ra�common_endElements&rgcCs�|dkrB|jrB|jj�}x$|D]}||krttjd|��qW�n@|dkrtx$|D]}t|d�t|d�qPW�n|dkr�x|D]}t|�q�W�n�|dkr�|jr�|jj�}x$|D]}	|	|kr�ttj	d|	��q�W�n�|d	k�r�x�|D]�}
t|
d�t|
d�|
d
�r,|
d�r,ttj
d|
��|
d
�rBt|
d
�|
dr�t|
d�r�t|
d�r�ttj
d
|
d��q�W�n|dk�r�x�|D]}t|d�t|d��q�Wn�|dk�r�x�|D]�}tj|d�}|j�r�|j�r�t|jtj��st|jtj��r�|jj�}|jj|k�r4ttj	d|jj��nH|j�r�|jj|jj�}
|
j�r�|j|
jk�r�ttj	d|j|jjf���q�WdS)NrDz '%s' not among existing servicesrGr�rIrKz"'%s' not among existing icmp typesrP��z$'%s' is missing to-port AND to-addr z#to-addr '%s' is not a valid addressrRrd�
rich_rules)�rule_strz3rich rule family '%s' conflicts with icmp type '%s')rdrk)�	fw_configZget_servicesrrZINVALID_SERVICErrrZ
get_icmptypesZINVALID_ICMPTYPE�INVALID_FORWARDrrrOrr[r?�
isinstancerJrLrr9Zget_icmptyper")r\rrC�
all_configZexisting_servicesrr�protoZexisting_icmptypesZicmptype�fwd_portr8Zobj_richZictr`r`ra�common_check_config+sp













 
rscCs�|jrF|jdkrF|jd�|jdi�|j|j�|jd�|jd�|jr�|jdkr�|jd�|jdi�|j|j�|jd�|jd�x6t|j�D](}|jd�|jdd|i�|jd�q�Wx@t|j	�D]2}|jd�|jd|d	|d
d��|jd�q�Wx8t|j
�D]*}|jd�|jdd
|i�|jd��qWx8t|j�D]*}|jd�|jdd|i�|jd��qLW|j�r�|jd�|jdi�|jd�x�t|j
�D]�}|jd�|d	|d
d�}|d�r�|ddk�r�|d|d<|d�r|ddk�r|d|d<|jd|�|jd��q�WxBt|j�D]4}|jd�|jd|d	|d
d��|jd��q>W�xH|jD�]<}i}|j�r�|j|d<|jd	k�r�t|j�|d<|jd�|jd|�|jd�|j�rVi}|jj�r�|jj|d<|jj�r|jj|d<|jj�r$|jj|d<|jj�r6d|d<|jd�|jd|�|jd�|j�r�d|jji}|jj�r|d|d<|jd�|jd |�|jd�|j�rTd}	i}t|j�tjk�r�d}	|jj|d<�nbt|j�tjk�rd}	|jj|d<|jj |d<�n0t|j�tj!k�r*d}	|jj"|d
<�n
t|j�tj#k�rBd}	n�t|j�tj$k�rfd}	|jj|d<n�t|j�tj%k�r�d!}	|jj|d<n�t|j�tj&k�r�d}	|jj|d<|jj |d<|jj'dk�r�|jj'|d<|jj(dk�r4|jj(|d<nFt|j�tj)k�rd}	|jj|d<|jj |d<nt*t+j,d"t|j���|jd�|j|	|�|jd�|j-�ri}|j-j.�rv|j-j.|d#<|j-j/�r�|j-j/|d$<|j-j0�r�|jd�|jd%|�|jd&�|jd'd
|j-j0j"i�|jd(�|jd%�n|jd�|jd%|�|jd�|j1�r�i}|j1j0�rd|jd�|jd)i�|jd&�|jd'd
|j1j0j"i�|jd(�|jd)�n|jd�|jd)|�|jd�|j2�r�d}
i}t|j2�tj3k�r�d*}
n|t|j2�tj4k�r�d+}
|j2j�r(|j2j|d,<nNt|j2�tj5k�r�d-}
n6t|j2�tj6k�rd.}
|j2j7|d/<nt-j8d0t|j2��|j2j0�r~|jd�|j|
|�|jd&�|jd'd
|j2j0j"i�|jd(�|j|
�n|jd�|j|
|�|jd�|jd�|jd�|jd��q�WdS)1Nr!z  r�
rrrrrrh)rrrrz
icmp-blockr rizto-portrjzto-addrzforward-portzsource-portr9r<r8r&�mac�ipset�Truer#z    �sourcer"z	icmp-typez"Unknown element '%s' in obj_writerr6r-rz
      r=z
    r7r'r(r+r)r*r,zUnknown action '%s')9r�ignorableWhitespace�startElementZ
characters�
endElementrrrD�
simpleElementrGrIrKr rPrRrer9r<r@rx�addrrurvr#r"r?r+rrBrrFrrrHrrMrJrLrNr_�
to_addressrQrrZINVALID_OBJECTrr6r-r=r7rTrUrVrWrXr,r2)r\�handlerrrrZicmpZforwardr]r8r?rTr`r`ra�
common_writeresZ


















































r�csJeZdZd6ZdZeZdgZd7d8d9d:d	dgfd
d;gfddgfd<dd=gfddgfddgfdd>gfd?ddgfddgffZdddgZ	dddgdgddgdgdgdddgdddgdgddgddddddgdgdgdgd�Z
ddgd d!gd"dgdd#d$d"d%gd$gd&d'gd(gd)�Z�fd*d+�Zd,d-�Z
�fd.d/�Z�fd0d1�Zd2d3�Z�fd4d5�Z�ZS)@ri�i�r�versionr!rr�targetrDrGrKr FrPrkrIrRr<�
ingress_zones�egress_zones�_r�/Nrrrr&rr,)rr�policyrrz
icmp-blockz	icmp-typer zforward-portr8rxr"rzsource-portrr7r'r(r)r*r=zingress-zonezegress-zonezto-portzto-addrr9rur#rvr6r-r+)r�zforward-portr8rxr"rr(cs�tt|�j�d|_d|_d|_t|_g|_g|_	g|_
g|_d|_g|_
g|_d|_g|_g|_d|_|j|_d|_g|_g|_dS)Nr!F)�superr�__init__r�rrrr�rDrGrIrKr rPrRrmrerd�applied�priority_defaultr<Zderived_from_zoner�r�)�self)�	__class__r`rar�ys(zPolicy.__init__cCs�d|_d|_d|_t|_|jdd�=|jdd�=|jdd�=|jdd�=d|_	|j
dd�=|jdd�=d|_|j
dd�=|jdd�=d|_|j|_|jdd�=|jdd�=dS)Nr!F)r�rrrr�rDrGrIrKr rPrRrmrerdr�r�r<r�r�)r�r`r`ra�cleanup�s$zPolicy.cleanupcs"|dkr|jSttt|�|�SdS)Nrk)rd�getattrr�r)r�r)r�r`ra�__getattr__�szPolicy.__getattr__csB|dkr,dd�|D�|_dd�|jD�|_ntt|�j||�dS)NrkcSsg|]}tj|d��qS))rl)rr[)�.0�sr`r`ra�
<listcomp>�sz&Policy.__setattr__.<locals>.<listcomp>cSsg|]}t|��qSr`)r@)r�r�r`r`rar��s)rerdr�r�__setattr__)r�rr)r�r`rar��szPolicy.__setattr__c
Cst||||�|dkr2|tkr.ttjd|���n�|dkrz||jksX||jksX||jkrvttjd||j|j|jf���n�|dk�rhddg}|j	r�||j	j
�7}x�|D]�}||kr�ttjd	|��|dkr�tddg�t|�@�s�|dk�rt|�t|g��rttjd
|��|dkr�|dk�r8d|k�r8d|dk�sT|dkr�d|kr�d|dkr�ttjd��q�W�n�|dk�r|�rd|k�r�d|dk�r�ttjd
��nxd|k�rd|dk�r�ttjd��xR|dD]F}|dk�rސq�|j	j
|�}|j	�r�d|j	j|�k�r�ttjd���q�W�n�|dk�r4�x�|D�]}tj|d�}|j�r�t|jtj��r�d|k�r|d|dk�r|ttjd
��nxd|k�r,d|dk�r�ttjd��xR|dD]F}|dk�r��q�|j	j
|�}|j	�r�d|j	j|�k�r�ttjd���q�W�q,|j�r�t|jtj��r�d|k�r,d|dk�r@|jj�r�ttjd��nt|d�r,|jj�s`ttjd��d|dk�r,x�|dD]8}|j	j
|�}|j	�rxd|j	j|�k�rxttjd���qxWnv|j�r,t|jtj��r,d|k�r,xR|dD]F}|dk�r�q�|j	j
|�}|j	�r�d|j	j|�k�r�ttjd���q�W�q,Wn�|dk�rx�|D]�}	d|k�rnd|dk�rnttjd��n�d|k�rDd|dk�r�|	d�rttjd��nt|d�rD|	d�s�ttjd��d|dk�rDxD|dD]8}|j	j
|�}|j	�r�d|j	j|�k�r�ttjd���q�W�qDWdS)Nr�z'%s' is invalid targetr<zQ%d is invalid priority. Must be in range [%d, %d]. The following are reserved: %sr�r��ANY�HOSTz'%s' not among existing zonesz>'%s' may only contain one of: many regular zones, ANY, or HOSTzF'HOST' can only appear in either ingress or egress zones, but not bothr z.'masquerade' is invalid for egress zone 'HOST'z/'masquerade' is invalid for ingress zone 'HOST'Z
interfaceszR'masquerade' cannot be used in a policy if an ingress zone has assigned interfacesrk)rlzAA 'forward-port' with 'to-addr' is invalid for egress zone 'HOST'zC'forward-port' requires 'to-addr' if egress zone is 'ANY' or a zonezS'forward-port' cannot be used in a policy if an egress zone has assigned interfaceszR'mark' action cannot be used in a policy if an egress zone has assigned interfacesrPz1'forward-port' is invalid for ingress zone 'HOST'rj)r�r�)r�r�)r�r�)r�r�)rsrrr�INVALID_TARGET�priority_reserved�priority_max�priority_minZINVALID_PRIORITYrm�	get_zonesZINVALID_ZONEr,Zget_zoneZget_zone_config_dictrr[r?rorMrNr~rnrTrX)
r�rrCrpZexisting_zones�zoneZz_objr8r\rrr`r`ra�
_check_config�s�






"
















zPolicy._check_configcs�tt|�j|�|jd�r,ttjd|��n�|jd�rHttjd|��n�|jd�dkrhttjd|��njd|kr�|d|j	d��}n|}t
|�t�kr�ttjd|t
|�t�f��|jr�||jj
�kr�ttjd��dS)Nr�z'%s' can't start with '/'z'%s' can't end with '/'rhzmore than one '/' in '%s'z&Policy of '%s' has %d chars, max is %dz,Policies can't have the same name as a zone.)r�r�
check_name�
startswithrr�INVALID_NAME�endswith�count�find�lenr	rmr�Z
NAME_CONFLICT)r�rZchecked_name)r�r`rar�s*

zPolicy.check_namei���)r�r!)rr!)rr!)r�r!)r!r!)r F)r!r!r!r!)r!r!)r<r)�__name__�
__module__�__qualname__r�r�r
r�r�ZIMPORT_EXPORT_STRUCTUREZADDITIONAL_ALNUM_CHARSZPARSER_REQUIRED_ELEMENT_ATTRSZPARSER_OPTIONAL_ELEMENT_ATTRSr�r�r�r�r�r��
__classcell__r`r`)r�rar>sp


^c@s$eZdZdd�Zdd�Zdd�ZdS)�policy_ContentHandlercCs"tj||�d|_d|_d|_dS)NF)rr�r>rArY)r�rCr`r`rar�+szpolicy_ContentHandler.__init__cCstj|||�|jrdS|jj||�t|||�r6dS|dkr�d|krR|d|j_d|krjt|d�|j_d|kr�|d}|t	kr�t
tj|��|r�||j_
�n^|dkr�|d|jjkr�|jjj|d�ntjd|d��n|dk�r |d|jjk�r|jjj|d�ntjd	|d�n�|d
k�r�|j�sFtjd�d|_dS|jj�rltjd
t|j��d|_dSd}d|k�r�|dj�dk�r�d}d}}}d|k�r�|d}d|k�r�|d}d|k�r�|d}tj||||d�|j_dStjd|�dSdS)Nr�r�r<r�zingress-zonerz(Ingress zone '%s' already set, ignoring.zegress-zonez'Egress zone '%s' already set, ignoring.rxz$Invalid rule: Source outside of ruleTz:Invalid rule: More than one source in rule '%s', ignoring.Fr#r$r%r&rurv)r#zUnknown XML element '%s')r$r%)rrzrArCZparser_check_element_attrsrbr�rZr<rrrr�r�r�rErr2r�r>rxr@rSrZRich_Source)r�rr]r�r#r}rurvr`r`rarz1sf








z"policy_ContentHandler.startElementcCstj||�t||�dS)N)rr{rg)r�rr`r`rar{qsz policy_ContentHandler.endElementN)r�r�r�r�rzr{r`r`r`rar�*s@r�Fc
Cst�}|jd�s ttjd|��|dd	�|_|s>|j|j�||_||_|j	t
j�rZdnd|_|j|_
t|�}tj�}|j|�d||f}t|d��b}tjd�}|j|�y|j|�Wn8tjk
r�}	zttjd|	j���WYdd}	~	XnXWdQRX~~|S)
Nz.xmlz'%s' is missing .xml suffix�FTz%s/%s�rbznot a valid policy file: %s���)rr�rrr�rr��filename�pathr�r�
ETC_FIREWALLDZbuiltin�defaultr��saxZmake_parserZsetContentHandler�openZInputSourceZ
setByteStream�parseZSAXParseExceptionZINVALID_POLICYZgetException)
r�r�Z
no_check_namer�r�parserr�frx�msgr`r`rarvs6




(c
Cs�|r|n|j}|jr$d||jf}nd||jf}tjj|�r�ytj|d|�Wn0tk
r�}ztj	d||�WYdd}~XnXtjj
|�}|jtj
�r�tjj|�r�tjjtj
�s�tjtj
d�tj|d�tj|ddd�}t|�}|j�i}|j�r|jd	k�r|j|d
<|j|jk�r0t|j�|d<|j|d<|jd
|�|jd�t||�x8t|j�D]*}	|jd�|jdd|	i�|jd��qfWx8t|j�D]*}	|jd�|jdd|	i�|jd��q�W|jd
�|jd�|j �|j!�~dS)Nz%s/%sz	%s/%s.xmlz%s.oldzBackup of file '%s' failed: %si�ZwtzUTF-8)�mode�encodingr!r�r<r�r�rtz  zingress-zonerzegress-zone)"r�r�r�os�exists�shutilZcopy2rcrr1�dirnamer�rr��mkdir�ior�rZ
startDocumentr�r<r�r@r�rzryr�rr�r|r�r{ZendDocument�close)
r�r��_pathrr��dirpathr�rr]r�r`r`rar�sN 







)F)N)(�__all__Zxml.saxr�r�r�r�ZfirewallrZfirewall.functionsrrrr	r
Zfirewall.core.baserrr
Zfirewall.core.io.io_objectrrrrrrZ
firewall.corerZfirewall.core.loggerrrZfirewall.errorsrrbrgrsr�rr�rrr`r`r`ra�<module>s2

 :ZmL


Youez - 2016 - github.com/yon3zu
LinuXploit