From a5d163b4af8932ca5ba1a832d0ea3f0e441ba34e Mon Sep 17 00:00:00 2001 From: Sven Luethi Date: Sat, 11 Jul 2026 01:26:04 +0200 Subject: [PATCH] modified: netbox_dns_bridge/catalog_zone_manager.py modified: netbox_dns_bridge/notify_handler.py --- netbox_dns_bridge/catalog_zone_manager.py | 8 +------- netbox_dns_bridge/notify_handler.py | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/netbox_dns_bridge/catalog_zone_manager.py b/netbox_dns_bridge/catalog_zone_manager.py index 6a11d02..5e5da3e 100644 --- a/netbox_dns_bridge/catalog_zone_manager.py +++ b/netbox_dns_bridge/catalog_zone_manager.py @@ -181,18 +181,12 @@ def _create_soa_rdataset() -> dns.rdataset: ttl = 0 rclass = dns.rdataclass.IN rtype = dns.rdatatype.SOA - mname = dns.name.from_text("invalid", dns.name.root) - rname = dns.name.from_text("invalid", dns.name.root) - refresh = 60 - retry = 10 - expire = 1209600 - minimum = 0 # Create SOA rdata object rdata = dns.rdata.from_text( rclass, rtype, - f"{mname} {rname} {serial} {refresh} {retry} {expire} {minimum}", + f"invalid. invalid. {serial} 60 10 1209600 0", ) # Create Rdataset and add the RDATA to it diff --git a/netbox_dns_bridge/notify_handler.py b/netbox_dns_bridge/notify_handler.py index 5cb3c39..17e6c01 100644 --- a/netbox_dns_bridge/notify_handler.py +++ b/netbox_dns_bridge/notify_handler.py @@ -70,6 +70,7 @@ class SendDNSNotify(JobRunner): ) for zone_name, soa_serial in zones: + zone_name = dns.name.from_text(zone_name, dns.name.root).to_text() msg = dns.message.make_query(zone_name, dns.rdatatype.SOA) msg.flags = 0 msg.set_opcode(dns.opcode.NOTIFY) @@ -77,10 +78,10 @@ class SendDNSNotify(JobRunner): soa_rdata = dns.rdata.from_text( dns.rdataclass.IN, dns.rdatatype.SOA, - f"invalid invalid {soa_serial} 60 10 1209600 0", + f"invalid. invalid. {soa_serial} 60 10 1209600 0", ) soa_rrset = dns.rrset.from_rdata( - dns.name.from_text(zone_name, dns.name.root), 0, soa_rdata + zone_name, 0, soa_rdata ) msg.authority.append(soa_rrset) msg.use_tsig(keyring={tsig_key.name: tsig_key}, keyname=tsig_key.name) @@ -88,18 +89,19 @@ class SendDNSNotify(JobRunner): for client in clients: try: if notify_over_tcp: - LOGGER.info("Sending over TCP") - dns.query.tcp(msg, client.source_ip, timeout=2) + LOGGER.debug("Sending NOTIFY over TCP") + dns.query.tcp(msg, client.source_ip, port=5355, timeout=2) else: - LOGGER.info("Sending over UDP") - dns.query.udp(msg, client.source_ip, timeout=2) + LOGGER.debug("Sending NOTIFY over UDP") + dns.query.udp(msg, client.source_ip, port=5355, timeout=2) LOGGER.info( - f"NOTIFY sent to {client.source_ip} for zone {zone_name}" + f"NOTIFY sent: {client.source_ip} {view_name}/{zone_name} {soa_serial}" ) except Exception as e: LOGGER.error( - f"NOTIFY failed for {client.source_ip} zone {zone_name}: {e}" + f"NOTIFY failed: {client.source_ip}" + f" {view_name}/{zone_name} {soa_serial}: {e}" ) except IntegerKeyValueSetting.DoesNotExist as e: