%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3.9/site-packages/cockpit/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3.9/site-packages/cockpit/__pycache__/remote.cpython-39.pyc

a

��h�#�@s�ddlZddlZddlZddlZddlmZmZmZmZddl	m
Z
ddlmZm
Z
mZmZddlmZmZddlmZmZe�e�ZGdd	�d	e
j�ZGd
d�de�ZGdd
�d
e�ZdS)�N)�Dict�List�Optional�Tuple)�ferny�)�
JsonObject�	JsonValue�get_str�get_str_or_none)�Peer�	PeerError)�Router�RoutingRulec@s�eZdZUe�d�Zeeed<e	e
eeeeefed<eeed<eed<eed�dd�Zeeeeee
d	�d
d�Zeeeeed�d
d�ZdS)�PasswordResponderz!Enter passphrase for key '(.*)': �password�
hostkeys_seen�
error_message�password_attempts�rcCs||_g|_d|_d|_dS)Nr)rrrr)�selfr�r�2/usr/lib/python3.9/site-packages/cockpit/remote.py�__init__*szPasswordResponder.__init__)�reason�host�	algorithm�key�fingerprint�returnc�s|j�|||||f�dS)NF)r�append)rrrrrrrrr�
do_hostkey1szPasswordResponder.do_hostkey)�messages�prompt�hintrc�sxt�d||�tj�|�}|durH|�d�}t�d|�d|��|_dS|jdusVJ�|jdksdJ�|jd7_|jS)NzGot askpass(%s): %srzCThis is a passphrase request for %s, but we don't do those.  Abort.zlocked identity: r)	�logger�debugr�
PASSPHRASE_RE�	fullmatch�grouprrr)rr"r#r$�match�pathrrr�
do_askpass5s
zPasswordResponder.do_askpassN)�__name__�
__module__�__qualname__�re�compiler'r�str�__annotations__rr�intr�boolr!r,rrrrr!s

rcs�eZdZUdZeejed<eed<eeed<eeed<e	ed<dd�dd	�Z
d
d
edd��fdd
�Zedd�dd�Z
dd�dd�Zeeeeee	dd��fdd�Z�ZS)�SshPeerN�sessionr�userr�private�rc�s�|jdusJ�t�d|j|j|j�|j�d�\}}}|rP|��rP|}t|�}n
|j}d}t	|j
�}ddi}|j
dur�|jdd�n|jddd�z(|jj||j||j||d	�IdHW�n�t
tjf�y
}z0t�d
||�tddt|�d�|�WYd}~�n�d}~0tj�y�}z�|j�rT|jd
\}	}}
}}|�d|
�d|��|d�}
ni}
t|tj��rld}n|j�rzd}nd}t�dt|�||j|j||
�t||
|id�|�WYd}~n�d}~0tj�yP}ztt�d||�t�|jd�}d|v�r$|j
du�r$|jd
k�rd|d<nd|d<td|j�p2d|d�|�WYd}~nPd}~0tj�y�}z,t�d||�tdt|�d�|�WYd}~n
d}~00|j�dg�}|� |g�IdHdS)Nz1Starting ssh session user=%s, host=%s, private=%s�:ZStrictHostKeyCheckingZyes�1)ZNumberOfPasswordPrompts�no)ZPasswordAuthenticationZKbdInteractiveAuthentication)Z
login_name�portZhandle_host_key�optionsZinteraction_responderz connecting to host %s failed: %szno-host)�error�messager� )zhost-keyzhost-fingerprintzinvalid-hostkeyzunknown-hostkeyzunknown-hostzPSshPeer got a %s %s; private %s, seen hostkeys %r; raising %s with extra args %r)r@Zauth_method_resultsz$authentication to host %s failed: %sznot-providedrz	not-triedZdeniedzauthentication-failedz)unknown failure connecting to host %s: %szinternal-error)rAzcockpit-bridge)!r7r%r&r8rr9�
rpartition�isdigitr4rr�updateZconnect�OSError�socketZgaierrorr
r2rZSshHostKeyErrorr�
isinstanceZSshChangedHostKeyError�typeZSshAuthenticationError�dict�fromkeys�methodsrrZSshErrorZwrap_subprocess_argsZspawn)r�basename�colonZportstrrr>Z	responderr?�excZ_reasonrrrZ
error_argsr@�results�argsrrr�do_connect_transportOsj


�*�&

��(zSshPeer.do_connect_transportz
str | None)rr)rArcs0||jkr|��n|dur,t��|||�dS�N)r�close�super�do_kill)rrr)rA��	__class__rrrV�s

zSshPeer.do_kill)rArcCs:t|d��d�r6t|d�}|jd||jp*dd�d|_dS)NZ	challengezplain1:�cookieZ	authorize�)ZcommandrYZresponse)r
�
startswithZ
write_controlr)rrArYrrr�do_authorize�s
zSshPeer.do_authorizecCs
d|_dSrSr)rrrr�do_superuser_init_done�szSshPeer.do_superuser_init_done)�routerrr8r?r9rcsjt��|�||_||_t|dd�|_||_t��|_	t
|dd�}|dvrPd}nd|i}|j||d�dS)Nrzinit-superuser)NZnoneF�id)�	init_host�	superuser)rUrrr8r
rr9r�Sessionr7rZstart_in_background)rr^rr8r?r9Zinit_superuserrarWrrr�s
zSshPeer.__init__)r-r.r/r7rrrbr3r2r5rRrrVr\r]rr�
__classcell__rrrWrr6Hs
Gr6csbeZdZUeeeeeeefefed<�fdd�Z	e
eed�dd�Zdd�d	d
�Z�Z
S)�HostRoutingRule�remotescst��|�i|_dSrS)rUrre)rr^rWrrr�szHostRoutingRule.__init__)r?rcsN�jdusJ��jjdusJ�t|d�jj�}|�jjkr>dSt|dd�}|t��krZd}|sv|�d�\}}}|ptd}t|dd�dkr�t|d�}nd}t|t�s�J�|dus�t|t�s�J�|dus�t|t�s�J�|||f�t�	d|�t�	d����j
v�rDt�	d	��j
�t�j||||dud
�}|���fdd��|�j
�<�j
�S)
Nrr8�@r7r9Zchannelz!Request for channel %s is remote.zkey=%szC%s is not among the existing remotes %s.  Opening a new connection.)r9cs�j���SrS)re�__delitem__r�rrrr�<lambda>��z,HostRoutingRule.apply_rule.<locals>.<lambda>)
r^r`r
�getpassZgetuserrCrHr2r%r&rer6Zadd_done_callback)rr?rr8Zuser_from_host�_Znonce�peerrrhr�
apply_rule�s4

zHostRoutingRule.apply_ruleNr:cCs t|j���D]}|��qdSrS)�setre�valuesrT)rrmrrr�shutdown�szHostRoutingRule.shutdown)r-r.r/rrr2rrr3rrrnrqrcrrrWrrd�s
"(rd)rkZloggingr0rG�typingrrrrZcockpit._vendorrZjsonutilrr	r
rrmrr
r^rrZ	getLoggerr-r%ZAskpassHandlerrr6rdrrrr�<module>s
'p

Zerion Mini Shell 1.0