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:
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