mirror of https://github.com/fail2ban/fail2ban
fixed cymru-info resolved to answers with multiple data-records (as comma-separated list now)
parent
3b8b9c4acf
commit
98f4d70371
|
@ -166,15 +166,21 @@ class BanManager:
|
|||
answers = resolver.query(question, "TXT")
|
||||
if not answers:
|
||||
raise ValueError("No data retrieved")
|
||||
asns = set()
|
||||
countries = set()
|
||||
rirs = set()
|
||||
for rdata in answers:
|
||||
asn, net, country, rir, changed =\
|
||||
[answer.strip("'\" ") for answer in rdata.to_text().split("|")]
|
||||
asn = self.handleBlankResult(asn)
|
||||
country = self.handleBlankResult(country)
|
||||
rir = self.handleBlankResult(rir)
|
||||
return_dict["asn"].append(self.handleBlankResult(asn))
|
||||
return_dict["country"].append(self.handleBlankResult(country))
|
||||
return_dict["rir"].append(self.handleBlankResult(rir))
|
||||
asns.add(self.handleBlankResult(asn))
|
||||
countries.add(self.handleBlankResult(country))
|
||||
rirs.add(self.handleBlankResult(rir))
|
||||
return_dict["asn"].append(', '.join(sorted(asns)))
|
||||
return_dict["country"].append(', '.join(sorted(countries)))
|
||||
return_dict["rir"].append(', '.join(sorted(rirs)))
|
||||
except dns.resolver.NXDOMAIN:
|
||||
return_dict["asn"].append("nxdomain")
|
||||
return_dict["country"].append("nxdomain")
|
||||
|
|
Loading…
Reference in New Issue