ascension

Migrate DNS zones to the GNU Name System
Log | Files | Refs | README | LICENSE

commit 299a198e8b2d8dce1841169cb10fa6527da9c19e
parent 23258f445cbd35572c3a6a5719af3f0c6b97c5bf
Author: rexxnor <rexxnor+gnunet@brief.li>
Date:   Tue, 23 Apr 2019 10:53:25 +0200

fixed error handling

Diffstat:
Mascension/ascension.py | 11++++++++---
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")