Viewing File: /usr/lib64/python2.7/Demo/pysvr/pysvr.pyc

ó
V
Qc@s´dZddlZddlZddlZddlZddlZddlZddlZdZd„Z	dd„Zd„Zd„Z
d„Zd	„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!

iÿÿÿÿNi cCsÒyDtjtjddƒ\}}t|ƒdkrCtjd‚nWn tjk
rf}t|ƒnXx|D]\}}qnW|r¾ytj|dƒ}WqÄtk
rº}t|ƒqÄXnt	}t
|ƒdS(NitsToo many arguments.i(tgetopttsystargvtlenterrortusagetstringtatoit
ValueErrortPORTtmain_thread(toptstargstmsgtotatport((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pytmainscCs3tjt_|r|GHndGtGtjdƒdS(Ns
i(Rtstderrtstdoutt__doc__texit(R((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR%s
cCs¸tjtjtjƒ}|jd|fƒ|jdƒdG|GdGHxl|jƒ\}}|d|jƒdkr•|jƒdG|dGdGHqHntj	t
||fƒ~~qHdS(NRisListening on ports...is'Refusing connection from non-local hostt.(tsockettAF_INETtSOCK_STREAMtbindtlistentaccepttgetsocknametclosetthreadtstart_new_threadtservice_thread(Rtsocktconntaddr((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR,s


cCsl|\}}dttjƒƒ|fG|jdƒ}|jddƒ}t||ƒdttjƒƒGdS(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}yttjƒWndt_nXd}x7|jtjƒ|jƒ}|d dkrhd}n|rz|rzPn|ddkr›|d d}n||}yt|ƒ}Wn5tk
rì}d}tjt|dd|ƒq3nX|sùq3nd}yt
||||ƒWq3tk
rf}|rbyt|ƒ}Wn
d}nX|jd	|ƒnPq3Xq3|jd
ƒdS(Ns>>> Risÿìiþÿÿÿs
s
tfilesExit %s
s

Goodbye.
(R(Rtps1twritetreadlinetcompile_commandtSyntaxErrort	tracebacktprint_exceptiontNonetrun_commandt
SystemExit(R.Rtglobalstsourcetlinetcodeterrthow((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyR+CsH
	

c	BsÐejejejf}z˜|e_e_|e_y||UWnlek
rk}e|ejƒd‚nDejƒ\}}}|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
RR7RRR"R+R8R=R3(((s(/usr/lib64/python2.7/Demo/pysvr/pysvr.pyt<module>
sT					&	
Back to Directory File Manager