PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  V Qc@sdZddlZddlZddlZddlZddlZddlZddlZdZdZ ddZ dZ dZ dZd Zdd lmZe dS( sIA multi-threaded telnet-like server that gives a Python prompt. This is really a prototype for the same thing in C. Usage: pysvr.py [port] For security reasons, it only accepts requests from the current host. This can still be insecure, but restricts violations from people who can log in on your machine. Use with caution! iNicCsyDtjtjdd\}}t|dkrCtjdnWn tjk rf}t|nXx|D] \}}qnW|rytj|d}Wqtk r}t|qXnt }t |dS(NitsToo many arguments.i( tgetopttsystargvtlenterrortusagetstringtatoit ValueErrortPORTt main_thread(toptstargstmsgtotatport((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pytmainscCs3tjt_|r|GHndGtGtjddS(Ns i(Rtstderrtstdoutt__doc__texit(R((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR%s  cCstjtjtj}|jd|f|jddG|GdGHxl|j\}}|d|jdkr|jdG|dGdGHqHntj t ||f~~qHdS(NRisListening on ports...is'Refusing connection from non-local hostt.( tsockettAF_INETt SOCK_STREAMtbindtlistentacceptt getsocknametclosetthreadtstart_new_threadtservice_thread(Rtsocktconntaddr((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR ,s   cCsl|\}}dttj|fG|jd}|jdd}t||dttjGdS(Ns"Thread %s has connection from %s. trtwisThread %s is done. (tstrR t get_identtmakefiletrun_interpreter(R$R%tcaddrtcporttstdinR((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR":s  cCs{i}yttjWndt_nXd}x7|jtj|j}|d dkrhd}n| rz| rzPn|ddkr|d d}n||}yt|}Wn5tk r}d}tjt|dd|q3nX|sq3nd}yt ||||Wq3t k rf}|rbyt|}Wn d}nX|jd |nPq3Xq3|jd dS( Ns>>> Risis s tfilesExit %s s Goodbye. ( R(Rtps1twritetreadlinetcompile_commandt SyntaxErrort tracebacktprint_exceptiontNonet run_commandt SystemExit(R.Rtglobalstsourcetlinetcodeterrthow((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR+CsH     c Bsejejejf}z|e_e_|e_y ||UWnlek rk}e|ejdnDej\}}}|r|j}nej|||~nXWd|\e_e_e_XdS(Ni( RR.RRR9texc_infottb_nextR5R6( R=R.RR:tsaveR?ttypetvaluettb((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR8is    (R3(RRtosRRR RR5R RR7RR R"R+R8R=R3(((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyt sT    &