commit 299a198e8b2d8dce1841169cb10fa6527da9c19e
parent 23258f445cbd35572c3a6a5719af3f0c6b97c5bf
Author: rexxnor <rexxnor+gnunet@brief.li>
Date: Tue, 23 Apr 2019 10:53:25 +0200
fixed error handling
Diffstat:
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/ascension/ascension.py b/ascension/ascension.py
@@ -142,8 +142,6 @@ class Ascender():
zone = dns.zone.from_xfr(dns.query.xfr(
master_answer[0].address, domain,
port=cls.port))
- except dns.exception.DNSException:
- logging.error("Malformed DNS zone '%s'", domain)
except dns.resolver.NoAnswer:
logging.error("nameserver for '%s' did not answer", domain)
except dns.exception.FormError:
@@ -171,12 +169,19 @@ class Ascender():
if zoneserial == 0:
logging.info("zone does not exist yet")
cls.initial_zone_transfer()
+ try:
+ cls.zone = dns.zone.from_xfr(cls.zonegenerator)
+ except dns.zone.BadZone:
+ logging.error("Malformed DNS Zone '%s'", cls.domain)
cls.zone = dns.zone.from_xfr(cls.zonegenerator)
cls.soa = cls.get_zone_soa(cls.zone)
elif zoneserial < currentserial:
logging.info("zone is out of date")
cls.initial_zone_transfer(serial=zoneserial)
- cls.zone = dns.zone.from_xfr(cls.zonegenerator)
+ try:
+ cls.zone = dns.zone.from_xfr(cls.zonegenerator)
+ except dns.zone.BadZone:
+ logging.error("Malformed DNS Zone '%s'", cls.domain)
cls.soa = cls.get_zone_soa(cls.zone)
elif zoneserial == currentserial:
logging.info("zone is up to date")