Fix slow search #6
parent
6c2ec6a58c
commit
5fe0d7fd6b
|
@ -102,7 +102,7 @@ class WarningList():
|
||||||
parsed_url = urlparse(value)
|
parsed_url = urlparse(value)
|
||||||
if parsed_url.hostname:
|
if parsed_url.hostname:
|
||||||
value = parsed_url.hostname
|
value = parsed_url.hostname
|
||||||
return any(value.endswith(v) for v in self.list)
|
return any(value == v or value.endswith("."+v.lstrip(".")) for v in self.list)
|
||||||
elif self.type == 'cidr':
|
elif self.type == 'cidr':
|
||||||
try:
|
try:
|
||||||
value = ip_address(value)
|
value = ip_address(value)
|
||||||
|
|
|
@ -45,4 +45,8 @@ class TestPyMISPWarningLists(unittest.TestCase):
|
||||||
results = self.warninglists.search('1e100.net')
|
results = self.warninglists.search('1e100.net')
|
||||||
self.assertEqual(results[0].name, 'List of known google domains')
|
self.assertEqual(results[0].name, 'List of known google domains')
|
||||||
results = self.warninglists.search('something.files.1drv.com')
|
results = self.warninglists.search('something.files.1drv.com')
|
||||||
self.assertEqual(results[0].name, 'Top 1,000,000 most-used sites from Tranco')
|
self.assertTrue('List of known microsoft domains' in [r.name for r in results])
|
||||||
|
results = self.warninglists.search('arbitrary-domain-1e100.net')
|
||||||
|
self.assertEqual(results, [])
|
||||||
|
results = self.warninglists.search('phishing.co.uk')
|
||||||
|
self.assertEqual(results, [])
|
||||||
|
|
Loading…
Reference in New Issue