modified: netbox_dns_bridge/__init__.py

modified:   netbox_dns_bridge/catalog_zone_manager.py
modified:   netbox_dns_bridge/dns_server.py
modified:   netbox_dns_bridge/logger.py
new file:   netbox_dns_bridge/migrations/0002_alter_integerkeyvaluesetting_options_and_more.py
modified:   netbox_dns_bridge/models.py
new file:   netbox_dns_bridge/notify_handler.py
modified:   netbox_dns_bridge/request_handler.py
modified:   netbox_dns_bridge/signals/__init__.py
new file:   netbox_dns_bridge/signals/netbox_dns_zones.py
deleted:    netbox_dns_bridge/signals/transfer_endpoint.py
modified:   netbox_dns_bridge/utils.py

Implement notify mechanism
This commit is contained in:
Sven Luethi committed 2026-06-11 00:32:26 +02:00
1 parent a4036c285c
commit 3eef3b4d7b
12 files changed
+227 -114

No files matched your search

+8 -1
View File
@@ -10,11 +10,12 @@ import dns.rdataclass
import dns.rdtypes
import dns.exception
import dns.renderer
import logging
from .logger import get_logger
from django.utils import timezone
from netbox_dns.models import Zone, Record
from netbox_dns.choices import ZoneStatusChoices, RecordStatusChoices
from netbox_dns_bridge import catalog_zone_manager as catzm
from .models import SeenTransferClients
logger = get_logger(__name__)
@@ -275,6 +276,12 @@ class DNSBaseRequestHandler(socketserver.BaseRequestHandler):
wire = r.get_wire()
self._send_response(wire)
SeenTransferClients.objects.update_or_create(
source_ip=peer,
view=nb_view,
defaults={"last_seen": timezone.now()},
)
logger.info(f"{peer} AXFR {nb_view.name}/{dname}")
def _handle_dns_query(self, wire) -> None: