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/python2.7/Demo/pdist/FSProxy.pyc
ó
żœ^c@sçdZddlZddlZddlZddlZddlZddlTddlZddlZdZej	ej
fZdd
d„ƒYZdeej
fd„ƒYZd	ejfd
„ƒYZd„ZedkrăeƒndS(sßFile System Proxy.

Provide an OS-neutral view on a file system, locally or remotely.
The functionality is geared towards implementing some sort of
rdist-like utility between a Mac and a UNIX system.

The module defines three classes:

FSProxyLocal  -- used for local access
FSProxyServer -- used on the server side of remote access
FSProxyClient -- used on the client side of remote access

The remote classes are instantiated with an IP address and an optional
verbosity flag.
i˙˙˙˙N(t*i˙tFSProxyLocalcBsŹeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd+d„Zd+d„Zd+d
„Zd+d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd+d„Zd+d„Zd+d„Zd+d„Zd+d„Z d„Z!d+d„Z"d+d „Z#d+d!„Z$d+d"„Z%d+d#„Z&d$d%d&„Z'd'„Z(d$d(„Z)d)„Z*d*„Z+RS(,cCs#g|_dg|jƒ|_dS(Ns*.pyc(t	_dirstackt_readignoret_ignore(tself((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt__init__!s	cCsx|jr|jƒqWdS(N(Rtback(R((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt_close%scCsÂ|jdƒ}yt|ƒ}WnEtk
rf|jdƒ}yt|ƒ}Wqgtk
rbgSXnXg}xD|jƒ}|s†Pn|ddkrŁ|d }n|j|ƒqpW|jƒ|S(Ntignoressynctree.ignorefilesi˙˙˙˙s
(t_hidetopentIOErrortreadlinetappendtclose(RtfiletfR	tline((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyR)s&

	

cCs|ddkS(Nit.((Rtname((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt_hidden<scCsd|S(Ns.%s((RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyR
?scCsÜt|ƒtkrdS|ddkr*dS|tkr:dS|j|ƒrMdStjj|ƒ\}}|sr|rvdStjj|ƒrŒdSdt|dƒj	dƒkrŽdSx'|j
D]}tj||ƒr¸dSq¸WdS(Nii˙˙˙˙t~strbii(tlent
maxnamelent	skipnamesRtostpathtsplittislinkRtreadRtfnmatch(RRtheadttailtign((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytvisibleBs&
cCs,|j|ƒs(tjdt|ƒ‚ndS(Nsprotected name %s(R$Rterrortrepr(RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytcheckOscCs<|j|ƒtjj|ƒs8tjdt|ƒ‚ndS(Nsnot a plain file %s(R'RRtisfileR%R&(RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt	checkfileSs
cCs
tjƒS(N(Rtgetcwd(R((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytpwdXscCsY|j|ƒtjƒ|jf}tj|ƒ|jj|ƒ|j|jƒ|_dS(N(R'RR*RtchdirRRR(RRtsave((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytcd[s


cCsO|jstjd‚n|jd\}}tj|ƒ|jd=||_dS(Nsempty directory stacki˙˙˙˙(RRR%R,R(RtdirR	((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRbs	

cCsD|r$|d„}t||ƒ}nt|j|ƒ}|jƒ|S(NcSstj||ƒS(N(R (Rtpat((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytkeepls(tfilterR$tsort(RtfilesR0R1((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt_filterjs
cCs"tjtjƒ}|j||ƒS(N(RtlistdirtcurdirR5(RR0R4((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytlistsscCs7tjtjƒ}ttjj|ƒ}|j||ƒS(N(RR6R7R2RR(R5(RR0R4((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt	listfileswscCs7tjtjƒ}ttjj|ƒ}|j||ƒS(N(RR6R7R2RtisdirR5(RR0R4((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytlistsubdirs|scCs|j|ƒotjj|ƒS(N(R$RRtexists(RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyR<scCs|j|ƒotjj|ƒS(N(R$RRR:(RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyR:„scCs|j|ƒotjj|ƒS(N(R$RRR(RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyR‡scCs|j|ƒotjj|ƒS(N(R$RRR((RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyR(ŠscCsb|j|ƒd}t|ƒ}tjƒ}x*|j|ƒ}|sGPn|j|ƒq.W|jƒS(Niii (R)Rtmd5tnewRtupdatetdigest(RRt
BUFFERSIZERtsumtbuffer((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRBs
cCs|j|ƒtj|ƒtS(N(R)RtstattST_SIZE(RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytsize™s
cCs'|j|ƒtjtj|ƒtƒS(N(R)ttimet	localtimeRRDtST_MTIME(RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytmtimes
cCsF|j|ƒtj|ƒt}tjtj|ƒtƒ}||fS(N(R)RRDRERGRHRI(RRRFRJ((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRDĄs
cCsK|j|ƒ}tj|ƒt}tjtj|ƒtƒ}|||fS(N(RBRRDRERGRHRI(RRRBRFRJ((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytinfo§scCsƒ|dkr|jƒ}ng}x[|D]S}y|j|||ƒfƒWq(tjtfk
rz|j|dfƒq(Xq(W|S(N(tNoneR9RRR%R(RtfunctionR8tresR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt_list­s
cCs|j|j|ƒS(N(RORB(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytsumlist¸scCs|j|j|ƒS(N(RORD(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytstatlistťscCs|j|j|ƒS(N(RORJ(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt	mtimelistžscCs|j|j|ƒS(N(RORF(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytsizelistÁscCs|j|j|ƒS(N(RORK(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytinfolistÄscCsg|dkr|jƒ}ni}x?|D]7}y||ƒ||<Wq(tjtfk
r^q(Xq(W|S(N(RLR9RR%R(RRMR8tdictR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt_dictÇs
cCs|j|j|ƒS(N(RURB(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytsumdictŇscCs|j|j|ƒS(N(RURF(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytsizedictŐscCs|j|j|ƒS(N(RURJ(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt	mtimedictŘscCs|j|j|ƒS(N(RURD(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytstatdictŰscCs|j|j|ƒS(N(RVRK(RR8((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytinfodictŢsii˙˙˙˙cCss|j|ƒt|ƒ}|j|ƒ|dkr;d}n*|dkrV|jƒ}n|j|ƒ}|jƒ|S(Nit(R)RtseekRR(RRtoffsettlengthRtdata((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRás

	
cCsŽ|j|ƒtjj|ƒrq|j|ƒ|d}ytj|ƒWntjk
r]nXtj||ƒnt|dƒ}|j	ƒdS(NRtw(
R'RRR<R)tunlinkR%trenameRR(RRtbnameR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pytcreateîs


cCsD|j|ƒt|dƒ}|j|ƒ|j|ƒ|jƒdS(Nsr+(R)RR]twriteR(RRR`R^R((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRfűs



cCs!|j|ƒtj|dƒdS(Ni˙(R'Rtmkdir(RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRgs
cCs|j|ƒtj|ƒdS(N(R'Rtrmdir(RR((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRhs
N(,t__name__t
__module__RRRRR
R$R'R)R+R.RRLR5R8R9R;R<R:RR(RBRFRJRDRKRORPRQRRRSRTRVRWRXRYRZR[RReRfRgRh(((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRsR						
																	
	
	t
FSProxyServercBs)eZejd„Zd„Zd„ZRS(cCs'tj|ƒtjj|||ƒdS(N(RRtservertServer(Rtaddresstverbose((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyR
s
cCs!tjj|ƒtj|ƒdS(N(RlRmRR(R((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRscCs.tjj|ƒx|jr)|jƒqWdS(N(RlRmt_serveRR(R((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRps(RiRjRltVERBOSERRRp(((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRks	t
FSProxyClientcBseZejd„ZRS(cCstjj|||ƒdS(N(tclienttClientR(RRnRo((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRs(RiRjRsRqR(((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyRrscCsdddl}ddl}|jdr>|j|jdƒ}nd}td|fƒ}|jƒdS(Ni˙˙˙˙iiR\(tstringtsystargvtatoiRkt_serverloop(RuRvtporttproxy((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyttest!s
t__main__((t__doc__RlRsR=RR RDRGRR7tpardirRRRmRkRtRrR|Ri(((s*/usr/lib64/python2.7/Demo/pdist/FSProxy.pyt<module>s 
ě