fixed cymru-info resolved to answers with multiple data-records (as comma-separated list now)

pull/2048/head
sebres 7 years ago
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…
Cancel
Save