]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Karel's python update.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 22 Aug 2013 14:27:41 +0000 (16:27 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Thu, 22 Aug 2013 14:27:41 +0000 (16:27 +0200)
contrib/python/Changelog
contrib/python/examples/test_buffer.py
contrib/python/examples/test_dname.py
contrib/python/examples/test_rdf.py
contrib/python/examples/test_rr.py [changed mode: 0644->0755]
contrib/python/ldns_rdf.i

index 8f38088713717eb3280d7c3c763db3d78b24841f..82732c122de723b6abd902edf25b906d82b1df56 100644 (file)
@@ -1,4 +1,6 @@
 1.6.17
+       * Method ldns_rdf.reverse() now throws an exception when not applied
+         on dname rdfs. This is to prevent assertion fails in ldns' C code.
 
 1.6.16
        * Fix typo in ldns_struct_pkt.opcode2str
index 0baf76f6ab02f9ed8796f021486db25ac85cbb18..472bd6fdbf4d07afbfdfbcc70bdc878a4c8e4359 100755 (executable)
@@ -174,7 +174,7 @@ if True:
         ret = buf.capacity()
     except:
         set_error()
-    if not isinstance(ret, int):
+    if (not isinstance(ret, int)) and (not isinstance(ret, long)):
         # Should be int.
         set_error()
 
@@ -284,7 +284,7 @@ if True:
         ret = buf.position()
     except:
         set_error()
-    if not isinstance(ret, int):
+    if (not isinstance(ret, int)) and (not isinstance(ret, long)):
         set_error()
 
 
@@ -328,7 +328,7 @@ if True:
         ret = buf.read_u16()
     except:
         set_error()
-    if not isinstance(ret, int):
+    if (not isinstance(ret, int)) and (not isinstance(ret, long)):
         set_error()
     if ret != (ord("a") * 0x0101):
         set_error()
@@ -343,7 +343,7 @@ if True:
         ret = buf.read_u16_at(1)
     except:
         set_error()
-    if not isinstance(ret, int):
+    if (not isinstance(ret, int)) and (not isinstance(ret, long)):
         set_error()
     if ret != (ord("b") * 0x0101):
         set_error()
@@ -418,7 +418,7 @@ if True:
         ret = buf.read_u8()
     except:
         set_error()
-    if not isinstance(ret, int):
+    if (not isinstance(ret, int)) and (not isinstance(ret, long)):
         set_error()
     if ret != ord("a"):
         set_error()
@@ -433,7 +433,7 @@ if True:
         ret = buf.read_u8_at(1)
     except:
         set_error()
-    if not isinstance(ret, int):
+    if (not isinstance(ret, int)) and (not isinstance(ret, long)):
         set_error()
     if ret != ord("b"):
         set_error()
@@ -462,7 +462,7 @@ if True:
         ret = buf.remaining()
     except:
         set_error()
-    if not isinstance(ret, int):
+    if (not isinstance(ret, int)) and (not isinstance(ret, long)):
         set_error()
     if ret != (capacity - 6):
         set_error()
@@ -477,7 +477,7 @@ if True:
         ret = buf.remaining_at(1)
     except:
         set_error()
-    if not isinstance(ret, int):
+    if (not isinstance(ret, int)) and (not isinstance(ret, long)):
         set_error()
     if ret != (capacity - 1):
         set_error()
index d69170737acc073f45e4d7e97f2039be786e213d..07e0a85070d62942b448c7cdec5e26553538f72f 100755 (executable)
@@ -388,7 +388,7 @@ if True:
     dn = ldns.ldns_dname("www.nic.cz.")
     try:
         ret = dn.label_count()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 3:
             set_error()
index 4991288c83f25f0bd9b95e8d94f46fb783601abc..61a56c623eb0416ca4b5439b783772278b2d0669 100755 (executable)
@@ -602,7 +602,7 @@ if True:
     rdf = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_DNAME, "www.nic.cz.")
     try:
         ret = rdf.label_count()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 3:
             set_error()
@@ -611,7 +611,7 @@ if True:
     rdf = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_A, "127.0.0.1")
     try:
         ret = rdf.label_count()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 0:
             set_error()
@@ -720,8 +720,9 @@ if True:
     rdf = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_A, "127.0.0.1")
     try:
         ret = rdf.reverse()
-        if not isinstance(ret, ldns.ldns_rdf):
-            set_error()
+        set_error()
+    except Exception:
+        pass
     except:
         set_error()
 
old mode 100644 (file)
new mode 100755 (executable)
index b7bc1e0..07ba0e7
@@ -385,7 +385,7 @@ if True:
     pubkey = ldns.ldns_rr.new_frm_str("example1. 3600 IN DNSKEY 256 3 3 APw7tG8Nf7MYXjt2Y6DmyWUVxVy73bRKvKbKoGXhAXJx2vbcGGxfXsScT0i4FIC2wsJ/8zy/otB5vymm3JHBf2+7cQvRdp12UMLAnzlfrbgZUpvV36D+q6ch7kbmFzaBfwRjOKhnZkRLCcMYPAdX1SrgKVNXaOzAl9KytbzGQs5MKEHU+a0PAwKfIvEsS/+pW6gKgBnL0uy4Gr5cYJ5rk48iwFXOlZ/B30gUS5dD+rNRJuR0ZgEkxtVIPVxxhQPtEI53JhlJ2nEy0CqNW88nYLmX402b ;{id = 34898 (zsk), size = 512b}")
     try:
         ret = pubkey.dnskey_key_size()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 512:
             set_error()
@@ -394,7 +394,7 @@ if True:
     rr = ldns.ldns_rr.new_frm_str("test 600 IN A 0.0.0.0")
     try:
         ret = rr.dnskey_key_size()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 0:
             set_error()
@@ -638,7 +638,7 @@ if True:
     rr = ldns.ldns_rr.new_frm_str("test.dom. IN A 0.0.0.0", 600)
     try:
         ret = rr.label_count()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 2:
             set_error()
@@ -647,7 +647,7 @@ if True:
     rr = ldns.ldns_rr.new_frm_str(". IN A 0.0.0.0", 600)
     try:
         ret = rr.label_count()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error(string)
         if ret != 0:
             set_error()
@@ -951,7 +951,7 @@ if True:
     rr = ldns.ldns_rr.new_frm_str("test 600 IN A 0.0.0.0")
     try:
         ret = rr.rd_count()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 1:
             set_error()
@@ -1643,7 +1643,7 @@ if True:
     rr = ldns.ldns_rr.new_frm_str("test 600 IN A 0.0.0.0")
     try:
         ret = rr.uncompressed_size()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 20:
             set_error()
@@ -1723,7 +1723,7 @@ if True:
     desc_a = ldns.ldns_rr_descriptor.ldns_rr_descriptor(ldns.LDNS_RR_TYPE_A)
     try:
         ret = desc_a.maximum()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 1:
             set_error()
@@ -1737,7 +1737,7 @@ if True:
     desc_a = ldns.ldns_rr_descriptor.ldns_rr_descriptor(ldns.LDNS_RR_TYPE_A)
     try:
         ret = desc_a.minimum()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 1:
             set_error()
@@ -2203,7 +2203,7 @@ if True:
     rrl = ldns.ldns_rr_list.new()
     try:
         ret = rrl.rr_count()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 0:
             set_error()
@@ -2213,7 +2213,7 @@ if True:
     rrl.push_rr(rr)
     try:
         ret = rrl.rr_count()
-        if not isinstance(ret, int):
+        if (not isinstance(ret, int)) and (not isinstance(ret, long)):
             set_error()
         if ret != 1:
             set_error()
index 6c8580bbf36907199cf4040d8752c774857ec200..2464b45f6826f73a4b366c3190e9fb5e7141a79b 100644 (file)
@@ -823,7 +823,8 @@ specified in the (16-bit) type field with a value from ldns_rdf_type."
                Returns a clone of the given dname with the labels reversed.
 
                When reversing non-dnames a "." (root name) dname is returned.
-               
+
+               :throws Exception: When used on non-dname rdfs.
                :return: (:class:`ldns_rdf`) Clone of the dname with the labels
                    reversed or ".".
 
@@ -836,6 +837,8 @@ specified in the (16-bit) type field with a value from ldns_rdf_type."
                 " to be deprecated in future releases." +
                 " Convert the ldns_rdf to ldsn_dname and the use its" +
                 " methods.", PendingDeprecationWarning, stacklevel=2)
+            if self.get_type() != _ldns.LDNS_RDF_TYPE_DNAME:
+                raise Exception("Operand must be a dname rdf.")
             return _ldns.ldns_dname_reverse(self)
             #parameters: const ldns_rdf *,
             #retvals: ldns_rdf *