From 0833b95fa5f3c8e1b944d4811025ece630aa6a78 Mon Sep 17 00:00:00 2001 From: Lexi Winter Date: Thu, 17 Jul 2025 04:13:23 +0100 Subject: get_catalog: don't include dn42 zones --- bin/get_catalog | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'bin/get_catalog') diff --git a/bin/get_catalog b/bin/get_catalog index 39c8a37..4c069ac 100755 --- a/bin/get_catalog +++ b/bin/get_catalog @@ -30,9 +30,22 @@ def axfr(zonename, hostname): raise (last_exc) def print_catalog(zone): + def origin(node): + try: + return [ + ''.join(s.decode('utf-8') for s in rdata.strings) + for rdata in + zone.find_node(f"origin.ext.{node}") + .find_rdataset(dns.rdataclass.IN, + dns.rdatatype.TXT) + ] + except KeyError: + return [] + nodes = [node for (name, node) in zone.nodes.items() - if len(name) == 2 and name[1] == b"zones"] + if len(name) == 2 and name[1] == b"zones" + and not "dn42" in origin(name)] ptrs = [str(ptr.target).rstrip('.') for node in nodes -- cgit v1.2.3