]> mj.ucw.cz Git - pynsc.git/commitdiff
More bits of blackhole zones
authorMartin Mares <mj@ucw.cz>
Mon, 22 Apr 2024 13:25:34 +0000 (15:25 +0200)
committerMartin Mares <mj@ucw.cz>
Mon, 22 Apr 2024 13:25:34 +0000 (15:25 +0200)
TODO
nsconfig/sink.py

diff --git a/TODO b/TODO
index 783852aee21096c03dc9397a3192744505566e7b..c9db73b1a24a89cf85eb526491cb0e4002935142 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,5 +1,4 @@
 - Names with dots
 - E-mail addresses with dots in SOA
-- Blackhole zones
 - DNSSEC
 - Logging
index 8bd23cb0864517773ff4f98d8b0473e7441762ca..198a6b74e35eabe42dd6305adab2c4a320505e05 100644 (file)
@@ -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)