HEX
Server: LiteSpeed
System: Linux 112.webhostingindonesia.co.id 5.14.0-570.62.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 10:10:59 EST 2025 x86_64
User: iyfwylsv (10313)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: //lib/python3.9/site-packages/fail2ban/tests/__pycache__/sockettestcase.cpython-39.opt-2.pyc
a

<J��i�@s�dZdZdZddlZddlZddlZddlZddlZddlZddl	m
Z
ddlmZdd	l
mZmZmZmZmZdd
lmZddlmZddl	m
Z
dd
�ZGdd�de�ZGdd�de
�ZGdd�de
�ZdS)zSteven Hiscocksz"Copyright (c) 2013 Steven HiscocksZGPL�N�)�LogCaptureTestCase�)�protocol)�asyncore�RequestHandler�loop�AsyncServer�AsyncServerException)�Utils)�CSocketcGstd��dS)N�test unpickle error��	Exception��args�r�A/usr/lib/python3.9/site-packages/fail2ban/tests/sockettestcase.py�TestMsgError,src@s$eZdZedffdd�Zdd�ZdS)�TestMsgrcCs
||_dS�N��unpickle)�selfrrrr�__init__/szTestMsg.__init__cCs|jSrr�rrrr�
__reduce__1szTestMsg.__reduce__N)�__name__�
__module__�__qualname__rrrrrrrr.srcs~eZdZ�fdd�Z�fdd�Zedd��Zddd	�Zd
d�Zdd
�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Z�ZS)�SocketcsLtt|���t|�|_t�dd�\}}t�|�t�	|�||_
d|_dS)zCall before every test case.z
fail2ban.sockz
f2b-socketN)�superr �setUpr	�server�tempfile�mkstemp�os�close�remove�	sock_name�serverThread)rZsock_fdr)��	__class__rrr"7s


zSocket.setUpcs*|jr|j��|��tt|���dS)zCall after every test case.N)r*r#�stop�_stopServerThreadr!r �tearDownrr+rrr/As
zSocket.tearDowncCs|S)z<Test transmitter proceed method which just returns first argr)�messagerrr�proceedHszSocket.proceedFcCsNtj|jj|j|fd�|_}d|_|��|�t�	|jj
tj�
d���|S)N)�targetrT�
)�	threading�Threadr#�startr)r*�daemon�
assertTruer�wait_for�isActive�unittest�F2B�maxWaitTime)r�forcer*rrr�_createServerThreadMs�zSocket._createServerThreadcs,|j�t��fdd�tj�d��d|_dS)Ncs���p��tj�Sr)�is_alive�joinrZDEFAULT_SLEEP_TIMEr�r*rr�<lambda>Ys
z*Socket._stopServerThread.<locals>.<lambda>r3)r*rr9r;r<r=rrrBrr.Vs

�zSocket._stopServerThreadcCsZ|��}|j��|��|�|���|j��|�|j���|�tj	�
|j��dSr)r?r#r'r.�assertFalser@r-r:r&�path�existsr)�rr*rrr�testStopPerCloseUnexpected]s

z!Socket.testStopPerCloseUnexpectedc
Cs8zt|j�WSty2}zWYd}~dSd}~00dSr)rr)r)r�errr�
_serverSocketjszSocket._serverSocketcCs�|��}t�|jd�}gd�}|�|�|�|�|�|�t�gg�d�|jdddd�|�|�|�|�|��|��|j	�
�t�|jd�}|�|�|�dg�|j	��|��|�
|���|�
|j	���|�
tj�|j��dS)	Nr��A�testr0�ERROR: test unpickle errorz!PROTO-error: load message failed:r
T��allZSHUTDOWN)r?rr9rJ�assertEqual�sendr�assertLoggedr'r#Zstop_communicationr-r.rDr@r:r&rErFr))rr*�client�testMessagerrr�
testSocketps"

zSocket.testSocketcsh|��}t�|jd��dddtjjgg�tj}z,dd�t_|�	t
d��fdd��W|t_n|t_0dS)	NrrLrMr0cSs|��Sr)r'rrrrrC��z0Socket.testSocketConnectBroken.<locals>.<lambda>zreset by peer|Broken pipecs�j�tj�d�d�S)Nr3)�timeout)rRr;r<r=r�rTrUrrrC�rW)r?rr9rJrZCSPROTOZENDr�found_terminatorZassertRaisesRegexr)rr*�org_handlerrrYr�testSocketConnectBroken�s
�zSocket.testSocketConnectBrokencCs�|��}t�|jd�}gd�}|�|�|�|�tj}z&dd�t_|�|�|�d�W|t_n|t_0|jdddd	�|j	�
�|��|�|�
��dS)
NrrKcSst�Sr)rrrrrrC�rWz.Socket.testStopByCommunicate.<locals>.<lambda>rNzUnexpected communication errorr
TrO)r?rr9rJrQrRrrZrSr#r-r.rDr@)rr*rTrUr[rrr�testStopByCommunicate�s

zSocket.testStopByCommunicatecsttj�ddi���fdd�}z:|t_|��}|�t��fdd�tj�d���W�t_n�t_0|j	dd	d
d�dS)N�cntrrcs,�dd7<�ddkr$td���|�S)Nr^r�2ztest errors in poll)�RuntimeErrorr��errZorg_pollrr�_produce_error�sz-Socket.testLoopErrors.<locals>._produce_errorcs�ddkS)Nr^r_rr)rbrrrC�rWz'Socket.testLoopErrors.<locals>.<lambda>r3z1Server connection was closed: test errors in poll�0Too many errors - stop logging connection errorsTrO)
r�pollr?r8rr9r;r<r=rS)rrcr*rrar�testLoopErrors�s$�zSocket.testLoopErrorscCsxt|jd���|�t|jj|jd�|�d�}|j��|�	�|�
|���|�
|j���|�
t
j�|j��dS)N�wFT)�openr)r'ZassertRaisesr
r#r6r?r-r.rDr@r:r&rErFrGrrr�testSocketForce�s�

zSocket.testSocketForce)F)rrrr"r/�staticmethodr1r?r.rHrJrVr\r]rfri�
__classcell__rrr+rr 5s


	
!r c@seZdZdd�Zdd�ZdS)�
ClientMisccs^ddi��fdd�}�fdd�}t||d�|jdd	d
dd�|�d
�|jddddd�dS)Nr^rcs�ddkS)Nr^�(rr�Zphaserr�_active�sz,ClientMisc.testErrorsInLoop.<locals>._activecs$�dd7<td�d��dS)Nr^rz	test *%d*rrrnrr�_poll�sz*ClientMisc.testErrorsInLoop.<locals>._poll)Zuse_pollztest *1*z	test *10*z	test *20*TrOrdz	test *21*z	test *22*z	test *23*)rrSZassertNotLogged)rrorprrnr�testErrorsInLoop�s
zClientMisc.testErrorsInLoopcCs<tj}ttjd�t_zt��t��W|t_n|t_0dS)Nrg)�sys�stdoutrhr&�devnullrZprintFormattedZ	printWiki)rZsaved_stdoutrrr�testPrintFormattedAndWiki�s
z$ClientMisc.testPrintFormattedAndWikiN)rrrrqrurrrrrl�s
rl)�
__author__Z
__copyright__Z__license__r&rrr$r4�timer;Zutilsr�rZserver.asyncserverrrrr	r
Zserver.utilsrZclient.csocketrr�objectrr rlrrrr�<module>s&+