Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
ó
°‹EYc@s dZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZm
Z
mZmZmZmZmZddlmZmZddlmZmZddlmZd	„Zd
efd„ƒYZd„Zd
efd„ƒYZ dS(s
Packet handling
iÿÿÿÿN(tHMAC(tutil(t
linefeed_bytet
cr_byte_valuetasbytest	MSG_NAMEStDEBUGt	xfffffffft	zero_byte(tutbyte_ord(tSSHExceptiontProxyCommandFailure(tMessagecCst|||ƒjƒS(N(Rtdigest(tkeytmessagetdigest_class((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytcompute_hmac)stNeedRekeyExceptioncBseZdZRS(s1
    Exception indicating a rekey is needed.
    (t__name__t
__module__t__doc__(((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyR-scCsDd}t|jƒtkr@t|jƒdkr@|jd}n|S(Ni(tNonettypetargsttupletlen(tetarg((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyt	first_arg4s*t
PacketizercBsReZdZeddƒZeddƒZeddƒZeddƒZd„Ze	d„ƒZ
d„Zed„Z
d„Zd„Zd	„Zd
„Zd„Zd„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zed„Zd„Zd„Zd„Zd„Z d„Z!d„Z"d„Z#d„Z$d„Z%RS(s9
    Implementation of the base SSH packet protocol.
    iicCsT||_d|_t|_t|_t|_d|_tƒ|_	d|_
d|_d|_d|_
d|_d|_d|_d|_d|_d|_d|_d|_t|_d|_d|_tƒ|_tƒ|_d|_d|_d|_d|_tj ƒ|_!d|_"t#j#ƒ|_$d|_%d|_&t|_'t|_(dS(Nii()t_Packetizer__socketRt_Packetizer__loggertFalset_Packetizer__closedt_Packetizer__dump_packetst_Packetizer__need_rekeyt_Packetizer__init_counttbytest_Packetizer__remaindert_Packetizer__sent_bytest_Packetizer__sent_packetst_Packetizer__received_bytest_Packetizer__received_packetst$_Packetizer__received_bytes_overflowt&_Packetizer__received_packets_overflowt_Packetizer__block_size_outt_Packetizer__block_size_int_Packetizer__mac_size_outt_Packetizer__mac_size_int_Packetizer__block_engine_outt_Packetizer__block_engine_int_Packetizer__sdctr_outt_Packetizer__mac_engine_outt_Packetizer__mac_engine_int_Packetizer__mac_key_outt_Packetizer__mac_key_int _Packetizer__compress_engine_outt_Packetizer__compress_engine_int _Packetizer__sequence_number_outt_Packetizer__sequence_number_int	threadingtRLockt_Packetizer__write_lockt_Packetizer__keepalive_intervalttimet_Packetizer__keepalive_lastt_Packetizer__keepalive_callbackt_Packetizer__timert_Packetizer__handshake_completet_Packetizer__timer_expired(tselftsocket((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyt__init__KsF																													cCs|jS(N(R#(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytclosedyscCs
||_dS(s?
        Set the Python log object to use for logging.
        N(R!(RHtlog((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytset_log}scCs||_||_||_||_||_||_d|_d|_|jdO_|jdkr{d|_t	|_
ndS(s.
        Switch outbound data cipher.
        iiiN(R3R5R/R6R1R8R)R*R&R"R%(RHtblock_enginet
block_sizet
mac_enginetmac_sizetmac_keytsdctr((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytset_outbound_cipherƒs									cCsˆ||_||_||_||_||_d|_d|_d|_d|_|j	dO_	|j	dkr„d|_	t
|_ndS(s-
        Switch inbound data cipher.
        iiiN(R4R0R7R2R9R+R,R-R.R&R"R%(RHRNRORPRQRR((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytset_inbound_cipher—s										cCs
||_dS(N(R:(RHt
compressor((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytset_outbound_compressor¬scCs
||_dS(N(R;(RHRV((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytset_inbound_compressor¯scCst|_|jjƒdS(N(tTrueR#R tclose(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyRZ²s	cCs
||_dS(N(R$(RHthexdump((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytset_hexdump¶scCs|jS(N(R$(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytget_hexdump¹scCs|jS(N(R2(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytget_mac_size_in¼scCs|jS(N(R1(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytget_mac_size_out¿scCs|jS(sæ
        Returns ``True`` if a new set of keys needs to be negotiated.  This
        will be triggered during a packet read or write, so it should be
        checked after every read or write, or at least after every few.
        (R%(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyt
need_rekeyÂscCs%||_||_tjƒ|_dS(sÏ
        Turn on/off the callback keepalive.  If ``interval`` seconds pass with
        no data read from or written to the socket, the callback will be
        executed and the timer will be reset.
        N(RARDRBRC(RHtintervaltcallback((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyt
set_keepaliveÊs		cCs
t|_dS(N(RYRG(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyt
read_timerÔscCs;|js7tjt|ƒ|jƒ|_|jjƒndS(só
        Tells `Packetizer` that the handshake process started.
        Starts a book keeping timer that can signal a timeout in the
        handshake process.

        :param float timeout: amount of seconds to wait before timing out
        N(RER>tTimertfloatRdtstart(RHttimeout((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytstart_handshake×s	cCs!|js
tS|jrtS|jS(sR
        Checks if the handshake has timed out.

        If `start_handshake` wasn't called before the call to this function,
        the return value will always be `False`. If the handshake completed
        before a timeout was reached, the return value will be `False`

        :return: handshake time out status, as a `bool`
        (RER"RFRG(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pythandshake_timed_outãs

		cCs/|jr+|jjƒt|_t|_ndS(sF
        Tells `Packetizer` that the handshake has completed.
        N(REtcancelR"RGRYRF(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytcomplete_handshakeós	
	cCs¦tƒ}t|jƒdkrN|j| }|j||_|t|ƒ8}nxQ|dkr¡t}|jƒr{tƒ‚nyN|jj|ƒ}t|ƒdkr®tƒ‚n||7}|t|ƒ8}Wn}tj	k
råt
}ndtjk
rH}t|ƒ}|t
jkrt
}qI|t
jkr-qI|jrBtƒ‚qI‚nX|rQ|jrdtƒ‚n|r‘t|ƒdkr‘|jr‘tƒ‚n|jƒqQqQW|S(s&
        Read as close to N bytes as possible, blocking as long as necessary.

        :param int n: number of bytes to read
        :return: the data read, as a `str`

        :raises:
            ``EOFError`` -- if the socket was closed before all the bytes could
            be read
        i(R'RR(R"RjtEOFErrorR trecvRIRhRYterrorRterrnotEAGAINtEINTRR#R%Rt_check_keepalive(RHtntcheck_rekeytouttgot_timeouttxRR((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytread_allüsB	

				!cCsotjƒ|_d}xSt|ƒdkrjt}y|jj|ƒ}Wnštjk
rbt}ntj	k
r¹}t
|ƒ}|tjkr˜t}qã|tj
kr°t}qãd}n*tk
r̂ntk
râd}nX|rd}|jr/d}q/n+|dkr%|dkr%d}n|d7}|dkrGtƒ‚n|t|ƒkr]Pn||}qWdS(Niiÿÿÿÿi
i(RBRCRR"R tsendRIRhRYRoRRpRqRrRt	ExceptionR#Rm(RHRvt#iteration_with_zero_as_return_valuetretry_writeRtRR((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyt	write_all/s@				


		
cCs’|j}x#t|kr.||j|ƒ7}qW|jtƒ}||d|_|| }t|ƒdkrˆ|dtkrˆ|d }nt|ƒS(s‰
        Read a line from the socket.  We assume no data is pending after the
        line, so it's okay to attempt large reads.
        iiiÿÿÿÿ(R(Rt
_read_timeouttindexRRR	(RHRhtbufRt((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytreadlineZs	
"
c	Cst|ƒ}t|dƒ}|tkr5t|}n
d|}t|ƒ}|jjƒz¦|jdk	r||j|ƒ}n|j|ƒ}|j	rÍ|j
td||fƒ|j
ttj
|dƒƒn|jdk	rñ|jj|ƒ}n|}|jdk	rEtjd|jƒ|}|t|j||jƒ|j 7}n|jdt@|_|j|ƒ|jt|ƒ7_|jd7_|j|jkp«|j|jk}|rý|jrý|j
td|j|jfƒd|_d|_|j ƒnWd|jj!ƒXdS(	sR
        Write a block of data using the current cipher, as an SSH block.
        is$%xsWrite packet <%s>, length %dsOUT: s>Iis(Rekeying (hit %d packets, %d bytes sent)N("RR
RRR@tacquireR:Rt
_build_packetR$t_logRRt
format_binaryR3tupdatetstructtpackR<RR8R6R1RR~R)R*t
REKEY_PACKETStREKEY_BYTESR%R-R.t_trigger_rekeytrelease(	RHtdatatcmdtcmd_nametorig_lentpacketRvtpayloadt
sent_too_much((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytsend_messageisN


	
		cCs½|j|jdtƒ}|jdk	r<|jj|ƒ}n|jrd|jtt	j
|dƒƒntjd|d ƒd}|d}|t
|ƒ|jdkr´tdƒ‚n|j||jt
|ƒƒ}||t
|ƒ }||t
|ƒ}|jdk	r |jj|ƒ}n|jrH|jtt	j
|dƒƒn||}|jdkrÍ||j }tjd|j|ƒ|}t|j||jƒ|j }	t	j|	|ƒsÍtdƒ‚qÍnt|dƒ}
|d	||
!}|jr|jtd
||
fƒn|jdk	r5|j|ƒ}nt|d	ƒ}|j|_|jd	t@|_||jd}
|j|
7_|jd	7_|jrñ|j|
7_|jd	7_|j|j ksß|j|j!krTtdƒ‚qTnc|j|j"ks|j|j#krT|jtd|j|jfƒd|_d|_|j$ƒnt|dƒ}|t%kr}t%|}n
d
|}|jr³|jtd|t
|ƒfƒn||fS(së
        Only one thread should ever be in this function (no other locking is
        done).

        :raises: `.SSHException` -- if the packet is mangled
        :raises: `.NeedRekeyException` -- if the transport should rekey
        RusIN: s>IiisInvalid packet blockings>IIsMismatched MACis"Got payload (%d bytes, %d padding)s+Remote transport is ignoring rekey requestss,Rekeying (hit %d packets, %d bytes received)s$%xsRead packet <%s>, length %dN(&RyR0RYR4RR‡R$R…RRR†RˆtunpackRRR2R‰R=RR9R7tconstant_time_bytes_eqR
R;R
tseqnoRR+R,R%R-R.tREKEY_PACKETS_OVERFLOW_MAXtREKEY_BYTES_OVERFLOW_MAXRŠR‹RŒR(RHtheadertpacket_sizetleftoverRR’tpost_packettmactmac_payloadtmy_mactpaddingR“tmsgtraw_packet_sizeRR((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pytread_messageŸs„	
 	

				


	cCsf|jdkrdStt|ƒtƒrOx7|D]}|jj||ƒq/Wn|jj||ƒdS(N(R!Rt
issubclassRtlistRL(RHtlevelR£tm((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyR…ùs
cCs]|js|js|jr!dStjƒ}||j|jkrY|jƒ||_ndS(N(RAR3R%RBRCRD(RHtnow((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyRss

	
cCsÖtjƒ}xÃtrÑy5|jjdƒ}t|ƒdkrHtƒ‚nPWnAtjk
r`n.tk
r}t	|ƒt
jkr‡qŽ‚nX|jr£tƒ‚ntjƒ}|||krtjƒ‚qqW|S(Ni€i(
RBRYR RnRRmRIRhtEnvironmentErrorRRpRrR#(RHRhRgRxRRª((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyRs&		cCs’|j}d|t|ƒd|}tjdt|ƒ|d|ƒ}||7}|jsj|jdkr{|t|7}n|tj	|ƒ7}|S(Niis>IBi(
R/RRˆR‰R5R3RRtosturandom(RHR“tbsizeR¢R’((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyR„%s	#
cCs
t|_dS(N(RYR%(RH((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyRŒ4s(&RRRtpowRŠR‹R™RšRJtpropertyRKRMR"RTRURWRXRZR\R]R^R_R`RcRdRiRjRlRyR~R‚R•R¥R…RsRR„RŒ(((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyR;sB	.											
					3	+		6	Z			
		(!RRpR¬RIRˆR>RBthmacRtparamikoRtparamiko.commonRRRRRRRtparamiko.py3compatR	R
tparamiko.ssh_exceptionRRtparamiko.messageR
RR{RRtobjectR(((sD/home/tvault/.virtenv/lib/python2.7/site-packages/paramiko/packet.pyt<module>s 4