ROOTPLOIT
Server: LiteSpeed
System: Linux server71.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64
User: niphet (1079)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: //usr/lib64/python2.7/multiprocessing/connection.pyo
ó
{fc@sˆdddgZddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
mZddlm
Z
mZmZmZddlmZmZdZd	Zd
ZejƒZdZdgZeedƒrdZedg7Znejd
kr4dZedg7Zned„Zd„Zd„Zd„Z de!fd„ƒYZ"ddd„Z$ejd
krže%d„Z&nddlm'Z'e%d„Z&de!fd„ƒYZ(d„Z)ejd
kr
de!fd„ƒYZ*d„Z+ndZ,dZ-d Z.d!Z/d"„Z0d#„Z1d$„Z2d%e!fd&„ƒYZ3d'„Z4d(„Z5d)e"fd*„ƒYZ6d+„Z7dS(,tClienttListenertPipei’’’’N(tcurrent_processtAuthenticationError(tget_temp_dirtFinalizet	sub_debugtdebug(t	duplicatetclosei g4@tsha256tAF_INETtAF_UNIXtwin32tAF_PIPEcCstjƒ|S(N(ttime(ttimeout((s2/usr/lib64/python2.7/multiprocessing/connection.pyt
_init_timeoutMscCstjƒ|kS(N(R(tt((s2/usr/lib64/python2.7/multiprocessing/connection.pyt_check_timeoutPscCs}|dkrd
S|dkr5tjdddtƒƒS|dkrmtjdd	tjƒtjƒfdd
ƒStdƒ‚dS(s?
    Return an arbitrary free address for the given family
    Rt	localhostiR
tprefixs	listener-tdirRs\\.\pipe\pyc-%d-%d-tsunrecognized familyN(Ri(ttempfiletmktempRtostgetpidt
_mmap_countertnextt
ValueError(tfamily((s2/usr/lib64/python2.7/multiprocessing/connection.pytarbitrary_addressWs cCset|ƒtkrdSt|ƒtkr;|jdƒr;dSt|ƒtkrQdStd|ƒ‚dS(s]
    Return the types of the address

    This can be 'AF_INET', 'AF_UNIX', or 'AF_PIPE'
    Rs\\RR
saddress type of %r unrecognizedN(ttypettupletstrt
startswithR(taddress((s2/usr/lib64/python2.7/multiprocessing/connection.pytaddress_typefs!cBsSeZdZddddd„Zd„Zd„Zed„ƒZed„ƒZ	RS(s•
    Returns a listener object.

    This is a wrapper for a bound socket which is 'listening' for
    connections, or for a Windows named pipe.
    icCs›|p|rt|ƒpt}|p-t|ƒ}|dkrQt||ƒ|_nt|||ƒ|_|dk	rŽt|tƒrŽt	d‚n||_
dS(NRsauthkey should be a byte string(R'tdefault_familyR!tPipeListenert	_listenertSocketListenertNonet
isinstancetbytest	TypeErrort_authkey(tselfR&R tbacklogtauthkey((s2/usr/lib64/python2.7/multiprocessing/connection.pyt__init__€scCs?|jjƒ}|jr;t||jƒt||jƒn|S(sz
        Accept a connection on the bound socket or named pipe of `self`.

        Returns a `Connection` object.
        (R*tacceptR0tdeliver_challengetanswer_challenge(R1tc((s2/usr/lib64/python2.7/multiprocessing/connection.pyR5s
	cCs
|jjƒS(sA
        Close the bound socket or named pipe of `self`.
        (R*R
(R1((s2/usr/lib64/python2.7/multiprocessing/connection.pyR
›scCs
|jjS(N(R*t_address(R1((s2/usr/lib64/python2.7/multiprocessing/connection.pyt<lambda>”RcCs
|jjS(N(R*t_last_accepted(R1((s2/usr/lib64/python2.7/multiprocessing/connection.pyR:¢RN(
t__name__t
__module__t__doc__R,R4R5R
tpropertyR&t
last_accepted(((s2/usr/lib64/python2.7/multiprocessing/connection.pyRys		cCsŽ|pt|ƒ}|dkr-t|ƒ}nt|ƒ}|dk	rat|tƒratd‚n|dk	rŠt||ƒt||ƒn|S(s=
    Returns a connection to the address of a `Listener`
    Rsauthkey should be a byte stringN(	R't
PipeClienttSocketClientR,R-R.R/R7R6(R&R R3R8((s2/usr/lib64/python2.7/multiprocessing/connection.pyR„s
cCsĖ|r…tjƒ\}}|jtƒ|jtƒtjtj|jƒƒƒ}tjtj|jƒƒƒ}|j	ƒ|j	ƒn<tj
ƒ\}}tj|dtƒ}tj|dtƒ}||fS(sL
        Returns pair of connection objects at either end of a pipe
        twritabletreadable(tsockett
socketpairtsetblockingtTruet_multiprocessingt
ConnectionRtduptfilenoR
tpipetFalse(tduplexts1ts2tc1tc2tfd1tfd2((s2/usr/lib64/python2.7/multiprocessing/connection.pyR»s



(Rc	CsUtdƒ}|r;tj}tjtjB}tt}}ntj}tj}dt}}tj||tjtj	Btj
Bd||tjtjƒ}tj
||dtjtjdtjƒ}tj|tj	ddƒytj|tjƒWn/tk
r }|jdtjkr!‚q!nXtj|d|ƒ}	tj|d|ƒ}
|	|
fS(sL
        Returns pair of connection objects at either end of a pipe
        RiiRCRDN(R!RtPIPE_ACCESS_DUPLEXtGENERIC_READt
GENERIC_WRITEtBUFSIZEtPIPE_ACCESS_INBOUNDtCreateNamedPipetPIPE_TYPE_MESSAGEtPIPE_READMODE_MESSAGEt	PIPE_WAITtNMPWAIT_WAIT_FOREVERtNULLt
CreateFilet
OPEN_EXISTINGtSetNamedPipeHandleStateR,tConnectNamedPipetWindowsErrortargstERROR_PIPE_CONNECTEDRItPipeConnection(ROR&topenmodetaccesstobsizetibsizeth1th2teRRRS((s2/usr/lib64/python2.7/multiprocessing/connection.pyRŃs2			

$
R+cBs,eZdZdd„Zd„Zd„ZRS(sO
    Representation of a socket which is bound to an address and listening
    icCsötjtt|ƒƒ|_yb|jjtjtjdƒ|jjtƒ|jj|ƒ|jj	|ƒ|jj
ƒ|_Wn$tjk
r£|jj
ƒ‚nX||_d|_|dkrét|tjd|fddƒ|_n	d|_dS(NiR
Rftexitpriorityi(REtgetattrt_sockett
setsockoptt
SOL_SOCKETtSO_REUSEADDRRGRHtbindtlistentgetsocknameR9terrorR
t_familyR,R;RRtunlinkt_unlink(R1R&R R2((s2/usr/lib64/python2.7/multiprocessing/connection.pyR4’s 
		$cCs›x\tr^y|jjƒ\}|_Wn2tjk
rY}|jdtjkr[‚q[qXPqW|j	tƒt
|jƒƒ}tj
|ƒ}|jƒ|S(Ni(RHRrR5R;RERyRfterrnotEINTRRGR	RLRIRJR
(R1tsRotfdtconn((s2/usr/lib64/python2.7/multiprocessing/connection.pyR5s	


cCsAz|jjƒWd|j}|dk	r<d|_|ƒnXdS(N(RrR
R|R,(R1R{((s2/usr/lib64/python2.7/multiprocessing/connection.pyR
#s		(R<R=R>R4R5R
(((s2/usr/lib64/python2.7/multiprocessing/connection.pyR+ūs	cCsźttt|ƒƒ}tƒ}xštj|ƒ}|jtƒy|j|ƒWnbtjk
r²}|jƒ|j	dt
jkst|ƒr¢t
d|ƒ‚ntjdƒq!XPq!W‚t|jƒƒ}tj|ƒ}|jƒ|S(sO
    Return a connection object connected to the socket given by `address`
    isfailed to connect to address %sg{®Gįz„?(RqRER'RRGRHtconnectRyR
RfR}tECONNREFUSEDRRRtsleepR	RLRIRJ(R&R RRRoR€R((s2/usr/lib64/python2.7/multiprocessing/connection.pyRB-s&	

"

R)cBs2eZdZdd„Zd„Zed„ƒZRS(s0
        Representation of a named pipe
        c	Cs ||_tj|tjtjtjBtjBtjtttj	tj
ƒ}|g|_d|_
td|jƒt|tjd|j|jfddƒ|_dS(Ns listener created with address=%rRfRpi(R9RR[RVR\R]R^tPIPE_UNLIMITED_INSTANCESRYR_R`t
_handle_queueR,R;RRR)t_finalize_pipe_listenerR
(R1R&R2thandle((s2/usr/lib64/python2.7/multiprocessing/connection.pyR4Ss		
	c	CsÅtj|jtjtjtjBtjBtjtttj	tj
ƒ}|jj|ƒ|jj
dƒ}ytj|tj
ƒWn8tk
r·}|jdtjtjfkrø‚qønXtj|ƒS(Ni(RR[R9RVR\R]R^R…RYR_R`R†tappendtpopRdReRfRgt
ERROR_NO_DATARIRh(R1t	newhandleRˆRo((s2/usr/lib64/python2.7/multiprocessing/connection.pyR5fs

cCs,td|ƒx|D]}t|ƒqWdS(Ns closing listener with address=%r(RR
(tqueueR&Rˆ((s2/usr/lib64/python2.7/multiprocessing/connection.pyR‡zs

N(R<R=R>R,R4R5tstaticmethodR‡(((s2/usr/lib64/python2.7/multiprocessing/connection.pyR)Os	cCsÉtƒ}x—yHtj|dƒtj|tjtjBdtjtjdtjƒ}WnDtk
rš}|j	dtj
tjfks‘t|ƒrœ‚qœqXPqW‚tj
|tjddƒtj|ƒS(sU
        Return a connection object connected to the pipe given by `address`
        ičiN(RRt
WaitNamedPipeRaRWRXR`RbReRftERROR_SEM_TIMEOUTtERROR_PIPE_BUSYRRcR]R,RIRh(R&RthRo((s2/usr/lib64/python2.7/multiprocessing/connection.pyRA€s 	"
is#CHALLENGE#s	#WELCOME#s	#FAILURE#cCsddl}t|tƒS(Ni’’’’(thashlibRqtHMAC_DIGEST_NAME(R“((s2/usr/lib64/python2.7/multiprocessing/connection.pytget_digestmod_for_hmac¤scCs’ddl}tjtƒ}|jt|ƒ|j||tƒƒjƒ}|j	dƒ}||kru|jt
ƒn|jtƒtdƒ‚dS(Ni’’’’isdigest received was wrong(
thmacRturandomtMESSAGE_LENGTHt
send_bytest	CHALLENGEtnewR•tdigestt
recv_bytestWELCOMEtFAILURER(t
connectionR3R–tmessageRœtresponse((s2/usr/lib64/python2.7/multiprocessing/connection.pyR6Øs
cCs„ddl}|jdƒ}|ttƒ}|j||tƒƒjƒ}|j|ƒ|jdƒ}|tkr€t	dƒ‚ndS(Ni’’’’isdigest sent was rejected(
R–RtlenRšR›R•RœR™RžR(R R3R–R”RœR¢((s2/usr/lib64/python2.7/multiprocessing/connection.pyR7µs
tConnectionWrappercBs#eZd„Zd„Zd„ZRS(cCsO||_||_||_x-dD]%}t||ƒ}t|||ƒq"WdS(NRLR
tpollRR™(RLR
R„RR™(t_connt_dumpst_loadsRqtsetattr(R1Rtdumpstloadstattrtobj((s2/usr/lib64/python2.7/multiprocessing/connection.pyR4Ęs			
cCs#|j|ƒ}|jj|ƒdS(N(R§R¦R™(R1R­R((s2/usr/lib64/python2.7/multiprocessing/connection.pytsendĶscCs|jjƒ}|j|ƒS(N(R¦RRØ(R1R((s2/usr/lib64/python2.7/multiprocessing/connection.pytrecvŠs(R<R=R4R®RÆ(((s2/usr/lib64/python2.7/multiprocessing/connection.pyR¤Ås		cCstj|fddddƒS(Ni(t	xmlrpclibRŖR,(R­((s2/usr/lib64/python2.7/multiprocessing/connection.pyt
_xml_dumpsŌscCstj|ƒ\\}}|S(N(R°R«(RR­tmethod((s2/usr/lib64/python2.7/multiprocessing/connection.pyt
_xml_loads×stXmlListenercBseZd„ZRS(cCs+ddlatj|ƒ}t|ttƒS(Ni’’’’(R°RR5R¤R±R³(R1R­((s2/usr/lib64/python2.7/multiprocessing/connection.pyR5Üs(R<R=R5(((s2/usr/lib64/python2.7/multiprocessing/connection.pyR“ŪscOs%ddlatt||ŽttƒS(Ni’’’’(R°R¤RR±R³(Rftkwds((s2/usr/lib64/python2.7/multiprocessing/connection.pyt	XmlClientās(8t__all__RtsysRER}RRt	itertoolsRItmultiprocessingRRtmultiprocessing.utilRRRRtmultiprocessing.forkingR	R
RYtCONNECTION_TIMEOUTR”tcountRR(tfamiliesthasattrtplatformRRR!R'tobjectRR,RRHRRR+RBR)RAR˜RšRžRŸR•R6R7R¤R±R³R“R¶(((s2/usr/lib64/python2.7/multiprocessing/connection.pyt<module>#sd"				,*2	 1