+2010-12-17 Bob Halley <halley@dnspython.org>
+
+ * dns/message.py (_WireReader._get_section): use "is" and not "=="
+ when testing what section an RR is in. Thanks to James Raftery
+ for reporting this bug.
+
+2010-12-10 Bob Halley <halley@dnspython.org>
+
+ * dns/resolver.py (Resolver.query): disallow metaqueries.
+
+ * dns/rdata.py (Rdata.__hash__): Added a __hash__ method for rdata.
+
2010-11-23 Bob Halley <halley@dnspython.org>
* (Version 1.9.2 released)
deleting = None
if deleting == dns.rdataclass.ANY or \
(deleting == dns.rdataclass.NONE and \
- section == self.message.answer):
+ section is self.message.answer):
covers = dns.rdatatype.NONE
rd = None
else:
import cStringIO
import dns.exception
+import dns.name
import dns.rdataclass
import dns.rdatatype
import dns.tokenizer
return NotImplemented
return self._cmp(other) > 0
+ def __hash__(self):
+ return hash(self.to_digestable(dns.name.root))
+
def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True):
"""Build an rdata object from text format.
This should never happen!"""
pass
+class NoMetaqueries(dns.exception.DNSException):
+ """Metaqueries are not allowed."""
+ pass
+
class Answer(object):
"""DNS stub resolver answer
qname = dns.name.from_text(qname, None)
if isinstance(rdtype, (str, unicode)):
rdtype = dns.rdatatype.from_text(rdtype)
+ if dns.rdatatype.is_metatype(rdtype):
+ raise NoMetaqueries
if isinstance(rdclass, (str, unicode)):
rdclass = dns.rdataclass.from_text(rdclass)
+ if dns.rdataclass.is_metaclass(rdclass):
+ raise NoMetaqueries
qnames_to_try = []
if qname.is_absolute():
qnames_to_try.append(qname)
MAJOR = 1
MINOR = 9
-MICRO = 2
+MICRO = 3
RELEASELEVEL = 0x0f
SERIAL = 0
import sys
from distutils.core import setup
-version = '1.9.2'
+version = '1.9.3'
kwargs = {
'name' : 'dnspython',