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: //lib64/python3.8/multiprocessing/__pycache__/reduction.cpython-38.opt-1.pyc
U

e5d(%@sddlmZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
ddddd	gZejd
kpe
edoe
edoe
ejd
ZGdddejZejZd6dd	Zejd
kredddg7ZddlZd7ddddZddZddZddZGdddeZnHedddg7ZddlZejdkZddZddZd dZd!dZd"dZd#d$ZGd%d&d&Z ee!e j"ed'd(Z#ee!e$j%e#ee!e&j'e#d)d*Z(d+d,Z)eej*e(ejd
krd-d.Z+d/d0Z,eeje+nd1d.Z+d2d0Z,eeje+Gd3d4d4ed5Z-dS)8)ABCMetaN)contextsend_handlerecv_handleForkingPicklerregisterdumpwin32ZCMSG_LEN
SCM_RIGHTSsendmsgcsJeZdZdZiZejZfddZe	ddZ
e	d	ddZej
Z
ZS)
rz)Pickler subclass used by multiprocessing.cs*tj||j|_|j|jdSN)super__init___copyreg_dispatch_tablecopydispatch_tableupdate_extra_reducersselfargs	__class__1/usr/lib64/python3.8/multiprocessing/reduction.pyr&szForkingPickler.__init__cCs||j|<dS)z&Register a reduce function for a type.N)r)clstypereducerrrr+szForkingPickler.registerNcCs t}|||||Sr
)ioBytesIOr		getbuffer)robjprotocolZbufrrrdumps0szForkingPickler.dumps)N)__name__
__module____qualname____doc__rcopyregrrrclassmethodrr$pickleloads
__classcell__rrrrr!s
cCst|||dS)z3Replacement for pickle.dump() using ForkingPickler.N)rr	)r"filer#rrrr	:s	DupHandle	duplicatesteal_handleF)source_processcCs6t}|dkr|}|dkr |}t|||d|tjS)z<Duplicate a handle.  (target_process is a handle not a pid!)Nr)_winapiGetCurrentProcessDuplicateHandleDUPLICATE_SAME_ACCESS)handleZtarget_processZinheritabler2Zcurrent_processrrrr0Gsc	CsFttjd|}z$t||tddtjtjBWSt|XdS)z5Steal a handle from process identified by source_pid.FrN)r3OpenProcessPROCESS_DUP_HANDLECloseHandler5r4r6DUPLICATE_CLOSE_SOURCE)Z
source_pidr7Zsource_process_handlerrrr1Ss
cCst|tj|}||dSz&Send a handle over a local connection.N)r/r3r6send)connr7destination_pidZdhrrrr_scCs|S))Receive a handle over a local connection.)recvdetach)r>rrrrdsc@s"eZdZdZdddZddZdS)r/zPicklable wrapper for a handle.Nc	Cs\|dkrt}ttjd|}ztt|||dd|_W5t|X||_	||_
dS)NFr)osgetpidr3r8r9r:r5r4_handle_access_pid)rr7accesspidprocrrrrjs
zDupHandle.__init__c	CsZ|jtkr|jSttjd|j}z"t||jt	|j
dtjWSt|XdS)z1Get the handle.  This should only be called once.FN)rGrCrDrEr3r8r9r:r5r4rFr;)rrJrrrrBys
zDupHandle.detach)N)r%r&r'r(rrBrrrrr/hs
DupFdsendfdsrecvfdsdarwincCsVtd|}tt|dg}||gtjtj|fgtrR|ddkrRt	ddS)z,Send an array of fds over an AF_UNIX socket.irAz%did not receive acknowledgement of fdN)
arraybyteslenrsocket
SOL_SOCKETrACKNOWLEDGErARuntimeError)sockZfdsmsgrrrrLs
c	Cstd}|j|}|dt|\}}}}|s:|s:tztrJ|dt|dkrft	dt||d\}}	}
|tj
kr|	tjkrt|
|jdkrt|
|
t|d|dkrtdt||dt|WSWnttfk
rYnXt	dd	S)
z/Receive an array of fds over an AF_UNIX socket.rOrrQzreceived %d items of ancdatarrPz Len is {0:n} but msg[0] is {1!r}zInvalid data receivedN)rRitemsizeZrecvmsgrUZ
CMSG_SPACEEOFErrorrWr=rTrXrVr
ValueErrorZ	frombytesAssertionErrorformatlist
IndexError)rYsizeaZ
bytes_sizerZZancdataflagsZaddrZ
cmsg_levelZ	cmsg_typeZ	cmsg_datarrrrMs<




c	Cs2t|tjtj}t||gW5QRXdSr<)rUfromfdfilenoAF_UNIXSOCK_STREAMrL)r>r7r?srrrrsc
Cs<t|tjtj}t|ddW5QRSQRXdS)r@rrN)rUrerfrgrhrM)r>rirrrrscCsFt}|dk	r |||Str:ddlm}||StddS)zReturn a wrapper for an fd.Nr)resource_sharerz&SCM_RIGHTS appears not to be available)rZget_spawning_popenrKZduplicate_for_childHAVE_SEND_HANDLErjr])fdZ	popen_objrjrrrrKs
cCs2|jdkrt|j|jjffSt|j|jjffSdSr
)__self__getattrr__func__r%mrrr_reduce_methods
rsc@seZdZddZdS)_CcCsdSr
r)rrrrfsz_C.fN)r%r&r'rurrrrrtsrtcCst|j|jffSr
)ro__objclass__r%rqrrr_reduce_method_descriptorsrwcCst|j|j|jpiffSr
)_rebuild_partialfuncrkeywords)prrr_reduce_partialsr|cCstj|f||Sr
)	functoolspartial)ryrrzrrrrxsrxcCsddlm}t||ffS)Nr)	DupSocket)rjr_rebuild_socket)rirrrr_reduce_socketsrcCs|Sr
)rB)ZdsrrrrsrcCs"t|}t||j|j|jffSr
)rKrfrfamilyrproto)ridfrrrrscCs|}tj||||dS)N)rf)rBrU)rrrrrmrrrrsc@sdeZdZdZeZeZeZeZeZe	j
dkr8eZeZe
Z
neZeZeZeZeZeZeZeZddZdS)AbstractReducerzAbstract base class for use in implementing a Reduction class
    suitable for use in replacing the standard reduction mechanism
    used in multiprocessing.r
cGsNtttjttttjttttj	ttt
jttt
j
tdSr
)rrrtrursr`appendrwint__add__r}r~r|rUrrrrrrs
zAbstractReducer.__init__N)r%r&r'r(rrr	rrsysplatformr1r0r/rLrMrKrsrwrxrrrrrrrrs&
r)	metaclass)N)NF).abcrr)r}rrCr+rUrrlr__all__rhasattrrkZPicklerrrr	r3r0r1rrobjectr/rRrWrLrMrKrsrtrrurwr`rrrr|rxr~rrrrrrr<module>
sj


	
#