for readable in cons.readables():
if readable==cons.privlistener:
newsock,addr=readable.accept()
- cons.add(cons.Connection(newsock, False))
+ cons.add(cons.Connection(newsock, True))
elif readable==cons.publistener:
newsock,addr=readable.accept()
- cons.add(cons.Connection(newsock, True))
+ cons.add(cons.Connection(newsock, False))
else:
readable.handleinput()
import os
import time
-CmdError="CmdError"
+BailOut="BailOut"
def parse(con):
if '\0' not in con.data:
for cmd in cmds:
con.data=con.data[len(cmd)+1:]
cmdname=cmd[:4]
+ if not con.authorized and not (cmdname=='linp' or cmdname=='linc'):
+ raise BailOut
+ # TODO: log unauthorized access
if cmdname in cmdlist:
cmdlist[cmdname](con, cmd[5:])
else:
- raise CmdError
+ raise BailOut
# TODO: log this
locks={}