]> git.ralfj.de Git - zonemaker.git/blobdiff - zone.py
multi-NS secure delegation
[zonemaker.git] / zone.py
diff --git a/zone.py b/zone.py
index 5cd0d72cac2b744fd4b807cf49e79b4ffd0434e9..7d692c175ca52865d3f6a7f58a601ec8bf56e8d4 100644 (file)
--- a/zone.py
+++ b/zone.py
@@ -33,7 +33,7 @@ week = 7*day
 
 REGEX_label = r'[a-zA-Z90-9]([a-zA-Z90-9-]{0,61}[a-zA-Z90-9])?' # max. 63 characters; must not start or end with hyphen
 REGEX_ipv4  = r'^\d{1,3}(\.\d{1,3}){3}$'
 
 REGEX_label = r'[a-zA-Z90-9]([a-zA-Z90-9-]{0,61}[a-zA-Z90-9])?' # max. 63 characters; must not start or end with hyphen
 REGEX_ipv4  = r'^\d{1,3}(\.\d{1,3}){3}$'
-REGEX_ipv6  = r'^[a-fA-F0-9]{1,4}(:[a-fA-F0-9]{1,4}){7}$'
+REGEX_ipv6  = r'^[a-fA-F0-9]{1,4}(::?[a-fA-F0-9]{1,4}){1,7}$'
 
 def check_label(label: str) -> str:
     label = str(label)
 
 def check_label(label: str) -> str:
     label = str(label)
@@ -296,12 +296,12 @@ def CName(name: str) -> Name:
     return Name(CNAME(name))
 
 
     return Name(CNAME(name))
 
 
-def Delegation(name: str) -> Name:
-    return Name(NS(name))
+def Delegation(*names) -> Name:
+    return Name(list(map(NS, names)))
 
 
 
 
-def SecureDelegation(name: str, tag: int, alg: int, digest: int, key: str) -> Name:
-    return Name(NS(name), DS(tag, alg, digest, key))
+def SecureDelegation(tag: int, alg: int, digest: int, key: str, *names) -> Name:
+    return Name(DS(tag, alg, digest, key), list(map(NS, names)))
 
 
 class Zone:
 
 
 class Zone: