%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/
Upload File :
Create Path :
Current File : //proc/self/root/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyo

�
��Abc@s!ddlZddlZddlZddlZddlZddlZddlmZddlm	Z	ddl
mZeef\Z
Zyddl
Z
Wnek
r�ZeZnXddlmZmZdZdefd	��YZd
�Zdefd��YZd
efd��YZdS(i����N(tsha1(tpartiali(tStringIO(tCouldNotCanonicalizetConfigParseErrorit	SSHConfigc
BsQeZejd�Ziddddddddgd	6dgd
6dddddddgd
6ddddgd6dddddddddg	d6Zd�Zed��Zed��Z	ed��Z
d�Zd�Zd"ed�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd �Zd!�ZRS(#s(\w+)(?:\s*=\s*|\s+)(.+)s%Cs%hs%ls%Ls%ns%ps%rs%utcontrolpaththostnamet~s%dtidentityfiletproxycommands
match-execcCs
g|_dS(N(t_config(tself((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyt__init__HscCs|jt|��S(N(t	from_fileR(tclsttext((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyt	from_text]scCs&t|��}|j|�SWdQXdS(N(topenR(Rtpathtflo((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyt	from_pathfscCs|�}|j|�|S(N(tparse(RRtobj((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyRps	
cCs�idgd6id6}x�|D]�}|j�}|s|jd�rLqntj|j|�}|stdj|���n|jd�j�}|jd�}|dkr|j	j
|�iid6}|dkr�|j|�|d<q�|j|�|d	<q|d
kr3|j�dkr3d|d|<q|jd�ra|jd�ra|dd
!}n|dkr�||dkr�|d|j
|�q�|g|d|<q||dkr||d|<qqW|j	j
|�dS(Nt*thosttconfigt#sUnparsable line {}iitmatchtmatchesR
tnonet"i����R	tlocalforwardt
remoteforward(RR(R	R R!(tstript
startswithtreRtSETTINGS_REGEXRtformattgrouptlowerRtappendt
_get_hostst_get_matchestNonetendswith(Rtfile_objtcontexttlineRtkeytvalue((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR{s6

cCs�|jd|�}d|kr+||d<n|jdd�d
k}t|jdd��}|r�|jd�|kr�|dj�}|j|||�}||d<|j||d	t�}n|S(NRtcanonicalizehostnametyestalwaystcanonicalizemaxdotsit.tcanonicaldomainst	canonical(R4R5(t_lookuptgetR,tinttcounttsplittcanonicalizetTrue(RRtoptionstcanontmaxdotstdomains((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pytlookup�s(

cs0�dkrt��nx�|jD]�}|j|jdg�|�pg|j|jdg�||��spq"nx}|dj�D]k\�}��kr�|dk	r�|n|��<q��dkr���j��fd�|D��q�q�Wq"W|j�|��d�kr,�ddkr,�d=n�S(NRRRR	c3s%|]}|��kr|VqdS(N((t.0tx(R1RA(sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pys	<genexpr>	sR
(	R,t
SSHConfigDictRt_pattern_matchesR;t_does_matchtitemstextendt_expand_variables(RRRAR9R/R2((R1RAsD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR:�s" 
%
cCs�t}x||D]t}dj||�}t||�}|dk	rM|d}n*ytj|�}Wntjk
rvnX|r
|Sq
W|jdd�dkr�|St|��dS(Ns{}.{}itcanonicalizefallbacklocalR4(	tFalseR&t_addressfamily_host_lookupR,tsockett
gethostbynametgaierrorR;R(RRRARDtfoundtdomaint	candidatetfamily_specific((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR?s

cCs2t�}x"|jD]}|j|d�qW|S(NR(tsetRtupdate(Rthoststentry((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyt
get_hostnames<s	cCs�t|d�r!|jd�}nt}xR|D]J}|jd�r]tj||d�r]tStj||�r.t}q.q.W|S(NR>t,t!i(thasattrR>ROR#tfnmatchR@(RtpatternsttargetRtpattern((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyRIFs

cCs|j||�S(N(RI(RRZR((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyt_allowedXscCs�g}|}tj�}x�|r�|jd�}d}	|jdd�}
|jdd�}|d|d}}
|dkr�|j||�r�tSn|dkr�tS|dkr�|
p�|}|j|
|�}	n�|d	kr�|j|
|�}	n�|dkr |p|}|j|
|�}	n{|d
krA|j|
|�}	nZ|dkr�|j	||d|
�}t
dkrzt�nt
j|d
ddt�j
}	n|	dk	r�|j|	|�r�tS|j|�qW|S(NiRtuserttypetparamR9tallRtoriginalhostt	localusertexecs
match-execthidetstdouttwarn(tgetpasstgetusertpopR,R;t_should_failROR@RIt	_tokenizetinvoketinvoke_import_errortruntokR)(Rt
match_listttarget_hostnameR9RAtmatchedt
candidatestlocal_usernameRVtpassedtconfigured_hosttconfigured_userttype_RgthostvalRetexec_cmd((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyRJ[sD		!cCs|dr|S|S(Ntnegate((Rt
would_passRV((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyRr�scCs�|j|�}|s|S|}|dkr@|jd|�}nd|krY|d}nt}tj�}d|kr�|d}	n|}	tj�jd�d}
t||
�}t	j
jd�}|
|t|�|	}
i
t
|
j��j�d6|d6|d	6|
d
6|d6|d6|d
6|	d6|d6|d6}|}xD|j�D]6\}}||krkqMn|j|t|��}qMW|S(NRtportReR7iRs%Cs%ds%hs%Ls%ls%ns%ps%rs%u(t_allowed_tokensR;tSSH_PORTRoRpRQtgethostnameR>tLazyFqdntosRt
expandusertreprRtencodet	hexdigestRKtreplacetstr(RRRyR1R2tallowed_tokenstconfigured_hostnameR�Ret
remoteusertlocal_hostnamet
local_fqdnthomedirttohashtreplacementst	tokenizedtfindR�((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyRs�sD


cCs|jj|g�S(N(tTOKENS_BY_CONFIG_KEYR;(RR1((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR��s	cCs�x�|D]�}||dkr#qnt|j|||�}t||t�r�xIt||�D] \}}||�|||<q_Wq|||�||<qW|S(N(R,RRst
isinstancetlistt	enumerate(RRRytkt	tokenizertiR2((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyRM�s

cCs>ytj|�SWn&tk
r9tdj|���nXdS(NsUnparsable host {}(tshlexR>t
ValueErrorRR&(RR((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR*�s
c
s�g}tj|�}x�|r�idd6dd6td6}|jd�}|jd�rnt|d<|d}n||d<|dkr�|j|�qn|s�td	j	|���n|jd�|d<|j|�qWg|D]}|d^q�}d|kr�d�t
t�fd
�|��t
t�fd�|��}}d}	t|�r`d}	n3d|kr�|j
d�|j
d�kr�d
}	n|	dk	r�t|	��q�n|S(NRfRgR�iR^iRhR9s'Missing parameter to Match '{}' keywordcs
|�kS(N((RG(t	allowable(sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyt<lambda>tcs
|�kS(N((RG(R�(sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR�R�s>Match does not allow 'all' mixed with anything but 'canonical's-Match does not allow 'all' before 'canonical'(RhR9(RhR9(R�R>R,RORqR#R@R)RR&R�tfiltertanytindex(
RRRttokensR�RGtkeywordsRwtbadterr((R�sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR+�s<	



"	*	N(t__name__t
__module__R$tcompileR%R�R
tclassmethodRRRRRER,ROR:R?R\RIRdRJRrRsR�RMR*R+(((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR/s2
%		
	=	:!	)	
			4		>				cCs�|jdd�j�}|dkr(dSyJtj}|dkrLtj}ntj|d|tjtjtj	�SWntj
k
r�nXdS(Nt
addressfamilyR�tinet(R;R(RQtAF_INET6tAF_INETtgetaddrinfoR,t
SOCK_DGRAMt
IPPROTO_IPtAI_CANONNAMERS(RRAtaddress_familytfamily((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyRP&s 	R�cBseZdd�Zd�ZRS(cCsd|_||_||_dS(N(R,tfqdnRR(RRR((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR
Ps		c	Cs�|jdkr�d}t|j|j�}|dk	r{xB|D]7}|\}}}}}|r=d|kr=|}Pq=q=Wn|dkr�tj�}n||_n|jS(NR7(R�R,RPRRRQtgetfqdn(	RR�tresultstrestaftsocktypetprotot	canonnametsa((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyt__str__Us
N(R�R�R,R
R�(((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR�KsRHcBs#eZd�Zd�Zd�ZRS(cOstt|�j||�dS(N(tsuperRHR
(Rtargstkwargs((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyR
�scCs-||}t|t�r|S|j�dkS(NR4(R�tboolR((RR1tval((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pytas_bool�s
cCst||�S(N(R<(RR1((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pytas_int�s	(R�R�R
R�R�(((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyRHqs"		(R`RoR�R$R�RQthashlibRt	functoolsRt	py3compatRR,RtRutImportErrortet
ssh_exceptionRRR�tobjectRRPR�tdictRH(((sD/opt/plesk/python/2.7/lib/python2.7/site-packages/paramiko/config.pyt<module>s(
��	%&

Zerion Mini Shell 1.0