Test tracker address validity
This commit is contained in:
parent
0e3698fa2f
commit
33877c73bb
1 changed files with 3 additions and 2 deletions
|
@ -5,6 +5,7 @@ import urllib
|
||||||
import urllib2
|
import urllib2
|
||||||
import struct
|
import struct
|
||||||
import socket
|
import socket
|
||||||
|
import re
|
||||||
|
|
||||||
from lib import bencode
|
from lib import bencode
|
||||||
from lib.subtl.subtl import UdpTrackerClient
|
from lib.subtl.subtl import UdpTrackerClient
|
||||||
|
@ -150,8 +151,8 @@ class SiteAnnouncer(object):
|
||||||
|
|
||||||
def announceTracker(self, tracker, mode="start", num_want=10):
|
def announceTracker(self, tracker, mode="start", num_want=10):
|
||||||
s = time.time()
|
s = time.time()
|
||||||
if "://" not in tracker:
|
if "://" not in tracker or not re.match("^[A-Za-z0-9:/\\.#-]+$", tracker):
|
||||||
self.site.log.warning("Tracker %s error: Invalid address" % tracker)
|
self.site.log.warning("Tracker %s error: Invalid address" % tracker.decode("utf8", "ignore"))
|
||||||
return False
|
return False
|
||||||
protocol, address = tracker.split("://", 1)
|
protocol, address = tracker.split("://", 1)
|
||||||
if tracker not in self.stats:
|
if tracker not in self.stats:
|
||||||
|
|
Loading…
Reference in a new issue