MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /proc/self/root/usr/lib/python2.4/site-packages/mod_python/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/usr/lib/python2.4/site-packages/mod_python/Session.pyc
m
5Cc@sdkZdkZdkZdkZdkZdkZdkZdkZdkZdk	Z	dk
Z
dkZdkZdk
Z
dkZdZddZeZdZeiZdZeZeeadZdZeidZd	Zd
efdYZ dZ!d
Z"de fdYZ#eZ$eZ%dZ&dZ'de fdYZ(dZ)dZ*dZ+dZ,de fdYZ-dddddZ/dZ0dS(Ntpysidii<icCstitiotiti}nd}titi}|g}xWt|dD]E}|i
}ti}|i||id|i|q^W|S(sj initialize random number generators
    this is key in multithreaded env, see
    python docs for random i
ii@BN(t_apachet	mpm_querytapachetAP_MPMQ_IS_THREADEDtAP_MPMQ_MAX_SPARE_THREADStgennumtrandomtRandomttimetgtresulttrangetitgetstatet	laststatetsetstatet	jumpaheadtappend(R
R
RRR((t6/usr/lib/python2.4/site-packages/mod_python/Session.pyt	_init_rnd)s	

cCs>ytiSWn)tj
ottatiSnXdS(N(trnd_itertnextt
StopIterationtitertrnd_gens(((Rt_get_generatorFscCsttid}ti}t}|idd}|idd}|ii
}tid|||||fiS(Ni'iiɚ;s
%d%d%d%d%s(tlongR	tttostgetpidtpidRR
trandinttrnd1trnd2treqt
connectiont	remote_iptiptmd5tnewt	hexdigest(R#R
R&RR!R"R((Rt_new_sidRs	s
[0-9a-f]{32}$cCsti|S(N(tvalidate_sid_retmatchtsid(R-((Rt
_check_sidostBaseSessioncBstZdddddZdZdZdZdZdZd	Z	d
Z
dZdZd
Z
dZdZdZdZdZdZRS(NiicCs2||||_|_|_||_d|_	d|_
d|_d|_d|_
d|_ti||iidt}|ipc|o%ti|dtid|i}nti|}|i|o||i|_qn|io=t|ip)|iidtititi q5n|i!|io(|i|i"o
d|_	qqn|i	o}|io|i#nt$|i|_|iti%|i|i&t'i'|_
|o
||_qt)|_nt'i'|_t*i+dt,djo|i-ndS(Niitsession_cookie_nametClasstsecretsmmod_python.Session warning: The session id contains invalid characters, valid characters are only 0-9 and a-f(.R#R-R2tselft_reqt_sidt_secrettlockt_lockt_newt_createdt	_accessedt_timeoutt_lockedt_invalidtdictt__init__tget_optionstgettCOOKIE_NAMER0tCookietget_cookiestSignedCookietcookiesthas_keytvalueR.t	log_errorRt
APLOG_WARNINGt
SERVER_RETURNtHTTP_INTERNAL_SERVER_ERRORt	init_locktloadtunlockR*t
add_cookietmake_cookieR	ttimeouttDFT_TIMEOUTRR tCLEANUP_CHANCEtcleanup(R3R#R-R2R7RSRGR0((RR@~sP							












cCs|iiidt}|io"ti||i	d|i}nti||i	}|ii}|ido|d|_
nx|iii}|o&|ii}|t||_
n
d|_
|i
p|iii|i
o
d|_
n|S(NR0R2tApplicationPatht/(R3R4RARBRCR0R6RDRFR5tctconfigRHtpaththlistt	directorytdirpatht
document_roottdocroottlenturit
startswith(R3RYR0R^R`RZ((RRRs 
	%
cCs?|i}d|_ti|i||id|_dS(Nii(	R3RRRYtexpiresRDRQR4tdeleteR>(R3RY((Rt
invalidates
	
cCs|i}|djodSnti|d|djodSn|d|_|d|_|d|_|i|ddS(NiR;R<R:t_datai(	R3tdo_loadR?tNoneR	R:R;R<tupdate(R3R?((RROs



cCsX|ipJhd|i<d|i<d|i<d|i<}|i|ndS(NRgR:R;R<(R3R>tcopyR:R;R<R?tdo_save(R3R?((Rtsaves
9cCs|i|idS(N(R3t	do_deletetclear(R3((RRes
cCsdS(N((R3((RRNscCsG|io9ti|ii|id|_|iit	|ndS(Ni(
R3R8Rt_global_lockR4tserverR5R=tregister_cleanuptunlock_session_cleanup(R3((RR7s
	cCs>|io0|io&ti|ii|id|_ndS(Ni(R3R8R=Rt_global_unlockR4RqR5(R3((RRPscCs	|iS(N(R3R9(R3((Rtis_newscCs|iS(N(R3R5(R3((RtidscCs|iS(N(R3R:(R3((RtcreatedscCs|iS(N(R3R;(R3((Rt
last_accessedscCs|iS(N(R3R<(R3((RRSscCs
||_dS(N(tsecsR3R<(R3Ry((Rtset_timeoutscCs|idS(N(R3t
do_cleanup(R3((RRVscCs|idS(N(R3RP(R3((Rt__del__s(t__name__t
__module__RiR@RRRfRORmReRNR7RPRuRvRwRxRSRzRVR|(((RR/|s"=															cCs|idS(N(tsessRP(R((RRs sc	Cs3|\}}ti|ddti|d}zg}|i
}x|\}}ti|}y4ti|d|djo|i|nWn tj
o|i|nXy|i}WqItj
oPqIXqIWx#|D]}y||=WqqXqWWd|iti|ddXdS(NiRYiR;R<(tdatatdbmRqRRpRitanydbmtopentdbtoldtfirsttstkeytvaltcPickletloadsR?R	RtKeyErrorRtcloseRt(	RRRRRqRR?RR((Rtdbm_cleanup&s8
t
DbmSessioncBsYtZdddedddZdZdZdZdZdZ	d	Z
RS(
Niic	Cs|pO|i}|ido|d}qVtii|idt	d}n||_||_
ti||d|d|d|d|dS(Ntsession_dbmtsession_directorysmp_sess.dbmR-R2RSR7(RR#RAtoptsRHRR[tjoinRBttempdirR3t_dbmfiletdbmtypet_dbmtypeR/R@R-R2RSR7(	R3R#RR-R2RRSR7R((RR@Cs%		cCs0ti|i}|ot||_ndS(N(twhichdbR3Rtmodulet
__import__R(R3R((Rt
_set_dbm_typeSscCs:|ii|id}|itjo|in|S(NRY(R3RRRRRR(R3R((Rt_get_dbmXscCsB|i|iig}|iit||iidti	dS(Ns(DbmSession: registered database cleanup.(
R3RR4RqRRrRRJRtAPLOG_NOTICE(R3R((RR{^scCsti|iidd|i}z3|i|i	ot
i||i	SndSWd|iti
|iiddXdS(Ni(RRpR3R4RqRiRRRHR5RRRRt(R3R((RRhds
cCsjti|iidd|i}zti	|||i<Wd|iti
|iiddXdS(Ni(RRpR3R4RqRiRRRtdumpsR?R5RRt(R3R?R((RRlps
cCsxti|iidd|i}z(y||i=Wnt	j
onXWd|i
ti|iiddXdS(Ni(RRpR3R4RqRiRRR5RRRt(R3R((RRnys	
(R}R~RiRR@RRR{RhRlRn(((RRAs						iitFileSessioncBsYtZdddddddZdZdZdZdZd	Zd
Z	RS(Niiic	Cs|i}|djot|idt|_n
||_|djot|idt
|_n
||_t|idt
|_t|idt|_tii|idtd|_|o
||_n
t|_ti||d|d	|d
|d|dS(Nitsession_fast_cleanuptsession_verify_cleanuptsession_grace_periodtsession_cleanup_time_limitRtmp_sessR-R2RSR7(R#RARtfast_cleanupt
true_or_falseRBtDFT_FAST_CLEANUPR3t
_fast_cleanuptverify_cleanuptDFT_VERIFY_CLEANUPt_verify_cleanuptinttDFT_GRACE_PERIODt
_grace_periodtDFT_CLEANUP_TIME_LIMITt_cleanup_time_limitRR[RRt_sessdirRSt_cleanup_timeoutRTR/R@R-R2R7(	R3R#R-R2RSR7RRR((RR@s
	
	$
	cCshd|i<d|i<d|i<d|i<d|i<d|i<d|i<}|ii	t
||iidti
dS(	NR#tsessdirRRRStgrace_periodtcleanup_time_limits,FileSession: registered filesession cleanup.(R3R4RRRRRRRRrtfilesession_cleanupRJRR(R3R((RR{sZ	cCs|izytii|i|idd!}tii||i}t|d}zJt
i|}t
i
|d|djoti|dn|SWd|iXWnGti}tid||i}|iid|dSnXWd|iXdS(NiitrbR;R<tfiles"Error while loading a session : %s(R3t	lock_fileRR[RRR5tfilenameRtfpRRORR	tutimeRiRt	cStringIOtStringIORt	tracebackt	print_exctgetvalueR4RJtunlock_file(R3RRRRR[((RRhs*
"cCs|izytii|i|idd!}tii|pt|intii||i}t
|d}zti
||dWd|iXWnCti}tid||i}|iid|nXWd|iXdS(NiitwbRs!Error while saving a session : %s(R3RRR[RRR5texiststmake_filesession_dirsRRRRtdumpR?RRRRRRRR4RJR(R3R?RRRR[((RRls&
"cCs|izeyKtii|i|idd!}tii||i}ti|Wnt	j
onXWd|i
XdS(Nii(R3RRR[RRR5Rtunlinkt	ExceptionR(R3R[R((RRns
"	cCs4|ip&ti|ii|id|_ndS(Ni(R3R=RRpR4RqR5(R3((RRs
cCs?|io1|io&ti|ii|id|_ndS(Ni(R3R=R8RRtR4RqR5(R3((RRs(
R}R~RiR@R{RhRlRnRR(((RRs					sMPFS_3.2c Cs|d}|d}
|d}|d}|d}|d}|d}|id||ft	i
tii
|
d	}y*ti|titiBtiBd
}Wnkti|i}|tidjo$|idt	i
ti|n|id
t	i
dSnXyttii
|
dd}|i}|i|itp
t dn|i!}	|	d}t$|	d}t$|	d}t$|	d}t(|	d}Wn%t}d}d}d}d}nXzti}ti+|
}t-dd|}x|D]}d|
d|f}tii0|pqnti+|}|t1|7}xJ|D]B}ytii
||}|o8ti|i}ti|||jowuqn|o|o
t5}
nazRt|}t8i9|}ti|d|d|jo
t5}
nt;}
Wd|iX|
oti<||d7}nWqut=i>}t@iAd||iB}|id|t	i
quXquW|dd}ti|}|djo||joPqqW|ti|7}|djo6|id|||ft	i
d}d}d}n|id|ft	i
ttii
|
dd }|iDd!|||||f|iyti<|WnnXWdti|XdS("NR#RRRRSRRs-FileSession cleanup: (fast=%s, verify=%s) ...s.mp_sess.lckiis7FileSession cleanup: stale lockfile found - deleting its7FileSession cleanup: another process is already runnings
fs_status.txttrswrong status file versioniiiiif0.0is%s/%ss%02xR;R<RsFileSession cleanup error: %ss5FileSession cleanup: deleted %d of %d in %.4f secondssJFileSession cleanup incomplete: next cleanup will start at index %d (%02x)tws%s %d %d %d %f
(ERR#RRRRSRRRJRRRR[RtlockfileRtO_CREATtO_EXCLtO_WRONLYtlockfptstattst_mtimetmtimeR	tremoveRtstatus_filetreadlinetdRRctFS_STAT_VERSIONRtsplittpartststat_versionRtnext_itexpired_file_countttotal_file_counttfloatt
total_timet
start_timetlistdirtfilelistRt	dir_indexR
RRatfRtaccessedtTruetdelete_sessionRRROR?tFalseRRRRRRRt	time_usedtwrite( RRRRRRR#RRRRRR?RRRRRRRR[RRRRRR
RRRRSR((RRs







*	
	





#



	



 
cCsoxhtddD]W}tii|d|}tii|p%ti|ti	ti
BtiBqqWdS(s>Creates the directory structure used for storing session filesiis%02xN(RR
RR[Rtsess_dirRtmakedirsRtS_IRWXUtS_IRGRPtS_IXGRP(RR
R[((RRscCs]xV|iD]H}y8||}ti|d|djo||=nWq
q
Xq
WdS(NR;R<(tsdicttkeysR-tsessionR	(RRR-((Rtmem_cleanups

t
MemorySessioncBsGtZhZdddddZdZdZdZdZRS(NiicCs,ti||d|d|d|d|dS(NR-R2RSR7(R/R@R3R#R-R2RSR7(R3R#R-R2RSR7((RR@scCs0|iitti|iidtidS(Ns*MemorySession: registered session cleanup.(	R3R4RrRRRRJRR(R3((RR{scCs,tii|ioti|iSndS(N(RRRHR3R5Ri(R3((RRhscCs|ti|i<dS(N(R?RRR3R5(R3R?((RRlscCs+yti|i=Wntj
onXdS(N(RRR3R5R(R3((RRns(	R}R~RRiR@R{RhRlRn(((RRs			iic
Cs|i}
|
ido|
d}	nctiti}titi
}titi}|o|p
|djo
d}	nd}	|	djo
t}n<|	djo
t}n%|	djo
t}ntd|	||d|d|d	|d
|S(NRiRRRsUnknown session type %sR-R2RSR7(R#RARRHt	sess_typeRRRRtthreadedtAP_MPMQ_IS_FORKEDtforkedtAP_MPMQ_MAX_DAEMONStdaemonsRRRRRR-R2RSR7(R#R-R2RSR7RRRRRR((RtSessions$







cCsoy|i}WnnX|ddddtgjotSn.|ddddd	tgjotSntd	S(
sjThis function is used to assist in getting appropriate
    values set with the PythonOption directive
    tyesttruet1itnotfalset0iN(titemtlowerRRiRR(R((RRs(1RRDRRRR	RRRR'RRttempfileRtreRCRTRtDFT_LOCKRUt
gettempdirRRRRRRR*tcompileR+R.R?R/RsRRRRRRRRRRRRRiRR(*RR*RRRRRRRRRRRURR.RRRDRRRTRRRCRRR/RRR'RRsRRRRRRR	RR+R((Rt?sN									
					
		Ft		
		!

Anon7 - 2021