[svn] commit: r1077 - in /branches/each-loadzone/src: bin/loadzone/b10-loadzone.py lib/auth/python/isc/auth/master.py lib/auth/python/isc/auth/sqlite3_ds.py

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Mar 2 22:02:00 UTC 2010


Author: each
Date: Tue Mar  2 22:02:00 2010
New Revision: 1077

Log:
address review comments, ticket 51

Modified:
    branches/each-loadzone/src/bin/loadzone/b10-loadzone.py
    branches/each-loadzone/src/lib/auth/python/isc/auth/master.py
    branches/each-loadzone/src/lib/auth/python/isc/auth/sqlite3_ds.py

Modified: branches/each-loadzone/src/bin/loadzone/b10-loadzone.py
==============================================================================
--- branches/each-loadzone/src/bin/loadzone/b10-loadzone.py (original)
+++ branches/each-loadzone/src/bin/loadzone/b10-loadzone.py Tue Mar  2 22:02:00 2010
@@ -20,7 +20,8 @@
 # usage: print usage note and exit
 #########################################################################
 def usage():
-    print("Usage: %s [-d <database>] [-o <origin>] <file>" % sys.argv[0])
+    print("Usage: %s [-d <database>] [-o <origin>] <file>" % sys.argv[0], \
+          file=sys.stderr)
     exit(1)
 
 #########################################################################
@@ -41,27 +42,26 @@
         if o in ("-d", "--dbfile"):
             dbfile = a
         elif o in ("-o", "--origin"):
-            initial_origin = a;
+            initial_origin = a
         elif o in ("-h", "--help"):
             usage()
-            sys.exit()
         else:
             assert False, "unhandled option"
-    try:
-        zonefile = args[0]
-    except:
+
+    if len(args) != 1:
         usage()
+    zonefile = args[0]
 
     try:
         zone, zonedata = isc.auth.master.parse(zonefile, initial_origin)
     except Exception as e:
-        print("Couldn't open database: " + str(e));
+        print("Error reading zone file: " + str(e))
         exit(1)
 
     try:
         isc.auth.sqlite3_ds.load(dbfile, zone, zonedata)
     except Exception as e:
-        print("Couldn't load database: " + str(e));
+        print("Error loading database: " + str(e))
         exit(1)
 
 if __name__ == "__main__":

Modified: branches/each-loadzone/src/lib/auth/python/isc/auth/master.py
==============================================================================
--- branches/each-loadzone/src/lib/auth/python/isc/auth/master.py (original)
+++ branches/each-loadzone/src/lib/auth/python/isc/auth/master.py Tue Mar  2 22:02:00 2010
@@ -13,21 +13,18 @@
 # NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
 # WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
-import sys, re, string;
+import sys, re, string
 
 #########################################################################
 # define exceptions
 #########################################################################
 class MasterFileError(Exception):
-    def __init__(self, value):
-        self.value = value
-    def __str__(self):
-        return repr(self.value)
+    pass
 
 #########################################################################
 # global variables
 #########################################################################
-maxttl = 0x7fffffff;
+maxttl = 0x7fffffff
 defclass = 'IN'
 
 #########################################################################
@@ -117,7 +114,7 @@
         return False
 
 #########################################################################
-# istype: check whether a string is a known RR class.  (only 'IN' is
+# isclass: check whether a string is a known RR class.  (only 'IN' is
 # supported, but the others must still be recognizable.)
 # returns: boolean
 #########################################################################
@@ -142,7 +139,7 @@
         return False
 
 #########################################################################
-# isname: check whether a string is a valid TTL specifier.
+# isttl: check whether a string is a valid TTL specifier.
 # returns: boolean
 #########################################################################
 ttl_regex = re.compile('[0-9]+[wdhms]?', re.I)
@@ -307,20 +304,28 @@
     list = record.split()
     if len(list) <= 2:
         return ret
-    if istype(list[1]) and not istype(list[0]):
-        if isttl(list[0]):
+
+    if istype(list[1]):
+        rrclass = defclass
+        rrtype = list[1]
+        if list[0].lower() == 'rrsig':
+            name = curname
+            ttl = defttl
+            rrtype = list[0]
+            rdata = ' '.join(list[1:])
+        elif isttl(list[0]):
             ttl = parse_ttl(list[0])
             name = curname
+            rdata = ' '.join(list[2:])
         elif isname(list[0]):
             name = list[0]
             ttl = defttl
+            rdata = ' '.join(list[2:])
         else:
             raise MasterFileError("Cannot parse RR: " + record)
 
-        rrclass = defclass
-        rrtype = list[1]
-        rdata = ' '.join(list[2:])
         ret = name, ttl, rrclass, rrtype, rdata
+
     return ret
 
 
@@ -349,7 +354,7 @@
     data = open(file).read().splitlines()
     for record in records(data):
         if directive(record):
-            continue;
+            continue
 
         incl = include(record)
         if incl:

Modified: branches/each-loadzone/src/lib/auth/python/isc/auth/sqlite3_ds.py
==============================================================================
--- branches/each-loadzone/src/lib/auth/python/isc/auth/sqlite3_ds.py (original)
+++ branches/each-loadzone/src/lib/auth/python/isc/auth/sqlite3_ds.py Tue Mar  2 22:02:00 2010
@@ -20,10 +20,7 @@
 # define exceptions
 #########################################################################
 class Sqlite3DSError(Exception):
-    def __init__(self, value):
-        self.value = value
-    def __str__(self):
-        return repr(self.value)
+    pass
 
 #########################################################################
 # create: set up schema for a newly created zones/records database
@@ -31,18 +28,27 @@
 def create(cur):
     """Create new zone database"""
     cur.execute("CREATE TABLE schema_version (version INTEGER NOT NULL)")
-    cur.execute("INSERT INTO schema_version VALUES (1)");
+    cur.execute("INSERT INTO schema_version VALUES (1)")
     cur.execute("""CREATE TABLE zones (id INTEGER PRIMARY KEY, 
                    name STRING NOT NULL, rdclass STRING NOT NULL DEFAULT 'IN', 
                    dnssec BOOLEAN NOT NULL DEFAULT 0)""")
+    cur.execute("CREATE INDEX zones_byname ON zones (name)")
     cur.execute("""CREATE TABLE records (id INTEGER PRIMARY KEY, 
                    zone_id INTEGER NOT NULL, name STRING NOT NULL,
                    rname STRING NOT NULL, ttl INTEGER NOT NULL,
                    rdtype STRING NOT NULL, sigtype STRING,
-                   rdata STRING NOT NULL)""");
-    cur.execute("CREATE INDEX records_byname ON records (name)");
-    cur.execute("CREATE INDEX records_byrname ON records (rname)");
-    cur.execute("CREATE INDEX zones_byname ON zones (name)");
+                   rdata STRING NOT NULL)""")
+    cur.execute("CREATE INDEX records_byname ON records (name)")
+    cur.execute("CREATE INDEX records_byrname ON records (rname)")
+    cur.execute("""CREATE TABLE nsec3 (id INTEGER PRIMARY KEY, 
+                   zone_id INTEGER NOT NULL, hash STRING NOT NULL,
+                   rhash STRING NOT NULL, owner STRING NOT NULL,
+                   rowner STRING NOT NULL, ttl INTEGER NOT NULL,
+                   rdtype STRING NOT NULL, rdata STRING NOT NULL)""")
+    cur.execute("CREATE INDEX nsec3_byhash ON nsec3 (hash)")
+    cur.execute("CREATE INDEX nsec3_byrhash ON nsec3 (rhash)")
+    cur.execute("CREATE INDEX nsec3_byowner ON nsec3 (owner)")
+    cur.execute("CREATE INDEX nsec3_byrowner ON nsec3 (rowner)")
 
 #########################################################################
 # open: open a database.  if the database is not yet set up, 




More information about the bind10-changes mailing list