From: Martin Mares Date: Mon, 22 Apr 2024 13:25:34 +0000 (+0200) Subject: More bits of blackhole zones X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=e5fecae14e69e4353bf0f5387e578896ab4e91ff;p=pynsc.git More bits of blackhole zones --- diff --git a/TODO b/TODO index 783852a..c9db73b 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,4 @@ - Names with dots - E-mail addresses with dots in SOA -- Blackhole zones - DNSSEC - Logging diff --git a/nsconfig/sink.py b/nsconfig/sink.py index 8bd23cb..198a6b7 100644 --- a/nsconfig/sink.py +++ b/nsconfig/sink.py @@ -1,4 +1,4 @@ -from typing import List, Optional +from typing import List from nsconfig.core import Nsc, NscZonePrimary from nsconfig.util import IPNetwork, parse_network @@ -37,13 +37,13 @@ def generate_localhost(nsc) -> None: def generate_blackhole(nsc: Nsc, - use_zone: Optional[NscZonePrimary] = None, skip_networks: List[IPNetwork] = [], - ) -> None: - if use_zone is None: - use_zone = nsc.add_zone('invalid') - assert isinstance(use_zone, NscZonePrimary) + admin_email: str = 'nobody@invalid', + **kwargs) -> None: + invalid_zone = nsc.add_zone('invalid', admin_email=admin_email, **kwargs) + invalid_zone[""].NS(invalid_zone.config.origin_server) + assert isinstance(invalid_zone, NscZonePrimary) for raw_net in BLACKHOLE_NETWORKS: net = parse_network(raw_net) if net not in skip_networks: - z = nsc.add_zone(reverse_for=net, alias_for=use_zone) + nsc.add_zone(reverse_for=net, alias_for=invalid_zone)