- Classless reverse delegation
- Blackhole zones
- DNSSEC
-- Auto-generated files should contain a comment saying so
- Automated generation of Null MX
- Bind: custom config
- Logging
n.A(*args, reverse=reverse)
return n
+ def zone_header(self) -> str:
+ return (
+ f'; Zone file for {self.name}\n'
+ + '; Generated by NSC, please do not edit manually.\n'
+ + '\n')
+
def dump(self, file: Optional[TextIO] = None) -> None:
# Could use self.zone.to_file(sys.stdout), but we want better formatting
file = file or sys.stdout
- file.write(f'; Zone file for {self.name}\n\n')
+ file.write(self.zone_header())
last_name = None
for name, ttl, rec in self.zone.iterate_rdatas():
if name == last_name:
def gen_hash(self) -> None:
sha = hashlib.sha1()
+ sha.update(self.zone_header().encode('us-ascii'))
for name, ttl, rec in self.zone.iterate_rdatas():
text = f'{name}\t{ttl}\t{rec.rdtype.name}\t{rec.to_text()}\n'
sha.update(text.encode('us-ascii'))