HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/asyncssh/__pycache__/agent_win32.cpython-310.pyc
o

�h�@s�dZddlZddlZddlZddlZddlmZmZmZm	Z	ddl
mZer.ddlm
Z
mZzddlZddlZddlZddlZdZWneyMdZYnwd	Zd
ZdZdZddd�ZGdd�dej�ZGdd�d�ZGdd�d�Zded
edfdd�ZdS)z"SSH agent support code for Windows�N)�
TYPE_CHECKING�Tuple�Union�cast�)�	open_file)�AgentReader�AgentWriterTFl�P�i �Pageantz\\.\pipe\openssh-ssh-agent�return�win32ui.PyCWndcCs@trzt�tt�WStjyttjd�d�wttjd�d�)z"Find and return the Pageant windowzAgent not foundNzPyWin32 not installed)�_pywin32_available�win32ui�
FindWindow�_AGENT_NAME�error�OSError�errno�ENOENT�rr�G/usr/local/CyberCP/lib/python3.10/site-packages/asyncssh/agent_win32.py�_find_agent_window9s�rc@s0eZdZdZdejjfdejjfdejffZ	dS)�_CopyDataStructz7Windows COPYDATASTRUCT argument for WM_COPYDATA message�dwData�cbData�lpDataN)
�__name__�
__module__�__qualname__�__doc__�ctypes�wintypes�LPARAM�DWORD�c_char_p�_fields_rrrrrEs

�rc@sReZdZdZddd�Zdeddfdd�Zd	edefd
d�Zddd
�Z	ddd�Z
dS)�_PageantTransportz0Transport to connect to Pageant agent on WindowsrNc
Cs�t�t��d��|_z
t�d|jtdd�|_Wntjy-}z	tt	j
t|��d�d}~wwtt
t|j�d|j���|_d|_dS)N�08x�rrF)r�win32api�GetCurrentThreadId�_mapname�mmapfile�_AGENT_MAX_MSGLEN�_mapfilerrr�EIO�strr�_AGENT_COPYDATA_ID�len�encode�_cds�_writing)�self�excrrr�__init__Ps

����
z_PageantTransport.__init__�datac
CsV|js|j�d�d|_z	|j�|�WdSty*}z	ttjt|��d�d}~ww)z#Write request data to Pageant agentrTN)	r5r.�seek�write�
ValueErrorrrr/r0)r6r9r7rrrr;^s��z_PageantTransport.write�nc�sl�|jr"t�}|�tjdtt|j��stt	j
d��d|_|j�d�|j�
|�}t|�|kr4t�||��|S)z%Read response data from Pageant agentrzUnable to send agent requestF)r5r�SendMessage�win32con�WM_COPYDATAr�intr4rrr/r.r:�readr2�asyncio�IncompleteReadError)r6r=�cwnd�resultrrr�readexactlyjs�

�z_PageantTransport.readexactlycC�|jr
|j��dSdS)zClose the connection to PageantN)r.�close�r6rrrrI~��z_PageantTransport.closec���dS�zWait for the transport to closeNrrJrrr�wait_closed��z_PageantTransport.wait_closed�rN)rrrrr8�bytesr;rArGrIrNrrrrr&Ms

r&c@sVeZdZdZdefdd�Zdedefdd�Zd	edd
fdd�Z	dd
d�Z
ddd�Zd
S)�_W10OpenSSHTransportz3Transport to connect to OpenSSH agent on Windows 10�
agent_pathcCst|d�|_dS)Nzr+b)r�
_agentfile)r6rSrrrr8�sz_W10OpenSSHTransport.__init__r=rc�s*�|j�|�}t|�|krt�||��|S)z%Read response data from OpenSSH agent)rTrBr2rCrD)r6r=rFrrrrG�s
�z _W10OpenSSHTransport.readexactlyr9NcCs|j�|�dS)z#Write request data to OpenSSH agentN)rTr;)r6r9rrrr;�sz_W10OpenSSHTransport.writecCrH)zClose the connection to OpenSSHN)rTrIrJrrrrI�rKz_W10OpenSSHTransport.closec�rLrMrrJrrrrN�rOz _W10OpenSSHTransport.wait_closedrP)rrrrr0r8rArQrGr;rIrNrrrrrR�s

rRrSc�sF�d}|szt�t�}Wntyt}Ynw|st|�}||fS)z<Open a connection to the Pageant or Windows 10 OpenSSH agentN)rr&r�_DEFAULT_OPENSSH_PATHrR)rS�	transportrrr�
open_agent�s�
�rW)rr) rrCr �ctypes.wintypesr�typingrrrr�miscr�agentrr	r,r)r?rr
�ImportErrorr1r-rrUr�	Structurerr&rRr0rWrrrr�<module>s6�
;