multi-NS secure delegation
authorRalf Jung <post@ralfj.de>
Fri, 25 Dec 2015 10:21:44 +0000 (11:21 +0100)
committerRalf Jung <post@ralfj.de>
Fri, 25 Dec 2015 10:21:44 +0000 (11:21 +0100)
db.example.com.py
zone.py

index 10871137b1206a05d1241b0be1bed9f0d4da6251..349d958f232ab96c53de1a31866fcd57981c30fd 100644 (file)
@@ -41,7 +41,7 @@ __zone__ = Zone('example.com.', serialfile = 'db.example.com.srl',
         'orgstuff':     CName('example.org.'), # CNAMEs cannot be combined with other records
         #
         'sub1':         Delegation('ns.example.org.', 'ns'), # this adds an NS record
-        'sub2':         SecureDelegation('ns.example.com.', 12345, Algorithm.RSA_SHA256, Digest.SHA256, '0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF'), # this adds an NS and a DS record
+        'sub2':         SecureDelegation(12345, Algorithm.RSA_SHA256, Digest.SHA256, '0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF', 'ns.example.com.'), # this adds an NS and a DS record
         #
         'local': {
             'one':      Name(one4),
diff --git a/zone.py b/zone.py
index 5030e9c8b9279e975d7de72cfcd4d8bb7b2361a4..7d692c175ca52865d3f6a7f58a601ec8bf56e8d4 100644 (file)
--- a/zone.py
+++ b/zone.py
@@ -296,12 +296,12 @@ def CName(name: str) -> Name:
     return Name(CNAME(name))
 
 
-def Delegation(name: str, *names) -> Name:
-    return Name(NS(name), list(map(NS, names)))
+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: