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")
|
answers = resolver.query(question, "TXT")
|
||||||
if not answers:
|
if not answers:
|
||||||
raise ValueError("No data retrieved")
|
raise ValueError("No data retrieved")
|
||||||
|
asns = set()
|
||||||
|
countries = set()
|
||||||
|
rirs = set()
|
||||||
for rdata in answers:
|
for rdata in answers:
|
||||||
asn, net, country, rir, changed =\
|
asn, net, country, rir, changed =\
|
||||||
[answer.strip("'\" ") for answer in rdata.to_text().split("|")]
|
[answer.strip("'\" ") for answer in rdata.to_text().split("|")]
|
||||||
asn = self.handleBlankResult(asn)
|
asn = self.handleBlankResult(asn)
|
||||||
country = self.handleBlankResult(country)
|
country = self.handleBlankResult(country)
|
||||||
rir = self.handleBlankResult(rir)
|
rir = self.handleBlankResult(rir)
|
||||||
return_dict["asn"].append(self.handleBlankResult(asn))
|
asns.add(self.handleBlankResult(asn))
|
||||||
return_dict["country"].append(self.handleBlankResult(country))
|
countries.add(self.handleBlankResult(country))
|
||||||
return_dict["rir"].append(self.handleBlankResult(rir))
|
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:
|
except dns.resolver.NXDOMAIN:
|
||||||
return_dict["asn"].append("nxdomain")
|
return_dict["asn"].append("nxdomain")
|
||||||
return_dict["country"].append("nxdomain")
|
return_dict["country"].append("nxdomain")
|
||||||
|
|
Loading…
Reference in New Issue