summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGoblin911 <goblinliu@gmail.com>2013-08-26 22:03:11 +0800
committerGoblin911 <goblinliu@gmail.com>2013-08-26 22:03:11 +0800
commita33623ec00b323272fe1cf5188c64f2e495da18f (patch)
tree5259512eca35861f5c56b67197b62be1588d926e
parent9b17e1808a93840c265123925c2b60e55c2ec930 (diff)
parentcf77f61bff7822b35020f2877ca4e6e683981be1 (diff)
Merge branch 'master' of ssh://github.com/Determinant/piztor
-rw-r--r--server/piztor/prob.py95
-rw-r--r--server/piztor/server.py10
2 files changed, 55 insertions, 50 deletions
diff --git a/server/piztor/prob.py b/server/piztor/prob.py
index 0ed328f..20b6779 100644
--- a/server/piztor/prob.py
+++ b/server/piztor/prob.py
@@ -6,7 +6,7 @@ def get_hex(data):
return "".join([hex(ord(c))[2:].zfill(2) for c in data])
host = "localhost"
-port = 9990
+port = 2222
def gen_auth(username, password):
length = 4 + 1 + len(username) + 1 + len(password) + 1
@@ -56,52 +56,59 @@ def send(data):
from sys import argv
-if len(argv) == 2:
- host = argv[1]
-
username = "hello"
password = "world"
gid = 1
-resp = send(gen_auth(username, password))
-pl, optcode, status, uid, token = unpack("!LBBL32s", resp)
-print "size: " + str((pl, len(resp)))
-print "opt: " + str(optcode)
-print "status: " + str(status)
-print "uid: " + str(uid)
-print "token: " + get_hex(token)
-
-resp = send(gen_update_location(token, username, random(), random()))
-pl, optcode, status = unpack("!LBB", resp)
-print "size: " + str((pl, len(resp)))
-print "opt: " + str(optcode)
-print "status: " + str(status)
-
-resp = send(gen_request_location(token, username, gid))
-print len(resp)
-pl, optcode, status = unpack("!LBB", resp[:6])
-print "size: " + str((pl, len(resp)))
-idx = 6
-print "length: " + str(len(resp[6:]))
-while idx < pl:
- print len(resp[idx:idx + 20])
- uid, lat, lng = unpack("!Ldd", resp[idx:idx + 20])
- idx += 20
- print (uid, lat, lng)
-
-resp = send(gen_request_user_info(token, username, uid))
-pl, optcode, status = unpack("!LBB", resp[:6])
-print "size: " + str((pl, len(resp)))
+if len(argv) == 2:
+ host = argv[1]
-idx = 6
-while idx < pl:
- info_key, = unpack("!B", resp[idx:idx + 1])
- idx += 1
- print info_key
- if info_key == 0x00:
- info_value, = unpack("!L", resp[idx:idx + 4])
- idx += 4
- elif info_key == 0x01:
- info_value, = unpack("!B", resp[idx:idx + 1])
+if len(argv) == 3:
+ username = argv[1]
+ password = argv[2]
+
+for i in xrange(10):
+ resp = send(gen_auth(username, password))
+ pl, optcode, status, uid, token = unpack("!LBBL32s", resp)
+ print "size: " + str((pl, len(resp)))
+ print "opt: " + str(optcode)
+ print "status: " + str(status)
+ print "uid: " + str(uid)
+ print "token: " + get_hex(token)
+
+ resp = send(gen_update_location(token, username, random(), random()))
+ pl, optcode, status = unpack("!LBB", resp)
+ print "size: " + str((pl, len(resp)))
+ print "opt: " + str(optcode)
+ print "status: " + str(status)
+
+ resp = send(gen_request_location(token, username, gid))
+ print len(resp)
+ pl, optcode, status = unpack("!LBB", resp[:6])
+ print "size: " + str((pl, len(resp)))
+ idx = 6
+ print "length: " + str(len(resp[6:]))
+ while idx < pl:
+ print len(resp[idx:idx + 20])
+ uid, lat, lng = unpack("!Ldd", resp[idx:idx + 20])
+ idx += 20
+ print (uid, lat, lng)
+
+ resp = send(gen_request_user_info(token, username, uid))
+ pl, optcode, status = unpack("!LBB", resp[:6])
+ print "size: " + str((pl, len(resp)))
+
+ idx = 6
+ while idx < pl:
+ info_key, = unpack("!B", resp[idx:idx + 1])
idx += 1
- print (info_key, info_value)
+ print info_key
+ if info_key == 0x00:
+ info_value, = unpack("!L", resp[idx:idx + 4])
+ idx += 4
+ elif info_key == 0x01:
+ info_value, = unpack("!B", resp[idx:idx + 1])
+ idx += 1
+ print (info_key, info_value)
+ from time import sleep
+ sleep(10)
diff --git a/server/piztor/server.py b/server/piztor/server.py
index 5d2382d..d0cfc34 100644
--- a/server/piztor/server.py
+++ b/server/piztor/server.py
@@ -139,7 +139,7 @@ class UserAuthHandler(RequestHandler):
logger.info("Logged in sucessfully: {0}".format(username))
uauth.regen_token()
session.commit()
- logger.info("new token generated: " + get_hex(uauth.token))
+ logger.info("New token generated: " + get_hex(uauth.token))
return struct.pack("!LBBL32s", UserAuthHandler._response_size,
_OptCode.user_auth,
_StatusCode.sucess,
@@ -333,7 +333,7 @@ class PTP(Protocol, TimeoutMixin):
def dataReceived(self, data):
self.buff += data
self.resetTimeout()
- print len(self.buff)
+ logger.info("Buffer length is now: %d", len(self.buff))
if len(self.buff) > 4:
try:
self.length, self.optcode = struct.unpack("!LB", self.buff[:5])
@@ -342,9 +342,7 @@ class PTP(Protocol, TimeoutMixin):
except struct.error:
logger.warning("Invalid request header")
raise BadReqError("Malformed request header")
- print self.length
- if self.length == -1:
- return
+ if self.length == -1: return
if len(self.buff) == self.length:
h = handlers[self.optcode]()
reply = h.handle(self.buff[5:])
@@ -366,6 +364,6 @@ class PTPFactory(Factory):
def buildProtocol(self, addr):
return PTP(self)
-endpoint = TCP4ServerEndpoint(reactor, 9990)
+endpoint = TCP4ServerEndpoint(reactor, 2222)
endpoint.listen(PTPFactory())
reactor.run()