templates.render("ns3/named.conf", {"long_sigs": True})
with ns3.watch_log_from_here() as watcher:
ns3.reconfigure(log=False)
- watcher.wait_for_line("siginterval.example/IN (signed): sending notifies")
+ watcher.wait_for_line(
+ "zone_needdump: zone siginterval.example/IN (signed): enter"
+ )
res = isctest.query.tcp(msg, "10.53.0.3")
after = next(filter(is_rrsig_soa, res.answer))
# remove a name, bump the SOA, and reload
templates.render(f"{ns3.identifier}/nsec3-ent.kasp.db", {"serial": 2})
+ messages = [
+ f"zone {zone}/IN (unsigned): loaded serial 2",
+ f"zone_needdump: zone {zone}/IN (signed): enter",
+ ]
with ns3.watch_log_from_here() as watcher:
ns3.rndc(f"reload {zone}")
- watcher.wait_for_line(f"zone {zone}/IN (signed): sending notifies")
+ watcher.wait_for_sequence(messages)
# try the query again
query = isctest.query.create(f"c.{fqdn}", dns.rdatatype.A)
# add a name with an ENT, bump the SOA, and reload ensuring the time stamp changes
templates.render(f"{ns3.identifier}/nsec3-ent.kasp.db", {"serial": 3})
+ messages = [
+ f"zone {zone}/IN (unsigned): loaded serial 3",
+ f"zone_needdump: zone {zone}/IN (signed): enter",
+ ]
with ns3.watch_log_from_here() as watcher:
ns3.rndc(f"reload {zone}")
- watcher.wait_for_line(f"zone {zone}/IN (signed): sending notifies")
+ watcher.wait_for_sequence(messages)
# try the query again
query = isctest.query.create(f"x.y.z.{fqdn}", dns.rdatatype.A)
# Force full resign and check all signatures have been replaced.
with ns3.watch_log_from_here() as watcher:
ns3.rndc(f"sign {zone}", log=False)
- watcher.wait_for_line(f"zone {zone}/IN (signed): sending notifies")
+ watcher.wait_for_line(f"zone_needdump: zone {zone}/IN (signed): enter")
step["smooth"] = False
step["nextev"] = Iret(CONFIG, smooth=False)