From: W.C.A. Wijngaards Date: Thu, 22 Aug 2013 14:27:41 +0000 (+0200) Subject: Karel's python update. X-Git-Tag: release-1.6.17rc1~64 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cdb33475b9e07dcb6b4de610e248756d52519236;p=thirdparty%2Fldns.git Karel's python update. --- diff --git a/contrib/python/Changelog b/contrib/python/Changelog index 8f380887..82732c12 100644 --- a/contrib/python/Changelog +++ b/contrib/python/Changelog @@ -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 diff --git a/contrib/python/examples/test_buffer.py b/contrib/python/examples/test_buffer.py index 0baf76f6..472bd6fd 100755 --- a/contrib/python/examples/test_buffer.py +++ b/contrib/python/examples/test_buffer.py @@ -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() diff --git a/contrib/python/examples/test_dname.py b/contrib/python/examples/test_dname.py index d6917073..07e0a850 100755 --- a/contrib/python/examples/test_dname.py +++ b/contrib/python/examples/test_dname.py @@ -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() diff --git a/contrib/python/examples/test_rdf.py b/contrib/python/examples/test_rdf.py index 4991288c..61a56c62 100755 --- a/contrib/python/examples/test_rdf.py +++ b/contrib/python/examples/test_rdf.py @@ -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() diff --git a/contrib/python/examples/test_rr.py b/contrib/python/examples/test_rr.py old mode 100644 new mode 100755 index b7bc1e0d..07ba0e74 --- a/contrib/python/examples/test_rr.py +++ b/contrib/python/examples/test_rr.py @@ -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() diff --git a/contrib/python/ldns_rdf.i b/contrib/python/ldns_rdf.i index 6c8580bb..2464b45f 100644 --- a/contrib/python/ldns_rdf.i +++ b/contrib/python/ldns_rdf.i @@ -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 *