fix server

This commit is contained in:
clowwindy 2013-05-18 14:35:57 +08:00
parent 472a2b6233
commit a3ee28dc45
2 changed files with 20 additions and 10 deletions

View file

@ -116,7 +116,8 @@ class LocalHandler(object):
header_length = 5 + addr_len + 2
else:
# TODO check addrtype in (1, 3, 4)
raise
# raise Exception('addrtype wrong')
raise something
remote_port = struct.unpack('>H', remote_port)[0]
logging.info('connecting %s:%d' % (remote_addr, remote_port))
self.conn.write('\x05\x00\x00\x01\x00\x00\x00\x00\x10\x10')
@ -177,7 +178,9 @@ if __name__ == '__main__':
if '-6' in sys.argv[1:]:
argv.remove('-6')
optlist, args = getopt.getopt(argv, 's:p:k:l:')
level = logging.INFO
optlist, args = getopt.getopt(argv, 's:p:k:l:v')
for key, value in optlist:
if key == '-p':
REMOTE_PORT = int(value)
@ -187,8 +190,10 @@ if __name__ == '__main__':
PORT = int(value)
elif key == '-s':
SERVER = value
elif key == '-v':
level = logging.NOTSET
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)-8s %(message)s',
logging.basicConfig(level=level, format='%(asctime)s %(levelname)1.1s %(message)s',
datefmt='%Y-%m-%d %H:%M:%S', filemode='a+')
encrypt_table = ''.join(get_table(KEY))

View file

@ -65,8 +65,9 @@ class RemoteHandler(object):
conn.connect(local_handler.remote_addr_pair)
def on_connect(self, s):
logging.debug('on_connnect')
for piece in self.local_handler.cached_pieces:
self.conn.write(decrypt(piece))
self.conn.write(piece)
# TODO write cached pieces
self.local_handler.stage = 5
@ -84,8 +85,8 @@ class RemoteHandler(object):
class LocalHandler(object):
def on_data(self, s, data):
data = decrypt(data)
if self.stage == 5:
data = decrypt(data)
self.remote_handler.conn.write(data)
return
if self.stage == 0:
@ -107,7 +108,8 @@ class LocalHandler(object):
header_length = 2 + addr_len + 2
else:
# TODO check addrtype in (1, 3, 4)
raise
# raise 'addrtype wrong'
raise something
remote_port = struct.unpack('>H', remote_port)[0]
self.remote_addr_pair = (remote_addr, remote_port)
logging.info('connecting %s:%d' % self.remote_addr_pair)
@ -121,8 +123,7 @@ class LocalHandler(object):
self.stage = 4
return
except:
import traceback
traceback.print_exc()
logging.exception('')
if self.stage == 4:
self.cached_pieces.append(data)
@ -166,14 +167,18 @@ if __name__ == '__main__':
if '-6' in sys.argv[1:]:
argv.remove('-6')
optlist, args = getopt.getopt(argv, 'p:k:')
level = logging.INFO
optlist, args = getopt.getopt(argv, 'p:k:v')
for key, value in optlist:
if key == '-p':
PORT = int(value)
elif key == '-k':
KEY = value
elif key == '-v':
level = logging.NOTSET
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(levelname)-8s %(message)s',
logging.basicConfig(level=level, format='%(asctime)s %(levelname)1.1s %(message)s',
datefmt='%Y-%m-%d %H:%M:%S', filemode='a+')
encrypt_table = ''.join(get_table(KEY))