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/SSL.pyo
�
�+Xc@s�dZddlmZddlmZddlZddlZddlZddlmZddl	Z	dZ
eed�r�ejZ
nddlm
Z
d	fd
��YZd�Zdejejfd
��YZdS(sK
rhn.SSL builds an abstraction on top of the objects provided by pyOpenSSL
i����(tSSL(tcryptoN(tbstrixtsslerror(tsocket_errort	SSLSocketcBs�eZdZdd�Zd�Zd�Zdd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
dd�Zdd
�Zd�Zd�Zd�Zd�ZeZeZdd�ZRS(sM
    Class that wraps a pyOpenSSL Connection object, adding more methods
    cCs�d|_d|_||_g|_|p-g}x|D]}|j|�q7Wtj|_tj	|_
d|_d|_t
d�|_d|_d|_dS(Ni it(tNonet_ctxt_connectiont_sockt_trusted_certstadd_trusted_certRt
SSLv23_METHODt_ssl_methodtVERIFY_PEERt_ssl_verify_flagst_buffer_sizet_posRt_buffert_makefile_calledt_closed(tselftsockett
trusted_certstf((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyt__init__/s				
			cCsEtj|tj�s(td|��n|jj|jd��dS(sh
        Adds a trusted certificate to the certificate store of the SSL context
        object.
        s"Unable to read certificate file %ssutf-8N(tostaccesstR_OKt
ValueErrorRtappendtencode(Rtfile((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyRLscCs�|j�tj|j�|_|jrOx-|jD]}|jj|�q2Wn	d|_|jj|jt	�t
td�r�|jjtj�ntj
|j|j�|_|jj�dS(s1
        Initializes the SSL connection.
        itOP_DONT_INSERT_EMPTY_FRAGMENTSN(t
_check_closedRtContextRRRtload_verify_locationsRt
set_verifytssl_verify_callbackthasattrtset_optionsR"t
ConnectionR
R	tset_connect_state(RR((s+/usr/lib/python2.7/site-packages/rhn/SSL.pytinit_sslUs
		cCs&|r||_n|jd|_|S(sG
        Returns self, since we are a file-like object already
        i(RR(Rtmodetbufsize((s+/usr/lib/python2.7/site-packages/rhn/SSL.pytmakefileqscCs8|jr
dS|js$|j�dS|jd|_dS(s+
        Closes the SSL connection
        Ni(RRt
_really_close(R((s+/usr/lib/python2.7/site-packages/rhn/SSL.pytclose~s		
cCs'|jj�|jj�d|_dS(Ni(R	tshutdownR1R(R((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyR0�s

cCs|jrtd��ndS(NsI/O operation on closed file(RR(R((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyR#�s	cCs2t|j|�r"t|j|�St|��dS(N(R(R	tgetattrtAttributeError(Rtname((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyt__getattr__�scCsdS(s'
        Returns false always.
        i((R((s+/usr/lib/python2.7/site-packages/rhn/SSL.pytisatty�scCs|jS(N(R(R((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyttell�sicCstd��dS(Ntseek(tNotImplementedError(RtposR-((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyR9�scCs�|j�|j}t|j�}x(||ks=|dkrL|dk	r_t|||�}nyT|jj|�}|j||_t|j�}|jj�}|dkr�PnWq%t	j
k
r�Pq%t	jk
r�tj
�d}d|jfGHPq%t	jk
r"|jtjd�q%t	jk
rH|jtjd�q%Xq%W|rs|j| }|j||_n|j}td�|_|jt|�|_|S(s@
        Reads up to amt bytes from the SSL connection.
        iis
SSL exceptiontreadRN(R#RtlenRRtminR	trecvtpendingRtZeroReturnErrortSysCallErrortsystexc_infotargstWantWriteErrort_polltselecttPOLLOUTt
WantReadErrortPOLLINRR(Rtamttbuffer_sizet
buffer_lengthtdataR@tetret((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyR<�s<
	
	cCs |jt|��|(t|�S(N(R<R=(Rtbuf((s+/usr/lib/python2.7/site-packages/rhn/SSL.pytreadinto�scCs^tj�}|j|j|�|j|jj�d�}|gkrZtd|��ndS(Ni�sConnection timed out on %s(RHtpolltregisterR
t
gettimeouttTimeoutException(Rtfilter_typetcaller_nametpollertres((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyRG�s
cCs�|j�t|�}x�tr�y6|jj|�}|t|�krJPn||}Wqtjk
r~|jtj	d�qtj
k
r�|jtjd�qXqW|S(s/
        Writes to the SSL connection.
        twrite(R#R=tTrueR	tsendRRFRGRHRIRJRK(RROtoriglentsent((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyR\�s
	cCs
|j|�S(N(R<(RRL((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyR?�scCs�|j�xctrod}|jjtd��}|dkrJ|d}n$|rnt|j�|krn|}n|dk	r�|j| }|j||_|jt|�|_|S|j}|r�t	|j|t|j��}ny&|j
j|�}|j||_Wq
tj
k
rPq
tjk
rE|jtjd�q
tjk
rk|jtjd�q
Xq
W|j}d|_|jt|�|_|S(sg
        Reads a single line (up to `length' characters long) from the SSL
        connection.
        s
iitreadlineRN(R#R]RRtfindRR=RRR>R	R?RRARFRGRHRIRJRK(Rtlengtht	charcounttiRQR.RO((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyRas:
	
	
	"		N(t__name__t
__module__t__doc__RRRR,R/R1R0R#R6R7R8R9R<RSRGR\R?R^tsendallRa(((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyR+s(			
						3				cCs|S(sb
    Verify callback, which will be called for each certificate in the
    certificate chain.
    ((tconntcertterrnumtdepthtok((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyR'2sRWcBseZd�Zd�ZRS(cGs
||_dS(N(RE(RRE((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyR<scCsdS(NsTimeout Exception((R((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyt__str__?s(RfRgRRo(((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyRW:s	(RhtOpenSSLRRRRRHtrhn.i18nRRCtDEFAULT_TIMEOUTR(RRtsslRR'tErrorttimeoutRW(((s+/usr/lib/python2.7/site-packages/rhn/SSL.pyt<module>s�