File: //lib/python3.9/site-packages/fail2ban/client/__pycache__/csocket.cpython-39.opt-2.pyc
a
�
�@�6� @ sN d Z dZdZddlmZmZmZ ddlmZ ddl Z ddl
Z
G dd � d �ZdS )
z
Cyril Jaquierz Copyright (c) 2004 Cyril JaquierZGPL� )�dumps�loads�HIGHEST_PROTOCOL� )�CSPROTONc @ sR e Zd Zddd�Zdd� Zdd d
�Zdd� Zd
d� Zedd� �Z eddd��Z
dS )�CSocket�/var/run/fail2ban/fail2ban.sock���c C s@ t � t jt j�| _| j�� | _|dkr0| �|� | j�|� d S �Nr )�socketZAF_UNIXZSOCK_STREAM�_CSocket__csockZ
gettimeout�_CSocket__deftout�
settimeoutZconnect)�self�sock�timeout� r �;/usr/lib/python3.9/site-packages/fail2ban/client/csocket.py�__init__# s
zCSocket.__init__c C s | � � d S �N)�close�r r r r �__del__- s zCSocket.__del__FNc C s@ t tttj|��t�}| j�|� | j�tj � | �
| j||�S r )r �list�mapr �convertr r �sendr �END�receive)r �msg�nonblockingr �objr r r r 0 s zCSocket.sendc C s | j �|dkr|n| j� d S r
)r r r
)r r r r r r 7 s zCSocket.settimeoutc C st | j s
d S z&| j �tjtj � | j �tj� W n tjyD Y n0 z| j � � W n tjyh Y n0 d | _ d S r )
r Zsendallr ZCLOSEr Zshutdownr Z SHUT_RDWR�errorr r r r r r : s z
CSocket.closec C s( t | tttttttf�r| S t| �S dS )z6Convert every "unexpected" member of message to stringN)�
isinstance�str�bool�int�floatr �dict�set)�mr r r r H s zCSocket.convertc C s� t j}|r| �d� |r"| �|� d}|�t jd�dkr|| �|�}t|�sVt� dd��|t jkrbq||| }|dk r&|dK }q&t
|�S ) Nr i i��r �h zConnection reset by peeri � � )r ZEMPTYZsetblockingr �rfindr Zrecv�lenr r"