ascension

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

commit 9d6135d412e719ff8d5eb7128add5f5c27d5cf4f
parent adcbd4efbc2555b3e6388415f3243442d6bae076
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date:   Thu,  4 Jul 2024 10:19:10 +0200

fix ixfr after zone import from file

Diffstat:
Mascension/ascension.py | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/ascension/ascension.py b/ascension/ascension.py @@ -460,6 +460,7 @@ def main(): # variable to keep state needsupdate = False + first_run = True # Main loop for actual daemon while True: @@ -499,7 +500,12 @@ def main(): if not ascender.dnszone.zone or needsupdate: # Zonebackups are needed for retaining information for IXFR and # offer a zone for dnspython to patch - gns_zone_serial = ascender.dnszone.restore_from_file(gns_zone_serial, zonefile=args.zonefile) + # On a first run, we may have been given an initial zone file to + # use as import source. + zf = None + if first_run: + zf = args.zonefile # May also be None + gns_zone_serial = ascender.dnszone.restore_from_file(gns_zone_serial, zonefile=zf) ascender.logger.info("Zone serial for DNS zone transfer used: `%s'", gns_zone_serial) # Transfer the actual zone if None == args.zonefile: @@ -519,6 +525,7 @@ def main(): ascender.add_records_to_gns(args.workers, args.batchsize) + first_run = False if args.standalone: return 0