HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.52.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 15 06:39:08 EDT 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/lib/python3.9/site-packages/setroubleshoot/__pycache__/serverconnection.cpython-39.opt-1.pyc
a

U+e��@s�ddlmZddlZddlZejdkr.ddlZddlmZddl	Z
ddlZddlZddl
ZddlZddlZddlZddlZddlZddlmZmZddlmZmZddlmZddlmZdd	lmZm Z d
gZ!Gdd
�d
eeeej�Z"dS)�)�absolute_importN)�)�GObject)�parse_config_setting�
get_config)�
RpcChannel�ConnectionState)�SETroubleshootServerInterface)�SETroubleshootDatabaseInterface)�Retry�get_error_from_socket_exception�ServerConnectionHandlerc	@s�eZdZejjdejffejjdejejejejffejjdejejffejjdejejffejjdejejejffd�Z	dd�Z
dd�Zddd�Zd	d
�Z
dd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)r
N)�alert�connection_state_changed�signatures_updated�
database_bind�async-errorcCs�tj|dd�tj�|�|j�d|j�|�d|�|�d|�tdd�|_tdd�|_	||_
d	|_t|j
|jd
d�|_d|_d
|_dS)NZsealert)�channel_typeZchangedZSEAlertZSETroubleshootDatabaseNotifyZgeneral�pkg_version�rpc_versionFg�?)Znotify_intervalTZaudit_listener)r�__init__r�connection_state�connect�on_connection_state_changeZconnect_rpc_interfacerrr�username�retry_connection_if_closedr�retry_connection�get_connection_retry_interval�connection_retry�report_connect_failure�
database_name)�selfr�r"�C/usr/lib/python3.9/site-packages/setroubleshoot/serverconnection.pyr0sz ServerConnectionHandler.__init__cCsX|�d||||�|tj@s,|tjtjB@rT|jrT|tj@sT|j�tj�|j	�
�dS)Nr)�emitr�OPEN�HUP�ERRORr�RETRYr�updater�start)r!r�flagsZflags_addedZ
flags_removedr"r"r#r@s
z2ServerConnectionHandler.on_connection_state_changec
CsJ|dur||_|jjtj@r dSz�|j�tjtjtjB�t�	|jj
|jj�|j_	t�|jj	�
�tjtj�|jj	�|j���|�|j�|j�tjtjtjB�|j��d|_|��Wn�tj�yD}zjt|�\}}|jdk�rt�tjd|�d|_|tjk�rtj}ntj}|� |tj||�WYd}~dSd}~00dS)NTz,attempt to open server connection failed: %sF)!�socket_addressrr+rr%r)Z
CONNECTINGr'�Socket�socketZfamily�type�fcntl�filenoZF_SETFDZ
FD_CLOEXECrZget_py_addressZio_watch_addZhandle_client_ior(r�stopr�do_logon�errorr�syslog�LOG_ERR�ErrnoZEPIPEr&Zclose_connection)r!r,�e�errno�strerror�	add_flagsr"r"r#�openPs2
zServerConnectionHandler.opencCs|�|j�rdSdSdS)NTF)r<r,�r!ZretryZ	user_datar"r"r#rosz(ServerConnectionHandler.retry_connectioncCs|jdkrdSdSdS)N��
�<)Zfailed_attemptsr=r"r"r#rus
z5ServerConnectionHandler.get_connection_retry_intervalcCs,t�tjd|||f�|�d|||�dS)Nz#async_error: method=%s errno=%s: %sr)r5r6r$)r!�methodr9r:r"r"r#�async_error_callback{sz,ServerConnectionHandler.async_error_callbackcs2�fdd�}���j�}|�|�|��j�dS)Ncs��d�|�dS)Nr�r$)Z
properties�r!r"r#�database_bind_callback�sz<ServerConnectionHandler.bind.<locals>.database_bind_callback)rr �add_callback�add_errbackrB)r!rE�	async_rpcr"rDr#�binds
zServerConnectionHandler.bindcs@�fdd�}�j�_���j�jd�}|�|�|��j�dS)Ncs�j�tj�dS�N)rr)rZ
AUTHENTICATED)rrrDr"r#�logon_callback�sz8ServerConnectionHandler.do_logon.<locals>.logon_callback�passwd)rZchannel_nameZlogonrrFrGrB)r!rKrHr"rDr#r3�s

z ServerConnectionHandler.do_logoncCs"t�|||||�}|�|j�dSrJ)r
�
set_filterrGrB)r!Zsig�userZfilter_type�datarHr"r"r#rM�sz"ServerConnectionHandler.set_filtercCs|�d|�dS)NrrC)r!Zsiginfor"r"r#r�szServerConnectionHandler.alertcCs|�d||�dS)NrrC)r!r/�itemr"r"r#r�sz*ServerConnectionHandler.signatures_updated)N)�__name__�
__module__�__qualname__rZSignalFlagsZRUN_LASTZ
TYPE_PYOBJECTZTYPE_INTZTYPE_STRINGZ__gsignals__rrr<rrrBrIr3rMrrr"r"r"r#r
s"�


)#Z
__future__rr5�sys�version_infoZ$setroubleshoot.default_encoding_utf8ZsetroubleshootZ
gi.repositoryrr9r7�gettext�osZsix.moves.queueZsix�re�signalZselinuxr.r-r0Zsetroubleshoot.configrrZsetroubleshoot.rpcrrZsetroubleshoot.rpc_interfacesr	r
Zsetroubleshoot.utilrr�__all__r
r"r"r"r#�<module>s4
��