HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/lib/python3.6/site-packages/fail2ban/server/__pycache__/failregex.cpython-36.opt-1.pyc
3

UB(d�4�@s�dZdZdZddlZddlZddlZddlmZejd�Z	ejd�Z
d	ejfd
ejfdddd
dgZ
dZdZdZdZdZdZdZde
ee
efe
e<de
ee
efe
e<de
ee
ee
efe
e<e
ee
ee
ee
ee
ee
ee
ee
ee
ee
ee
ee
eddd�Zddd�Zyejdd�ejd�dfZWnfZYnXd d!�Zd"Zd#ZeefZejd$d%je�d&�ZGd'd(�d(�ZGd)d*�d*e �Z!d1Z"e"d2Z#Gd/d0�d0e�Z$dS)3z
Cyril Jaquierz Copyright (c) 2004 Cyril JaquierZGPL�N�)�IPAddrz
</?[\w\-]+/?>z^(/?)F-([A-Z0-9_\-]+)$z(?:::f{4,6}:)?(?P<ip4>%s)z(?P<ip6>%s)z(?P<dns>[\w\-.^_]*\w)�z
(?P<cidr>\d+)�����z\[?(?:%s|%s)\]?z	(?:%s|%s)z\[?(?:%s|%s)(?:/%s)?\]?z(?P<fid>\S+)z(?P<fport>\w+))ZIP4zF-IP4/ZIP6zF-IP6/ZADDRzF-ADDR/ZCIDRzF-CIDR/ZSUBNETz	F-SUBNET/ZDNSzF-DNS/zF-ID/zF-PORT/�fidZfport)�idZportz^re(?i:val)$ZreVALz(?<!\\)\((?:\?:)?(\(\?[a-z]+)\)z\1:cCs|j�}tj||�S)N)�lower�R_MAP�get)�tag�r�/usr/lib/python3.6/failregex.py�
mapTag2OptesrZalt_Ztuple_z^(�|z)(.*?)(?:_\d+)?$c@s�eZdZd"dd�Zdd�Zed#dd��Zd	d
�Zedd��Zd$dd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd
S)%�RegexFcKszd|_tj|f|�}|j�dkr(td��tr@tdjtd|�}y�tj||rRtj	nd�|_
||_g|_g|_
xldd�|j
jD�D]V}tj|�}|r�|jd�t|jd��}}|tkr�|jj||f�q�|j
j||f�q�W|jj�|j
j�t|j��r|jnd|_t|j
��r|j
nd|_
Wn6tjk
�rV}ztd||f��WYdd}~XnX|j�sh|j
�rn|jn|j|_dS)	NrzCannot add empty regexrrcSs$g|]}t|�ttd�kr|�qS)r)�len�
COMPLNAME_PRE)�.0�krrr�
<listcomp>�sz"Regex.__init__.<locals>.<listcomp>rz-Unable to compile regular expression '%s':
%s)�_matchCacher�_resolveHostTag�lstrip�RegexException�R_GLOB2LOCFLAGS�sub�re�compile�	MULTILINE�	_regexObj�_regex�
_altValues�_tupleValues�
groupindex�
COMPLNAME_CRE�match�groupr�ALTNAME_PRE�append�sortr�
sre_constants�error�_getGroupsWithAlt�
_getGroups�	getGroups)�self�regexZ	multiline�kwargsr�n�g�errr�__init__�s4


zRegex.__init__cCsd|jj|jfS)Nz%s(%r))�	__class__�__name__r$)r3rrr�__str__�sz
Regex.__str__�yescs*t��ddi����fdd�}tj||�S)N�nlrcs�|j�}|dd
�}|dkr0t�dkr*tntS|dkrV�d}|d�d<d|fSyt|Stk
rrYnXtj|�}|r�|j�}|d}|dr��j	|�r�dS|Sd�|<t
|�}d	|fS|S)NrZHOST�noZ	SKIPLINESr>z!\n(?P<skiplines%i>(?:(?:.*\n)*?))r�)z(?P<%s>���)r?)r*�R_HOST�RI_HOST�RI_ADDR�RH4TAG�KeyError�
FCUSTNAME_CREr)�groupsrr)�mrZtnr>)�openTags�props�useDnsrr�substTag�s0



z'Regex._resolveHostTag.<locals>.substTag)�dict�FTAG_CREr)r4rLrMr)rJrKrLrr�s'zRegex._resolveHostTagcCs|jS)N)r$)r3rrr�getRegex�szRegex.getRegexcCsdjdd�|D��dS)N�
cSs g|]}dj|ddd���qS)rNr)�join)r�vrrrr�sz(Regex._tupleLinesBuf.<locals>.<listcomp>)rR)�
tupleLinesrrr�_tupleLinesBuf�szRegex._tupleLinesBufNcCs�|}t|t�stj|�}|jj|�|_|j�r�|dkr:|}t|�dkrV||_g|_	�nLy$|jj
jdd|jj�d�d}Wnt
k
r�d}YnXy"|jj
jd|jj�d�d}Wn t
k
r�t|jj
�}YnX|jj
jdd|�}|jj
jdd|�}|||�|_|d|�|_	d}xp|j�D]d}	x\t|j|d��D]F\}
}dj|ddd��|	k�r>|j	j|jj||
��||
7}P�q>W�q&W|j	j||d��dS)NrrQrrr)�
isinstance�strrrUr#�searchrr�_matchedTupleLines�_unmatchedTupleLines�string�rindex�start�
ValueError�index�end�count�getSkippedLines�	enumeraterRr,�pop�extend)r3rTZorgLinesZbufZmatchLineStartZmatchLineEndZ
lineCount1Z
lineCount2r6ZskippedLinerIZmatchedTupleLinerrrrX�sH





zRegex.searchcCs|jr
dSdSdS)NTF)r)r3rrr�
hasMatched$szRegex.hasMatchedcCs
|jj�S)N)r�	groupdict)r3rrrr1.szRegex._getGroupscCs�|jj�}|jrFx4|jD]*\}}|j|�}|r|j|�r|||<qW|jr�xL|jD]B\}}|j|�}|j|�}t|t�r�||f7}n||f}|||<qTW|S)N)rrgr%rr&rV�tuple)r3�failrr6rS�trrrr01s




zRegex._getGroupsWithAltcCsdS)Nr)r3rrrr2FszRegex.getGroupscCs�|js
gSd}d}xpy4|jjd|�dk	r>||jjd|�7}|d7}Wqtk
r^PYqtk
r~dtjkrx�PYqXqW|jd�S)Nrrzskiplines%irZPyPyF)rr*�
IndexErrorrF�sys�version�
splitlines)r3ZskippedLinesr6rrrrbOs 
zRegex.getSkippedLinescCs|j�sgS|jSdS)N)rfrZ)r3rrr�getUnmatchedTupleLineshszRegex.getUnmatchedTupleLinescCs |j�sgSdd�|jD�SdS)NcSsg|]}dj|��qS)r)rR)r�linerrrrrsz+Regex.getUnmatchedLines.<locals>.<listcomp>)rfrZ)r3rrr�getUnmatchedLinesnszRegex.getUnmatchedLinescCs|j�sgS|jSdS)N)rfrY)r3rrr�getMatchedTupleLines{szRegex.getMatchedTupleLinescCs |j�sgSdd�|jD�SdS)NcSsg|]}dj|��qS)r)rR)rrprrrr�sz)Regex.getMatchedLines.<locals>.<listcomp>)rfrY)r3rrr�getMatchedLines�szRegex.getMatchedLines)F)r=)N)r;�
__module__�__qualname__r9r<�staticmethodrrPrUrXrfr1r0r2rbrorqrrrsrrrrrys 	
"	6
.
	
rc@seZdZdS)rN)r;rtrurrrrr�sr�ip4�ip6�dns�mlfidc@s2eZdZd
dd�Zefdd�Zdd�Zdd	�ZdS)�	FailRegexNcsRtj�|f|��fdd�tD�rN�dks@�fdd�tD�rNtd�j��dS)Ncsg|]}|�jjkr|�qSr)r#r')r�grp)r3rrr�sz&FailRegex.__init__.<locals>.<listcomp>csg|]}|�jjkr|�qSr)r#r')rr|)�	prefRegexrrr�szNo failure-id group in '%s')rr9�FAILURE_ID_PRESENTSrr$)r3r4r}r5r)r}r3rr9�s
zFailRegex.__init__c
Csxd}xB|D]:}y|jj|�}Wnttfk
r8w
YnX|dk	r
Pq
W|dkrp|jj}|jj}td||f��t|�S)Nz!No group found in '%s' using '%s')rr*rkrFr[r rrW)r3rHr
r|�s�rrrr�	getFailID�s
zFailRegex.getFailIDcCs
|jd�S)Nrwrxry)rwrxry)r�)r3rrr�getHost�szFailRegex.getHostcCs(|j�}t|jd�t|jd�p"tj��S)NrwrxZcidr)rwrx)r2rr��intrZCIDR_UNSPEC)r3rirrr�getIP�szFailRegex.getIP)N)r;rtrur9�FAILURE_ID_GROPSr�r�r�rrrrr{�s	
r{)r
rwrxry)rz)%�
__author__Z
__copyright__Z__license__r r.rlZipdnsrr!rOrGZIP_4_REZIP_6_RErBZRI_IPV4ZRI_IPV6ZRI_DNSrDrCZRI_CIDRZ	RI_SUBNETrEr
rXrrr+ZTUPNAME_PRErrRr(r�	Exceptionrr�r~r{rrrr�<module>st