;ò ×k‘Gc@sCdZy dkZWnej on XeiƒdkZdkZdkZdkZdkZdk Z ei i ei i ei i ei dƒƒƒZei ideiieddgƒƒei ideiiedgƒƒeidjoei idƒndkZdkZdkZdkZeeiidƒieeiƒƒƒx'eii D]Z!ei ide!ƒqdWeii"o2eeii"d d ƒZ"ei#i$ƒe"e_#ne%Z"eii&o,ei'i$ƒeeii&d d ƒe_'ndk(Z)dk*Z)d „Z+d e i,fd „ƒYZ-eiei.ei/ƒeiei0ei1ƒeiei2ei3ƒdk4Z)e)i5i6i7ƒyweii8o;xcei9ƒo&ei:ƒZ;e-e;ƒZ<e<i7ƒq¡Wn,x(ei9ƒoei:ƒZ;e+e;ƒqÜWWn7e=j o+Z>de)i5i6_?ei@eiiƒnXdS(sr fcgi/web2ldap.py - stub script for running as FastCGI server web2ldap - web-based LDAP Client, see http://www.web2ldap.de (c) by Michael Stroeder This software is distributed under the terms of the GPL (GNU GENERAL PUBLIC LICENSE) Version 2 (see http://www.gnu.org/copyleft/gpl.html) $Id: web2ldap.py,v 1.34 2005/02/04 21:04:34 michael Exp $ Nisetcsweb2ldapspylibsposixs /etc/web2ldapswsaicCsKz9tii|i|itp|i|it i i ƒWd|i ƒXdS(s'Function which handles a single requestN( sw2lappshandlersHandleHTTPRequestsreqsinpsouts error_logserrsenvs web2ldapcnfsfastcgisbase_urlsFinish(sreq((s./fcgi/web2ldap.pyshandle_request7ss FastCGIThreadcBs)tZdZd„Zd„Zd„ZRS(s&Thread class for FastCGIServer threadscCsM||_tii|ƒtiƒ|_|i|i i |i ƒdƒdS(s,create a new thread to handle request in reqiN( sreqsselfs_reqs threadingsThreads__init__stimesstartedssetNames __class__s__name__sgetName(sselfsreq((s./fcgi/web2ldap.pys__init__Fs  cCsZd|iiiddƒ|iiiddƒ|iƒtidti|iƒƒfSdS(Ns%s:%s - %s started %ss REMOTE_ADDRsunknowns REMOTE_PORTs%Y-%m-%dT%H:%M:%SZ( sselfs_reqsenvsgetsgetNamestimesstrftimesgmtimesstarted(sself((s./fcgi/web2ldap.pys__repr__OscCst|iƒdS(N(shandle_requestsselfs_req(sself((s./fcgi/web2ldap.pysrunWs(s__name__s __module__s__doc__s__init__s__repr__srun(((s./fcgi/web2ldap.pys FastCGIThreadCs  (As__doc__spsycos ImportErrorsfullssyssosssignalstimesfcgis threadingspathsdirnamesabspathsargvs exec_startdirsinsertssepsjoinsnamesappends mssignalssweb2ldapcnf.miscs web2ldapcnfsweb2ldapcnf.fastcgisweb2ldapcnf.pluginssopensfastcgispid_fileswritesstrsgetpidsmiscs pylibdirssis error_logsstderrsclosesNones debug_logsstdoutsw2lapp.handlersw2lapps w2lapp.coreshandle_requestsThreads FastCGIThreadsSIGTERMsTERMSignalHandlersSIGUSR1sUSR1SignalHandlersSIGPIPEsPIPESignalHandlersw2lapp.sessionssessions cleanUpThreadsstarts run_threadedsisFCGIsFCGIsreqstsKeyboardInterrupts SystemExitsenabledsremove(sfcgispsycos mssignalssreqs SystemExitshandle_requests exec_startdirsw2lappssyss FastCGIThreadsis web2ldapcnfssignals error_logs threadingststimesos((s./fcgi/web2ldap.pys?s\  61(%$(