%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python2.7/site-packages/fail2ban/tests/
Upload File :
Create Path :
Current File : //usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyo

�
��&dc@s&dZdZdZddlZddlZddlZddlZddlZddlm	Z	ddl
mZmZddl
mZdd	lmZmZdd
lmZddlmZdd
lmZddlmZmZdefd��YZdefd��YZdefd��YZdS(sSerg G. Brester (sebres)s"Copyright (c) 2014 Serg G. BrestertGPLi����Ni(tMyTime(t
FailTickett	BanTicket(tFailManager(t	ObserverstObserverThread(tUtilsi(tLogCaptureTestCase(t	DummyJail(t
getFail2BanDbt
Fail2BanDbtBanTimeIncrcBsAeZd�Zd�Zd�Zdd�Zd�Zd�ZRS(cCs>tt|�j�t�|_|j|j_t�|_dS(N(tsuperRtsetUpR	t_BanTimeIncr__jailtcalcBanTimeRtObserver(tself((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR.scCstt|�j�dS(N(R
RttearDown(R((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR5scCs|jj|j||�S(N(RRR(RtbanTimetbanCount((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR8scCs"|j}|jdd�|j|jd�t�|jdd�|j|jd�d*�|jdd�|jdd�|jd	|�|jgtd
d�D]}|jd|�^q�d
dddddddddg
�|jdd�d
dddddddddg
}|dk	rpt|j	d��}|dkrp|d|d
!||dgd|}qpn|jgtd
d�D]}|jd|�^q�|�|jdd�|jdd�|jgtd
d�D]}|jd|�^q�ddddddddddg
�|jdd�|jgtd
d�D]}t
|jd|��^qDddd d!d"d#ddddg
�|jdd�|jdd$�|jgtd
d�D]}|jd|�^q�d
dddddd%d%d%d%g
�|jdd&�|jdd'�|jtgtd(�D]7}d
gtd(�D]}|jdd
�^qLk^q6k�|jdd�|j
tgtd(�D]7}d
gtd(�D]}|jdd
�^q�k^q�k�|jd	d�|jdd�|jdd&�|jdd�dS(+Nt	incrementttruetmaxtimet1dii<trndtimetfactortmultipliersiiiXi�i`	i�i�%iKi�i,i�Qt30diXi�i`	t iit2s1.33i<ixi�i�1i�ci��t12hi��t24ht5mi
i�i�Q(RtsetBanTimeExtratassertEqualtgetBanTimeExtratTruetNonetxrangeRtlentsplittintt
assertTruetFalsetassertFalse(RRtatitarrtmultcnttc((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyttestDefault;sZ	+%$.++%1%+%QQcCsJ|jd�|jdjgtd�D]}td|>�^q&��dS(Ns1 2 4 8 16 32 64 128 256Rii(R4tjoinR(tstr(RR0((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyttestMultiplierszs
cCsW|j}|jdd�|jdd�|jdd�|jdd�|jdd�|jgtd	d
�D]}t|jd|��^qodd
ddddddddg
�|jdd�|jgtd	d
�D]}t|jd|��^q�dd
ddddddddg
�|jdd�|jdd�|jgtd	d
�D]}t|jd|��^qWddddddddddg
�|jdd�|jdd�|jgtd	d
�D]}t|jd|��^q�dd
ddddddddg
�|jdd�|jdd�|jtgtd �D]=}dgtd �D]}t|jdd	��^qek^qOk�|jdd�|j	tgtd �D]=}dgtd �D]}t|jdd	��^q�k^q�k�|jdd�|jdd�|jdd�|jdd�|jdd�dS(!NRR!RtformulasGban.Time * math.exp(float(ban.Count+1)*banFactor)/math.exp(1*banFactor)Rs2.0 / 2.885385RiiiXi�i`	i�i�%iKi�i,i�QRiXi�i`	t1i^iQi/i�R i��R"i
(
RR#R'R$R(R+RR,R-R.(RR/R0R3((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyttestFormula�sF	1%1%1%1%WWN(	t__name__t
__module__RRRR'R4R7R:(((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR,s			?	t
BanTimeIncrDBcBs8eZd�Zd�Zdd�Zd�Zd�ZRS(cCs�tt|�j�tdkr@tjdkr@tjd��ntdkrPdSt	j
dd�\}|_t|j�|_
t�|_|j
|j_t�|_|jt_dS(NiisEUnable to import fail2ban database module as sqlite is not available.s.dbt	fail2ban_(ii(R
R=RRR'tsystversion_infotunittesttSkipTestttempfiletmkstempt
dbFilenameR
tdbR	tjailtdatabaseRRRtMain(Rt_((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR�scCsMtdkrdS|jj�dt_tj|j�t	t
|�j�dS(N(RR'RtstopRRItostremoveRER
R=R(R((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR�s
	cCsY|j}|dkr0|j|jj��}n|jd�|jj|||�}|S(N(RGR't
getBanTimetactionst
setBanTimeRtincrBanTime(RtticketRRGtincrTime((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyRQ�s	
cCsJtdkrdS|j}|jj|�|jjd�|jdd�|jdd�d}tt	j
��}t||g�}|jgt
d�D]}|j|d�^q�dddg�|j�|jj||�|jg|jj||dt�D]\}}}|||f^qd|dfg�|j|d	�|j|j|d�d
�|jj||�|jg|jj||dt�D]\}}}|||f^q�d|d	d
fg�|jg|jj|ddt�D]\}}}|||f^q�d|d	d
fg�|jg|jj|d
|d|�D]\}}}|||f^qMd|d	d
fg�|j|jjd
d1d|dt�g�|jjd|dt�}	|jt|	�d||d	f�|jjd|dt�}	|jt|	�d||d	f�|jjd|d|dt�}	|jt|	�d||d	f�d
}xht
d�D]Z}|j||d�|j|d�}
|j|
|d�|jj||�|
}q�W|j||d�|j|d�}
|j|
|d�|j|
|�|jj||�|
}t|d|d3g�}|jd5�|j�|jj||�t|d|d7g�}|jd9�|j�|jj||�|jjd|dt�}	|jt|	�d�|jt|	d�d|||d|f�|jt|	d�d|d|d;d=f�|jjd|d?dt�}	|jt|	�d�|jt|	d�d|d|dAdCf�|j|	dj|��|j|	dj|��|j|	dj|��|j|	dj|dE��t|d |dGg�}|j|j|d!��|j|j|d"��|jd"�|j|j|d!��|j|j|d"��|jd!�|j|j|d"��|jd"�|j�|jj||�|jjd|dt�}	|jt|	�d�|jt|	d�d|d |dId"f�|jj�|jjd|dt�}	|jt|	�d�|jd!�|j�|jj||�|jj�|jjd|dt�}	|jt|	�d�|j|	dj�|�dK|j_|jj�|jjd|dt�}	|jt|	�d�|j|	dj�|d�dM|j_|jj�|jjd|dt�}	|j|	g�td%d&�}t|j _!|jdd�|j|_"|jj|�td'd(d%d&�}
t|
j _!|j|
_"|jj|
�t||g�}|jd)�|j�|jj||�t||d)g�}|jd*�|j#d�|j�|jj|
|�|jjd|d|dt�}	|jt|	�d�|jt|	d�d||d)f�|jjd|
d|dt�}	|jt|	�d�|jt|	d�d+||d)d*f�x7|jj||�D] }|j|d|d)f�Pq�
Wx;|jj||
�D]$}|j|d|d)d*f�Pq�
Wx:|jj|d,t�D] }|j|d|d-f�Pq4W|j$dt�|j%�}|j|j&�|jt|�d||d)f�|
j$dt�|j|
j%�t�|jd.d/�|j$�|j%�}|j|j&�|jt|�d||d!f�|
j$�|j|
j%�t�dS(NNi
RRRs&1 2 4 8 16 32 64 128 256 512 1024 2048s	192.0.2.1iiiiitt
forbantimetfromtimei��i<tcorrectBanTimetipsFFailTicket: ip=%s time=%s bantime=20 bancount=2 #attempts=0 matches=[]sH[FailTicket: ip=%s time=%s bantime=20 bancount=2 #attempts=0 matches=[]]RGiRiiR9i$isGFailTicket: ip=%s time=%s bantime=%s bancount=13 #attempts=0 matches=[]sFFailTicket: ip=%s time=%s bantime=%s bancount=1 #attempts=0 matches=[]it3iXi����i���i���tbackendtpollingtnamesDummyJail-2ipi�.sFFailTicket: ip=%s time=%s bantime=%s bancount=2 #attempts=0 matches=[]toveralljailsiPFRt10mi`���i����i�i�Qi�i��i�i�Qipi@�i�i�Qipi@�i8i �i�i�Qi�i��i8i �ipi@�ipi@�i��i]��i���i��('RR'RGRFtaddJailRORPR#R+RttimeRR$R(RQtincrBanCounttaddBantgetBanR-tsetTimeR&tgetCurrentBansR6tassertNotEqualR)R.t
isTimedOutR,tpurgetgetIPt	_purgeAgeR	tfiltert
ignoreSelfRHtsetBanCounttrestoreCurrentBanst
getFailTickettrestored(RRGRXtstimeRRR0Rt	timeOfBantlastBanTimetrestored_ticketsRtticket2tjail1tjail2tticket1trow((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyttestBanTimeIncr�sT	(
===@		!	























!
!


cCs�tdkrdS|j}|jj|�|jjd�|jdd�tj	}|j
�|j|j�|jd�|j
d�d$|j_|jdd	d
�|jddt�|jd
�|jd�|j
d�ttj��}|jj�}|j|g�d}t||dg�}t�}|jd�x7td�D])}|j|�|jd|||�qOW|j
d�|j|j�d�|j|j��|j d�|jj!|j|�|jj"d|d|ddt#�}	|jt$|	�d�t||g�}t�}|jd�|j|�|jd||j|�|j
d�t%j&|jd�}
|j|
�|j|
j'�|j(��|
}t)j*|�}
|j|
|�|jd|
|d�|j
d�|j|
j+�d�|j|
j�d�|jj"d|d|dt#�}	|jt$|	�d�|j|	dj+�d�|j|	dj�d�t||ddg�}|j,|�|j-|jj.��t|tj�dg�}|j,|�|j|jj.��|j
d�|jj"d|d|dt#�}	|jt$|	�d�|j|	dj+�d�|j|	dj�d�t|dtj�dg�}|jd �|j,|�|j|jj.��|j
d�t|dtj�dg�}|jd!�|j,|�|j-|jj.��|j
d�|jj"d|d|dt#�}	|jt$|	�d"�|j|	dj+�d �|j|	dj�d�|j/�dS(%Ni
RRtnopii���i<tDB_PURGEg����MbP?tdb_purgesPurge database event occurredtwaitg�������?s	192.0.2.1ixitfailureFoundiiRGRVRWitbanFoundi�stest-expired-ban-timestest-actionsi@iR9stest-permanenti����iXii���i��(0RR'RGRFR_RORPR#RRItstarttdb_settaddt
wait_emptyRjtadd_named_timertassertLoggedR&t	wait_idleR+RR`tgetBansR$RRtsetMaxRetryR(t
addFailuretgetBanCountR,RoRmRbReR-R)Rtwait_fortgetRetrytgetMaxRetryRtwrapRNt
putFailTicketR.tcheckBanRK(RRGtobsRqtticketsRXRRtfailManagerR0RtRutfailticket2((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyttestObserver�s�		





	



%	




!


!





!N(R;R<RRR'RQRzR�(((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR=�s
		

	�tObserverTestcBsBeZd�Zd�Zd�Zdefd��YZd�ZRS(cCstt|�j�dS(N(R
R�R(R((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR6scCstt|�j�dS(N(R
R�R(R((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR:scCsft�}|j�|jd�tdg�}|jd|j�|jd|jd�|jd�|j|j�|j	|tdg��t
|_|jd|j�|jd|jd�|jdtj
�|j|j�|j	|tdg��t|_|jd�|j	|tdg��|j|j��|j|j��|j�d}dS(Nittesttcallttest2ttest3i
(RR�R�tsetR�tclearR�R.tis_fullR$R&tpausedRtDEFAULT_SLEEP_TIMER,R-tisActivetisAliveRKR'(RR�to((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyttestObserverBanTimeIncr>s,	


		

t_BadObservercBseZd�ZRS(cCstd��dS(Nsrun bad thread exception(tRuntimeError(R((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pytrun^s(R;R<R�(((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR�]scs�tj�}d�|_tj}g��fd�t_zG|j�|j�|j��jt	j
��fd�d��Wd|t_X�jd��jt
��d��j�ddt��jt�dd�d�dS(	NcSsdS(N(((tv((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyt<lambda>dscs
�j|�S(N(tappend(targs(tx(sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR�hscst��o�jd�S(NsUnhandled exception(R)t
_is_logged((RR�(sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR�msisUnhandled exceptioniisrun bad thread exception(R�R�R�R?t__excepthook__R�RKR5R,RR�R�R$R)R�R6(RR�tprev_exchook((RR�sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyttestObserverBadRunas	


)

(R;R<RRR�RR�R�(((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyR�4s
			(t
__author__t
__copyright__t__license__RLR?RARCR`t
server.mytimeRt
server.ticketRRtserver.failmanagerRtserver.observerRRtserver.utilsRtutilsRt	dummyjailR	tdatabasetestcaseR
RRR=R�(((sC/usr/lib/python2.7/site-packages/fail2ban/tests/observertestcase.pyt<module>s&���

Zerion Mini Shell 1.0