ascension

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

commit edb13e7f7e4dd4d863ba37478807580f3c84b8d3
parent 046fbf4919c81ccc287a9c0cca1488826c68cc74
Author: rexxnor <rexxnor+gnunet@brief.li>
Date:   Thu, 29 Nov 2018 22:26:25 +0100

added needed return statement; add glue records first, then NS

Diffstat:
Mgnsmigrator/gnsmigrator.py | 12+++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/gnsmigrator/gnsmigrator.py b/gnsmigrator/gnsmigrator.py @@ -175,6 +175,7 @@ class GNSMigrator(): cls.initial_zone_transfer() cls.zone = dns.zone.from_xfr(cls.zonegenerator) cls.soa = cls.get_zone_soa(cls.zone) + return elif zoneserial < currentserial: cls.initial_zone_transfer(serial=zoneserial) cls.zone = dns.zone.from_xfr(cls.zonegenerator) @@ -222,9 +223,14 @@ class GNSMigrator(): thread = threading.Thread(target=worker) thread.start() - # Give worker stuff to do - for record in cls.zone.iterate_rdatas(): - taskqueue.put(record) + # Add glue records to zone + for gluerecord in cls.zone.iterate_rdatas(rdtype=dns.rdatatype.A): + taskqueue.put(gluerecord) + for gluerecord in cls.zone.iterate_rdatas(rdtype=dns.rdatatype.AAAA): + taskqueue.put(gluerecord) + # Add NS records to zone + for nsrecord in cls.zone.iterate_rdatas(rdtype=dns.rdatatype.NS): + taskqueue.put(nsrecord) # Block until all tasks are done taskqueue.join()