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/apache.pyc
m
ACc@sdkZdkZdkZdkZdkZdkZdkZdkZdkZe	a
dfdYZdde	dZdZ
e	ddZdZd	fd
YZdefdYZd
efdYZdZdZe	ae	ae	ae	dZdZeiZeiZeiZeiZeiZeiZei Z dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-d Z.d!Z/d"Z0d#Z1d$Z2d%Z3d&Z4d'Z5d(Z6d)Z7d*Z8d+Z9d,Z:d-Z;d.Z<d/Z=d0Z>d1Z?d2Z@d3ZAd4ZBd5ZCd6ZDd7ZEd8ZFd9ZGd:ZHd;ZId<ZJd=ZKd>ZLd?ZMd@ZNdAZOdBZPyUdkQZQeQiRZSeQiTZUeQiVZWeQiXZYeQiZZ[eQi\Z]eQi^Z_eQi`ZaWnCebj
o7dZSdZUdCZWdDZYdEZ[dFZ]dGZ_dHZanXdIZcdZdZedJZfdKZgZhdZidZjdCZkdDZleHZmdLZneioZodMZpdZqdZrdCZsdDZtdEZudFZvdGZwdHZxdIZydNZzdOZ{dPZ|dZ}dZ~dCZdDZdEZdFZdGZdHZdIZdZdZdCZdZdZdCZdDZdEZdFZdGZdHZdIZdNZdOZdPZdQZdRZdSZdTZdUZdVZdWZdXZdYZdZZd[Zd\Zd]Zd^Zd_ZdZdZdCZdZdZdCZdZdCZdDZdEZdFZdGZdHZdIZdNZdOZdPZdQZdS(`NtCallBackcBsWtZdZdfdYZdZdZdZeeeddddZRS(	s$
    A generic callback object.
    tHStackcBs tZdZdZdZRS(s
        The actual stack string lives in the request object so
        it can be manipulated by both apache.py and mod_python.c
        cCs
||_dS(N(treqtself(RR((t5/usr/lib/python2.4/site-packages/mod_python/apache.pyt__init__-scCsF|iii}|pdSn"di|d|i_|dSdS(Nt ii(RRthstacktsplitthandlerstNonetjoin(RR	((Rtpop0s
(t__name__t
__module__t__doc__RR(((RR's	cCsG|ii}t|idd}y^|ii}|i	dd}|d}t|djo
d}n|d}|idoO|d}|tjo4|at|}
ti|
jo|
ti(qqnt|dt|iddd	|}t||d
|dd}|o`|idoti||}n
||}t|ttjptd
|nWntj
oV}zC|\}	}}|i$|	||d|iddd|d|}Wdd}Xn[zIti&\}}
}|i$||
|d|iddd|d|}Wdd}XnX|S(NtPythonDebugis::itconnectionhandlert
PythonPatht
autoreloadtPythonAutoReloadtlogtargtsilenttPythonEnablePdbs4ConnectionHandler '%s' returned invalid return code.tsrvtphasetConnectionHandlerthnametdebug(*tconntbase_servert
get_configtconfigtinttgetRthlistthandlerRtltmodule_nametlent
object_strthas_keyt
pathstringt_pathtevaltnewpathtsystpatht
import_moduletmoduletresolve_objecttobjecttpdbtruncalltresultttypetAssertionErrortPROG_TRACEBACKt
traceblocktetypetvaluet	tracebackRtReportErrorR
texc_infotexc_typet	exc_valuet
exc_traceback(RRR2R7R)RARCR;R%R<RBR4R+R.R!R>R&R=RR'((RtConnectionDispatch:sX




	2cCsS|i}|i}
t|
idd}yy|iidd}|d}t|djo|io
d}qd}n|d}|
idoO|
d}|tjo4|at|}ti|jo|ti(qqn5|io*|itijo|igtid*nt|dt|
id	dd
|}t||d|dd}
|
o<|
id
oti|
|n|
||inWntj
o}yt|idjo'|i\}}|o
||_!qn|id}t"|t"djo<d}|dt"|}t$i%|t&t'B|i(dSnWqOqOXnt)j
om}zZ|\}	}}|i-|i/|	||d|d|dd|i0d|id|}Wdd}Xnnz\ti2\}}}|i-|i/|||d|d|d|i0d|id|}Wdd}XnXt6S(NRis::itinputfiltertoutputfilterRRRRRRRiis4Value raised with SERVER_RETURN is invalid. It is a s%%s, but it must be a tuple or an int.RtfilterRsFilter: RR(7RGRR R!R"R#RR%RR&R'R(tis_inputR)R*R+R,R-R.R/R0tdirR1R2R3R4R5R6tflusht
SERVER_RETURNR=targsR7tstatusR8tst_apachet	log_errort
APLOG_NOERRNOt	APLOG_ERRtserverR:R;R<R>tdisableRR?tnameR
R@RARBRCtOK(RRGR2R7R)RARCRR;R<R!RBRMR4R+R.R>R&R=RNRR'((RtFilterDispatchs~	











cCst}|i}	t|	idd}y|i}
x|
i	dj	o|
i	idd}|d}t|djo|itdi}n|d}|	idoO|	d}|tjo4|at|}ti|jo|ti(qq5n5|
i}|o$|tijo|gtid*nt|dt|	iddd	|}t||d
|d|
i}|ou|	idot i!||}n
||}t"|t"tjpt#d
|
i	|t$joPqn&|
io|t$jo
t%}qn|
i&q9WWnt'j
o}yt|i)djo'|i)\}}|o
||_*qn|i)d}t"|t"djo<d}|dt"|}t,i-|t.t/B|i0tSnWqqXnt1j
oY}zF|\}}}|i6|||d|d|id|
i	d|}Wdd}Xn^zLti7\}}
}|i6||
|d|d|id|
i	d|}Wdd}XnX|S(s1
        This is the handler dispatcher.
        Ris::itpythonRRRRRRRs*Handler '%s' returned invalid return code.iis4Value raised with SERVER_RETURN is invalid. It is a s%%s, but it must be a tuple or an int.RRRRN(;tHTTP_INTERNAL_SERVER_ERRORR7RR R!R"R#RR$R%R
RR&R'R(RtlowerR)R*R+R,R-R.R/R0t	directoryRIR1R2R3RR4R5R6R8R9RVtDECLINEDtnextRKR=RLRMRNRORPRQRRRSR:R;R<R>RR?R@RARBRC(RRR2R7R)RARCR;R<R!RBRMR4R$R+R.R>R&R=RNRR'RI((RtHandlerDispatchs	



		-
	


"sN/Aic
CsgzYyAt|djo!t|d djo
d}	nxjti|||D]S}
d|||
d f}|o|i|t
tBqPti|t
tB|qPW|	p|otSnd|_d||f}x+ti|||D]}
||
d	}qW|d
}|o|i||in|i|tSWntinXWdd}XdS(s
        This function is only used when debugging is on.
        It sends the output similar to what you'd see
        when using Python interactively to the browser
        sexceptions.IOErroritWriteis	%s %s: %sis	text/htmls"
<pre>
Mod_python error: "%s %s"

s
s</pre>
N(tstrR<tevalueRR>tformat_exceptiontetbteRRRNRRPRQRRRORRYtcontent_typeRGtwriteRJtDONEt	print_excR
(RR<RaRcRRGRRRRRdRN((RR?fs8*
	


(	R
RRRRDRWR^R
R?(((RR"s	K	j	wiicCs+tiztii|oti|}|iid}|p|o$t|i|od\}}q|o%|iidd}t|}qd\}}n
d
\}}||joM|o=|od||f}nd|}ti|ttBnd	}|id}	xtt|	D]}ti|	||\}
}}zXdi"|	|d }
ti$|
|
||}|ot%||	||n|}Wd	|
o|
i&nXt'|d
o
|i(}q3q3W|djot|}n||_)n|SWd	ti*Xd	S(s
    Get the module to handle the request. If
    autoreload is on, then the module will be reloaded
    if it has changed since the last import.
    t__file__iit	__mtime__s;mod_python: (Re)importing module '%s' with path set to '%s's%mod_python: (Re)importing module '%s't.iNt__path__(ii(ii(ii(+timptacquire_lockR/tmodulesR*R'R2t__dict__R#tfileR0RGt
startswithtmtimetoldmtimeRtmodule_mtimeRRNRORPRQtAPLOG_NOTICER
tparentRtpartstrangeR(titfind_moduletftptdRtmnametload_moduletsetattrtclosethasattrRlRjtrelease_lock(R'RRR0R2RqRsRwRNRxRRtR~R|RzR}((RR1sR

#




cCsd}|iido|i}ygtii|otii	|}ntii|d o#t
|tii	|d }nWqtj
oqXn|S(sGet modification time of moduleiRiiN(RsR2RpR*RitfilepathtosR0texiststgetmtimetmaxtOSError(R2RRs((RRus	'	c	Cs|}x|idD]}|}|ot||odSn||joEt||o4t|do d|i	|f}t|qnt||}t|do*|i
o||}t||}qqW|S(sU
    This function traverses the objects separated by .
    (period) to find the last one we're looking for:

       From left to right, find objects, if it is
       an unbound method of a class, instantiate the
       class passing the request as single argument

    'arg' is sometimes req, sometimes filter,
    sometimes connection
    RkRismodule '%s' contains no '%s'tim_selfN(R2tobjR)Rtobj_strRwRRR
RiRNtAttributeErrortgetattrRRtinstance(	R2R)RRRRwRRRN((RR3s cCs|i|ii}|io5t|idjo|it|i |d<n|i|d<d|d<|ii	do|id|d<n|S(s
    Utility function that returns a dictionary of
    CGI environment variables as described in
    http://hoohoo.ncsa.uiuc.edu/cgi/env.html
    itSCRIPT_NAMEsPython-CGI/1.1tGATEWAY_INTERFACEt
authorizationtHTTP_AUTHORIZATIONN(
Rtadd_common_varstsubprocess_envtcopytenvt	path_infoR(turit
headers_inR*(RR((Rt
build_cgi_envs
 

tNullIOcBsqtZdZdZddZedZdZdZdZ	dZ
d	Zd
ZddZ
RS(
s Abstract IO
    cCsdS(Ni((R((Rttell9sicCsdS(Nt((Rtn((Rtread:scCsdS(NR((Rtlength((Rtreadline;scCsgS(N((R((Rt	readlines<scCsdS(N((RRN((RRf=scCs|idi|dS(NR(RRfRtlist(RR((Rt
writelines>scCsdS(Ni((R((Rtisatty@scCsdS(N((R((RRJAscCsdS(N((R((RRBsicCsdS(N((Rtpostmode((RtseekCs(R
RRRRR
RRRfRRRJRR(((RR6s							tCGIStdincBs2tZdZddZdZddZRS(NcCs(d|_||_d|_d|_dS(NiiR(RRRtBLOCKtbuf(RR((RRGs			icCs|djodSn|djoy|ii|i}xG|o?|i||_|it||_|ii|i}q:W|i}d|_|Snb|io!|i| }|t|}nd}||ii|}|it||_|SdS(NiRi(
RRRRRRNRRR(R7(RRR7RN((RROs&

		

cCs,|i|iid}td|S(Ns
cCs|dS(Ns
(RN(RN((Rt<lambda>gs(RRRRRNtmap(RRN((RRescCs4|djodSn|i|ii|i|_|iid}x|djo|djo%t|i|jo|d}Pnt|i}|i|ii|i|_t|i|jo|d}Pn|iid|}qIW|i|d }|i|d|_|it||_|S(NiRs
ii(RRRRRRtfindRzR(txR7R(RRRzR7R((RRis&

#

(R
RRRRR(((RREs		t	CGIStdoutcBs)tZdZdZdZdZRS(sC
    Class that allows writing to the socket directly for CGI.
    cCs(d|_||_d|_d|_dS(NiR(RRRtheaders_senttheaders(RR((RRs			c	Cs|pdSn|ip|i||_d}|iidd}t|djo6|iidd}t|djo
d}qnd}|o|didd|d<|did}x|D]}|idd\}}|i
}|id	jo&t|id}||i_q|id
jo ||i_||ii|<q|iii||qWd|_|ii|dqn|iit||it||_dS(Nis

iis

s
s
t:RMscontent-type(RNRRRtheaders_overRtssR(treplacetlinestlinethtvtstripRZR"RMRRetheaders_outtaddRfR`R(	RRNRMRRRRRR((RRfs:
	cCs|iS(N(RR(R((RRs(R
RRRRfR(((RRs		-cCsktii}ti}ti}tii	t
|t|t_t
|t_gt_|||fS(s
    Replace sys.stdin and stdout with an objects that read/write to
    the socket, as well as substitute the os.environ.
    Returns (environ, stdin, stdout) which you must save and then use
    with restore_nocgi().
    N(RtenvironRtsave_envR/tstdintsitstdouttsotupdateRRRRtargv(RRRR((Rt	setup_cgis			cCs\ti}x|iD]
}||=qWx|D]}||||<q.W|t_|t_
dS(s see setup_cgi() N(RRtosenvtkeystktsav_envRR/RRR(RRRRR((Rt
restore_nocgis	
	cCstitt||dS(N(ROtregister_cleanupt_interpretert_serverR%tdata(R%R((RRscCs%|a|adgt_tatS(sC
        This function is called by the server at startup time
    t
mod_pythonN(RURRSRR/RRt	_callback(RURS((Rtinits	idieifiiiiiiiii,i-i.i/i0i1i3iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiitREQ_EXITR:i	i
iii
iiiiiiiiiiiii(R/R>ttimeRR5tstatRmttypesROR
R,RR1RuR3RRRRRRRRRRRttablet
make_tableRPtconfig_treetserver_roott	mpm_querytexists_config_definet
HTTP_CONTINUEtHTTP_SWITCHING_PROTOCOLStHTTP_PROCESSINGtHTTP_OKtHTTP_CREATEDt
HTTP_ACCEPTEDtHTTP_NON_AUTHORITATIVEtHTTP_NO_CONTENTtHTTP_RESET_CONTENTtHTTP_PARTIAL_CONTENTtHTTP_MULTI_STATUStHTTP_MULTIPLE_CHOICEStHTTP_MOVED_PERMANENTLYtHTTP_MOVED_TEMPORARILYtHTTP_SEE_OTHERtHTTP_NOT_MODIFIEDtHTTP_USE_PROXYtHTTP_TEMPORARY_REDIRECTtHTTP_BAD_REQUESTtHTTP_UNAUTHORIZEDtHTTP_PAYMENT_REQUIREDtHTTP_FORBIDDENtHTTP_NOT_FOUNDtHTTP_METHOD_NOT_ALLOWEDtHTTP_NOT_ACCEPTABLEt"HTTP_PROXY_AUTHENTICATION_REQUIREDtHTTP_REQUEST_TIME_OUTt
HTTP_CONFLICTt	HTTP_GONEtHTTP_LENGTH_REQUIREDtHTTP_PRECONDITION_FAILEDtHTTP_REQUEST_ENTITY_TOO_LARGEtHTTP_REQUEST_URI_TOO_LARGEtHTTP_UNSUPPORTED_MEDIA_TYPEtHTTP_RANGE_NOT_SATISFIABLEtHTTP_EXPECTATION_FAILEDtHTTP_UNPROCESSABLE_ENTITYtHTTP_LOCKEDtHTTP_FAILED_DEPENDENCYRYtHTTP_NOT_IMPLEMENTEDtHTTP_BAD_GATEWAYtHTTP_SERVICE_UNAVAILABLEtHTTP_GATEWAY_TIME_OUTtHTTP_VERSION_NOT_SUPPORTEDtHTTP_VARIANT_ALSO_VARIEStHTTP_INSUFFICIENT_STORAGEtHTTP_NOT_EXTENDEDtsyslogt	LOG_EMERGtAPLOG_EMERGt	LOG_ALERTtAPLOG_ALERTtLOG_CRITt
APLOG_CRITtLOG_ERRRRtLOG_WARNINGt
APLOG_WARNINGt
LOG_NOTICERvtLOG_INFOt
APLOG_INFOt	LOG_DEBUGtAPLOG_DEBUGtImportErrorRQRVtREQ_PROCEEDRgR\tREQ_NOACTIONtREMOTE_HOSTtREMOTE_NAMEtREMOTE_NOLOOKUPtREMOTE_DOUBLE_REVtREQ_ABORTEDRRKR:t
FINFO_MODEt	FINFO_INOt	FINFO_DEVtFINFO_NLINKt	FINFO_UIDt	FINFO_GIDt
FINFO_SIZEtFINFO_ATIMEtFINFO_MTIMEtFINFO_CTIMEtFINFO_FNAMEt
FINFO_NAMEt
URI_SCHEMEtURI_HOSTINFOtURI_USERtURI_PASSWORDtURI_HOSTNAMEtURI_PORTtURI_PATHt	URI_QUERYtURI_FRAGMENTt
PROXYREQ_NONEtPROXYREQ_PROXYtPROXYREQ_REVERSEtM_GETtM_PUTtM_POSTtM_DELETEt	M_CONNECTt	M_OPTIONStM_TRACEtM_PATCHt
M_PROPFINDtM_PROPPATCHtM_MKCOLtM_COPYtM_MOVEtM_LOCKtM_UNLOCKtM_VERSION_CONTROLt
M_CHECKOUTtM_UNCHECKOUTt	M_CHECKINtM_UPDATEtM_LABELtM_REPORTt
M_MKWORKSPACEtM_MKACTIVITYtM_BASELINE_CONTROLtM_MERGEt	M_INVALIDtAP_REQ_ACCEPT_PATH_INFOtAP_REQ_REJECT_PATH_INFOtAP_REQ_DEFAULT_PATH_INFOtAP_MPMQ_NOT_SUPPORTEDtAP_MPMQ_STATICtAP_MPMQ_DYNAMICtAP_MPMQ_MAX_DAEMON_USEDtAP_MPMQ_IS_THREADEDtAP_MPMQ_IS_FORKEDtAP_MPMQ_HARD_LIMIT_DAEMONStAP_MPMQ_HARD_LIMIT_THREADStAP_MPMQ_MAX_THREADStAP_MPMQ_MIN_SPARE_DAEMONStAP_MPMQ_MIN_SPARE_THREADStAP_MPMQ_MAX_SPARE_DAEMONStAP_MPMQ_MAX_SPARE_THREADStAP_MPMQ_MAX_REQUESTS_DAEMONtAP_MPMQ_MAX_DAEMONS(R/R+R<RR5RURFRERaROR"R\RuRRRPRRmRRRRRXRR[RRYRRRRR^RVRYR&RRZRhRRRKReRRgRRRIRR0RRHRRRPRRR?R=RRNRQRR!R#RRRRRDR>R>RRR'RWR2RR5RR	RRVRRGR4RRRRR1RR3RR
RRRR7RgR`R9R6R:RiRKRCRR%RR;R)RRRbRR
R(RQRRRMRdR8RRR@RRR_RLR\RRARRRR]R,RR-RTRfRR*RRRRvRRSR/RBR$R.RRR:RRcRR R3RORRRJRRR1R((Rt?sh									yH	'	@;																		


	

Anon7 - 2021