HEX
Server: Apache
System: Linux hp3-stn-1011028.hostingp3.local 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: csh958633 (951153)
PHP: 8.3.30
Disabled: shell_exec,exec,system,popen,set_time_limit
Upload Files
File: //lib/python2.7/site-packages/rhn/transports.pyo
�
+Xc@s�ddlZddlZddlZddlmZddlmZmZddlm	Z	ddl
mZy,ddlZddl
mZmZmZWn2ek
r�ddljZeZeZeZnXdZdZd	efd
��YZdejfd��YZd
efd��YZdefd��YZdefd��YZdd"d��YZddd�Z dddd�Z"dd#d��YZ#dd$d��YZ$dd�Z%dd�Z&e$Z'd d%d!��YZ(dS(&i����N(tconnections(tsstrtbstr(tSmartIO(tUserDictCase(tIntTypet
StringTypetListTypes2.6.3-1.el7itNotProcessedcBseZRS((t__name__t
__module__(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR$st	TransportcBs�eZdeZddddddd�Zdd�Zd�Zd�Zd�Z	ddd�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zdd�Zd�Zd�Zd�Zd�ZRS(srhn.rpclib.py/%sicCs�t|_idd6dd6|_|jd|d|�t�|_d|_d|_d|_	d|_
||_||_d|_
d|_d|_d|_d|_||_||_dS(NittransfertencodingtPOSTi@(tFalset_use_builtin_typest_transport_flagstset_transport_flagsRt_headerstverbosetNonet
connectiontmethodt_langtrefreshCallbacktprogressCallbackt
bufferSizet
headers_intresponse_statustresponse_reasont_redirectedt
_use_datetimettimeout(tselfRR
RRtuse_datetimeR!((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt__init__*s"													i@cCs||_||_dS(N(RR(R"RR((s2/usr/lib/python2.7/site-packages/rhn/transports.pytset_progress_callback?s	cCs
||_dS(N(R(R"R((s2/usr/lib/python2.7/site-packages/rhn/transports.pytset_refresh_callbackDscCs"|dkrd}n||_dS(Ni@(RR(R"R((s2/usr/lib/python2.7/site-packages/rhn/transports.pytset_buffer_sizeJs	cCs,|dkrtd|��n||_dS(NtGETRsUnknown request method %s(R(sPOST(tIOErrorR(R"R((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt
set_methodRscKsV|jj|�|dk	r,||jd<n|dk	rH||jd<n|j�dS(NRR
(RtupdateRtvalidate_transport_flags(R"RR
tkwargs((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRXscCs
|jj�S(N(Rtcopy(R"((s2/usr/lib/python2.7/site-packages/rhn/transports.pytget_transport_flagscscCsf|jjd�}t|dd�}||jd<|jjd�}t|dd�}||jd<dS(NRtstrictiR
(RtgettlookupTransfertlookupEncoding(R"RR
((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR,fs
cCsdt|�tg�td�gkrMg|D]}t|�^q+|j|<nt|�|j|<dS(N((ttypetstrR(R"tnametargta((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt
set_headerqs$)cCsb||jkr:|j|}t|t�sK|g}qKng}|j|<|jt|��dS(N(Rt
isinstanceRtappendR5(R"R6R7tvlist((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt
add_headerxs
cCs|jj�dS(N(Rtclear(R"((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt
clear_headers�scCsH|jrd|fGHn|jr7tj|d|j�Stj|�SdS(NsConnecting via http to %sR!(RR!RtHTTPConnection(R"thost((s2/usr/lib/python2.7/site-packages/rhn/transports.pytget_connection�s
		cCs�||_|j|�\}}}|s0g}n|j|�}|j|j�|jro|j|jd�ntd|d|j�}|j|j	�|j
d|j�x7t|jj
��|D]\}	}
|j
|	|
�q�W|j
dd�|j|�x!ddgD]}|j|�qW|j||�\}}
|jrzd	GHx,|j
�D]\}	}
d
|	|
fGHqXWn|
jdkr�|d
|_|
j|_dS||_|
j|_|
j|_|j|
|�S(NiRRs
User-AgentsContent-Typestext/xmlsContent-LengthtHostsIncoming headers:s	%s : %si-i.tLocation(i-i.(Rt
get_host_infoRBtset_user_agentt
user_agenttset_debugleveltOutputRRRR9tlistRtitemstprocesstclear_headert	send_httptstatusRRRRtreasonRt_process_response(R"RAthandlertrequest_bodyRt
extra_headerstx509Rtreqtheadertvalueththeaderstfd((s2/usr/lib/python2.7/site-packages/rhn/transports.pytrequest�s<			&
	
	cCs�t|jd|jd|j�}|j|�}t|t�r|t|j|j	|j
d|jd|j�}|j|_|S|j�|j|�S(NRR(
tInputRRRtdecodeR:tInputStreamtFileR[tlengthR6tclosetparse_response(R"R[Rtresptf((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRQ�s!
cCs|jS(N(R(R"((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt
redirected�scCs�|j�\}}x\|jd�}|s.Pn|jrD|j�n|jradt|�fGHn|j|�q|j�|j�|j�S(Nisbody:(t	getparsertreadRRtreprtfeedRb(R"Retptutresponse((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRc�s	
	

cCs
||_dS(N(R(R"tlang((s2/usr/lib/python2.7/site-packages/rhn/transports.pytsetlang�sN(R	R
t__version__RGRR$R%R&R'R*RR/R,R9R=R?RBR\RQRfRcRo(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR's&
											8			t
SafeTransportcBs5eZddddddd�Zd�Zd�ZRS(ic
CsVtj|||d|d|d|�g|_x!|p:gD]}|j|�q;WdS(NRRR!(RR$t
trusted_certstadd_trusted_cert(R"RR
RRRrR!tcertfile((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR$�s	cCs<tj|tj�s(td|��n|jj|�dS(Ns%Certificate file %s is not accessible(tostaccesstR_OKt
ValueErrorRrR;(R"Rt((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRsscCsr|j|�\}}}|jr0d|fGHn|jrXtj|d|jd|j�Stj|d|j�SdS(NsConnecting via https to %sRrR!(RERR!RtHTTPSConnectionRr(R"RARTRU((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRBs		N(R	R
RR$RsRB(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRq�s		tProxyTransportcBs/eZdddddddd�Zd�ZRS(ic		
CsDtj|||d|d|d|�||_||_||_dS(NRRR!(RR$t_proxyt_proxy_usernamet_proxy_password(	R"tproxyt
proxyUsernamet
proxyPasswordRR
RRR!((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR$s		c	Cs�|jr*d||j|j|jfGHn|jratj|j|d|jd|jd|j�Stj|j|d|jd|j�SdS(Ns8Connecting via http to %s proxy %s, username %s, pass %stusernametpasswordR!(RR{R|R}R!RtHTTPProxyConnection(R"RA((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRB#s		
N(R	R
RR$RB(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRzstSafeProxyTransportc	Bs;eZddddddddd�Zd�Zd�ZRS(ic
Csktj||d|d|d|d|d|d|d|	�g|_x!|pOgD]}
|j|
�qPWdS(NRR�RR
RRR!(RzR$RrRs(R"R~RR�RR
RRRrR!Rt((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR$0s	cCs<tj|tj�s(td|��n|jj|�dS(Ns%Certificate file %s is not accessible(RuRvRwRxRrR;(R"Rt((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRs=scCs�|jr*d||j|j|jfGHn|jrjtj|j|d|jd|jd|jd|j�Stj|j|d|jd|jd|j�SdS(Ns9Connecting via https to %s proxy %s, username %s, pass %sR�R�RrR!(RR{R|R}R!RtHTTPSProxyConnectionRr(R"RA((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRBBs		N(R	R
RR$RsRB(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR�/s
		R]cBsDeZddddd�Zejd�Zejd�Zd�ZRS(ii@cCsGd|_d|_d|_d|_d|_d|_||_||_||_	|s>dt
jkrt
jdj�|_ndt
jkr�t
jdj�|_ndt
jkr�t
jdj�|_ndt
jkr�t
t
jd�|_ndt
jkrt
jd|_nd	t
jkr:t
jd	|_q:n�x�|j�D]�}||}|j�}|d
kr�yt
|�|_Wq6tk
r�d|_q6XqK|dkr�|j�|_qK|dkr�|j�|_qK|d
kr|j�|_qK|dkr|j�|_qK|dkrK||_qKqKWd|_dS(NitCttHTTP_CONTENT_TRANSFER_ENCODINGtHTTP_CONTENT_ENCODINGsCONTENT-TYPEtCONTENT_LENGTHtHTTP_ACCEPT_LANGUAGEtHTTP_X_PACKAGE_FILENAMEscontent-lengthscontent-transfer-encodingscontent-encodingscontent-typesaccept-languagesx-package-filename(RRR
R4RaRnR6RRtmax_mem_sizeRutenvirontlowertinttkeysRxtio(R"RZRRR�RWRXRY((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR$hsR									

c	Cs�|jdkrdS|jrOt||jd|jd|jd|j�|_nt|�|_|jsw|jdkr{dS|jdkr�ddl	}|j}|j
dd�td|j�|_|j||j�nt
|j��dS(	Nsapplication/octet-streamRRR�tbinarytbase64i����i(R4Rat_smart_readRRR�R�t_smart_total_readRR�tseekRR^tNotImplementedError(R"R[R�told_io((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRh�s"				cCs�|jdkr.t||j|jd|j�S|jsG|j|�nt|d�rc|j�n|js�|jdkrnd|jdkrddl	}|j
�}|jjdd�|j|jj��|j
�}~t|�|_td|j�|_|jj|�n�|jdkr�ddl}|jjdd�|jddd
td|j�}|j�}t|�|_td|j�|_|jj|�n<|jdkr�t|j|j��nt|j|j��|jjdd�|jS(Nsapplication/octet-streamRbt__plainsx-zlibtdeflatei����iR�sx-gziptgziptmodetrbt
compressleveltfileobjsx-gpg(sx-zlibR�(sx-gzipsgzip(R4R_RaR6RbR�RhthasattrR
tzlibt
decompressobjR�t
decompresstflushtlenRR�twriteR�tGzipFiletCOMPRESS_LEVELR�R(R"R[R�tobjtdataR�tgz((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR^�s>	
"cCs|jS(N(Rn(R"((s2/usr/lib/python2.7/site-packages/rhn/transports.pytgetlang�sN(	R	R
RR$tsyststdinRhR^R�(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR]gs
	70ii@cCs?td|�}x)|j|�}|s+Pn|j|�q|S(s�
    Tries to read data from the supplied stream, and puts the results into a
    StmartIO object. The data will be in memory or in a temporary file,
    depending on how much it's been read
    Returns a SmartIO object
    R�(RRhR�(R[RR�R�tchunk((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR��scCs0tj�}|}td|�}|}x�|dkrtj�}	t||�}
|j|
�}t|�}
|
svPn||
}|j|�|dkr�q*n|	|dks�|dkr*|	}t||�}||	|d}
|dkr�d}n
||
}||||
|�q*q*W|jdd�|S(NR�iig���ư>(	ttimeRtminRhR�R�RtfloatR�(R[tamtRRR�t	startTimetlastTimetbuftorigsizetcurTimetlR�t	bytesReadtspeedtsecs((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR�s2

	
R_cBs eZddd�Zd�ZRS(s	<unknown>cCs.||_t|�|_||_||_dS(N(R[R�RaR6Rb(R"R[RaR6Rb((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR$=s		cCsd|j|jfS(Ns0Input data is a stream of %d bytes for file %s.
(RaR6(R"((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt__repr__CsN(R	R
RR$R�(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR_<st
BaseOutputcBs�eZdZdZdZdZdZdZdZddgddgddgd	ggZ
dd
dgZddddd
�Zd�Z
d�Zd�Zddd�Zdd�Zd�Zd�ZRS(iiiiR�sx-gzipR�sx-zlibR�sx-gpgR�R�RcCs�|r*t|tj�s*td��q*n||_||_d|_t�|_	d|_
d|_i|_d|_
d|_d|_d|_d|_d|_|jd|d|�d|_dS(Ns&Expected an HTTPConnection type objectiRR
(R:RR@t	ExceptionRt_connectionRR�RRZR
Rttransport_flagsR�R�t_hostt_handlert
_http_typet	_protocolRt_BaseOutput__processed(R"RR
RR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR$cs$												cCs]t|�tg�td�gkrFdjtt|��|j|<nt|�|j|<dS(Nt,((R4tjointmapR5RZ(R"R6R7((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR9�s$"cCs ||jkr|j|=ndS(N(RZ(R"R6((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRM�scCs�||_|j|jkr�ddl}|j|jd}|jd|�tdd�}|jdddtd	|�}t	j
dd
kr�|jt|��n|jt
|��|j�|j�|_|j�n�|j|jkrJddl}|j|jd}|jd|�|jt�}|j|�|j�|_nN|j|jkr�t|j|j��|j|jd}|jd|�n|j|jkr�|j|j}|jd|�|jdd
�nf|j|jkrCddl}	|j|j}|jd|�|jdd�|	j|j�|_n|jdt|j��t}
ttj��dkr�tj�d}
n|jdd|
�d|_ dS(Ni����isContent-Encodingt	force_memiR�twbR�R�isContent-Transfer-EncodingsContent-Typesapplication/binarystext/base64sContent-LengthsX-Transport-Infos=Extended Capabilities Transport (C) Red Hat, Inc (version %s)(!R�R
tENCODE_GZIPR�t	encodingsR9RR�R�R�tversion_infoR�RRRbtgetvaluetENCODE_ZLIBR�tcompressobjtcompressR�t
ENCODE_GPGR�RtTRANSFER_BINARYt	transferstTRANSFER_BASE64R�tencodestringR�RptsplitR�(R"R�R�t
encoding_nameReR�R�R�t
transfer_nameR�trpc_version((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRL�sT		

	cKs&||_||_|jj|�dS(N(RR
R�R+(R"RR
R-((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR�s		s/RPC2cCs�|jst�n||_|jdkr9td��n|jj�|jj|j|dt	|j
�d|j�|jj�}|j
|�s�tjd|j|f|j|j|j��n|j|fS(NsNo connection object foundtbodyRZs%s %s(R�RR�R�RR�tconnectR\RRR�RZtgetresponsetresponse_acceptablet	xmlrpclibt
ProtocolErrorRORPtmsg(R"RARRRm((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRN�s			
.	
cCsj|jdkrdS|jd
kr&dS|jdkr9dS|jjd�sOdS|jdd	krfdSdS(s*Returns true if the response is acceptablei�ii-i.i�itallow_partial_contentsContent-Typesapplication/octet-stream(i-i.(ROR�R1R�(R"Rm((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR��scCs&|jr"|jj�d|_ndS(N(R�RbR(R"((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRb�s	
N(R	R
tENCODE_NONER�R�R�t
TRANSFER_NONER�R�RR�R�R$R9RMRLRRNR�Rb(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR�Is,							8	icCs�|dkrdSt|t�rHd|ko?ttj�knrH|St|t�r�x=tttj��D]#}tj||j�krm|SqmWn|r�t	d|��ndS(sTGiven a string or numeric representation of a transfer, return the
    transfer codeisUnsupported transfer %sN(
RR:RR�RIR�RtrangeR�Rx(RR0ti((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR2s4cCs�|dkrdSt|t�rHd|ko?ttj�knrH|St|t�r�x=tttj��D]#}|j�tj|krm|SqmWn|r�t	d|��ndS(sUGiven a string or numeric representation of an encoding, return the
    encoding codeisUnsupported encoding %sN(
RR:RR�RIR�RR�R�Rx(R
R0R�((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR3s4R`cBsMeZddddd�Zd�Zdd�Zd�Zd�Zd�ZRS(	ii@cCs`||_||_|j|_||_d|_|rS||jd�d|_n||_dS(NR�t/i(Ratfile_objRbRR6trfindR(R"R�RaR6RR((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR$&s				cCs|jS(N(Ra(R"((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt__len__1scCs2|dkr"|j�}|j�S|jj|�S(N(Rt	_get_fileRhR�(R"R�R[((s2/usr/lib/python2.7/site-packages/rhn/transports.pyRh4s
cCsn|j�}x[|j|j�}|s+PntjddkrT|jt|��q|jt|��q|S(sHCopies the contents of this File object into another file
        objectii(R�RhRR�R�R�RR(R"tfileR[R�((s2/usr/lib/python2.7/site-packages/rhn/transports.pytread_to_file<scCso|jrCt|j|jd|jd|j�}|jdd�nt|jd|j�}|jdd�|S(s�Read everything into a temporary file and call the progress
        callbacks if the file length is defined, or just reads till EOFRRi(RaR�R�RRR�R�(R"R�((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR�Js		cCs#|jr|j�d|_ndS(N(RbR(R"((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt__del__Xs	
N(	R	R
RR$R�RhR�R�R�(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyR`%s
			((((()RuR�R�trhnRtrhn.i18nRRtrhn.SmartIORtrhn.UserDictCaseRR�ttypesRRRtImportErrort
xmlrpc.clienttclientR�tbytesRJRpR�R�RRRqRzR�R]R�RR�R_R�R2R3RIR`(((s2/usr/lib/python2.7/site-packages/rhn/transports.pyt<module>
s> 

�8�;
�