]> git.ipfire.org Git - ipfire.org.git/commitdiff
tracker: Fix for clients behind a proxy that sends "X-Forwarded-For".
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 19 Jan 2011 18:05:51 +0000 (19:05 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 19 Jan 2011 18:05:51 +0000 (19:05 +0100)
www/webapp/handlers_tracker.py

index 84692984a4fff55212066d8511052079171912d9..c57dc7fbd6c03234c7d035579a99f5a13d87ce81 100644 (file)
@@ -106,9 +106,14 @@ class TrackerAnnounceHandler(TrackerBaseHandler):
                        self.send_tracker_error("Your client forgot to send your torrent's info_hash.")
                        return
 
+               # Fix for clients behind a proxy that sends "X-Forwarded-For".
+               ip_addr = self.request.remote_ip.split(", ")
+               if ip_addr:
+                       ip_addr = ip_addr[-1]
+
                peer = {
                        "id" : self.get_hexencoded_argument("peer_id"),
-                       "ip" : self.request.remote_ip,
+                       "ip" : ip_addr,
                        "port" : self.get_argument("port", None),
                        "downloaded" : self.get_argument("downloaded", 0),
                        "uploaded" : self.get_argument("uploaded", 0),