From: Michael Tremer Date: Mon, 30 Dec 2013 14:34:37 +0000 (+0100) Subject: tracker: Fix sending the peer id. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f1349ebc1b9328e1a49ca905a941ecc40103b6d4;p=ipfire.org.git tracker: Fix sending the peer id. --- diff --git a/webapp/backend/tracker.py b/webapp/backend/tracker.py index d0ceb321..b76875f1 100644 --- a/webapp/backend/tracker.py +++ b/webapp/backend/tracker.py @@ -6,16 +6,12 @@ import random from misc import Object -def decode_hex(s): - ret = [] - for c in s: - for i in range(256): - if not c == chr(i): - continue +def encode_hex(s): + return s.encode("hex") - ret.append("%02x" % i) +def decode_hex(s): + return s.decode("hex") - return "".join(ret) class Tracker(Object): @property @@ -75,10 +71,10 @@ class Tracker(Object): if not no_peer_id: if peer6: - peer6["peer id"] = row.id + peer6["peer id"] = decode_hex(row.id) if peer4: - peer4["peer id"] = row.id + peer4["peer id"] = decode_hex(row.id) if peer6: peers.append(peer6) diff --git a/webapp/handlers_tracker.py b/webapp/handlers_tracker.py index 27fe7fd7..bbcc64f2 100644 --- a/webapp/handlers_tracker.py +++ b/webapp/handlers_tracker.py @@ -3,7 +3,7 @@ import re import tornado.web -from backend.tracker import bencode, bdecode, decode_hex +from backend.tracker import bencode, bdecode, encode_hex, decode_hex from handlers_base import * @@ -51,7 +51,7 @@ class TrackerBaseHandler(BaseHandler): arguments_new = [] for argument in arguments: - arguments_new.append(decode_hex(argument)) + arguments_new.append(encode_hex(argument)) arguments = arguments_new