[svn] commit: r1463 - /trunk/src/lib/dns/tests/testdata/gen-wiredata.py.in

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Mar 16 23:35:36 UTC 2010


Author: jinmei
Date: Tue Mar 16 23:35:36 2010
New Revision: 1463

Log:
supported SOA generation

Modified:
    trunk/src/lib/dns/tests/testdata/gen-wiredata.py.in

Modified: trunk/src/lib/dns/tests/testdata/gen-wiredata.py.in
==============================================================================
--- trunk/src/lib/dns/tests/testdata/gen-wiredata.py.in (original)
+++ trunk/src/lib/dns/tests/testdata/gen-wiredata.py.in Tue Mar 16 23:35:36 2010
@@ -163,6 +163,33 @@
         f.write('# RDLEN=%d\n' % self.rdlen)
         f.write('%04x\n' % self.rdlen)
 
+class SOA:
+    # this currently doesn't support name compression within the RDATA.
+    rdlen = -1                  # auto-calculate
+    mname = 'ns.example.com'
+    rname = 'root.example.com'
+    serial = 2010012601
+    refresh = 3600
+    retry = 300
+    expire = 3600000
+    minimum = 1200
+    def dump(self, f):
+        mname_wire = encode_name(self.mname)
+        rname_wire = encode_name(self.rname)
+        rdlen = self.rdlen
+        if rdlen < 0:
+            rdlen = int(20 + len(mname_wire) / 2 + len(str(rname_wire)) / 2)
+        f.write('\n# SOA RDATA (RDLEN=%d)\n' % rdlen)
+        f.write('%04x\n' % rdlen);
+        f.write('# NNAME=%s RNAME=%s\n' % (self.mname, self.rname))
+        f.write('%s %s\n' % (mname_wire, rname_wire))
+        f.write('# SERIAL(%d) REFRESH(%d) RETRY(%d) EXPIRE(%d) MINIMUM(%d)\n' %
+                (self.serial, self.refresh, self.retry, self.expire,
+                 self.minimum))
+        f.write('%08x %08x %08x %08x %08x\n' % (self.serial, self.refresh,
+                                                self.retry, self.expire,
+                                                self.minimum))
+
 class RRSIG:
     rdlen = -1                  # auto-calculate
     covered = 1                 # A
@@ -202,7 +229,7 @@
 def get_config_param(section):
     config_param = {'header' : (DNSHeader, header_xtables),
                 'question' : (DNSQuestion, question_xtables),
-                'edns' : (EDNS, {}), 'rrsig' : (RRSIG, {}) }
+                'edns' : (EDNS, {}), 'soa' : (SOA, {}), 'rrsig' : (RRSIG, {}) }
     s = section
     m = re.match('^([^:]+)/\d+$', section)
     if m:




More information about the bind10-changes mailing list