summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/dnspython/.gitignore5
-rw-r--r--lib/dnspython/ChangeLog9
-rw-r--r--lib/dnspython/MANIFEST.in3
-rw-r--r--lib/dnspython/PKG-INFO28
-rw-r--r--lib/dnspython/README28
-rw-r--r--lib/dnspython/dns/dnssec.py4
-rw-r--r--lib/dnspython/dns/flags.py2
-rw-r--r--lib/dnspython/dns/inet.py4
-rw-r--r--lib/dnspython/dns/node.py14
-rw-r--r--lib/dnspython/dns/opcode.py10
-rw-r--r--lib/dnspython/dns/rdtypes/ANY/GPOS.py10
-rw-r--r--lib/dnspython/dns/rdtypes/ANY/HINFO.py8
-rw-r--r--lib/dnspython/dns/rdtypes/ANY/SOA.py6
-rw-r--r--lib/dnspython/dns/rdtypes/ANY/SSHFP.py8
-rw-r--r--lib/dnspython/dns/rdtypes/ANY/X25.py8
-rw-r--r--lib/dnspython/dns/rdtypes/IN/NAPTR.py8
-rw-r--r--lib/dnspython/dns/rdtypes/IN/PX.py8
-rw-r--r--lib/dnspython/dns/resolver.py3
-rw-r--r--lib/dnspython/dns/tsigkeyring.py4
-rw-r--r--lib/dnspython/dns/update.py2
-rw-r--r--lib/dnspython/dns/version.py2
-rwxr-xr-xlib/dnspython/setup.py2
-rw-r--r--lib/dnspython/tests/example8
-rw-r--r--lib/dnspython/tests/name.py4
-rw-r--r--lib/dnspython/tests/rdtypeandclass.py4
-rw-r--r--lib/dnspython/tests/rrset.py2
-rw-r--r--lib/dnspython/tests/set.py2
-rw-r--r--lib/dnspython/tests/zone.py2
-rw-r--r--lib/dnspython/util/COPYRIGHT14
-rw-r--r--lib/dnspython/util/copyrights117
30 files changed, 225 insertions, 104 deletions
diff --git a/lib/dnspython/.gitignore b/lib/dnspython/.gitignore
new file mode 100644
index 0000000000..2abcfc47d7
--- /dev/null
+++ b/lib/dnspython/.gitignore
@@ -0,0 +1,5 @@
+build
+dist
+MANIFEST
+html
+tests/*.out
diff --git a/lib/dnspython/ChangeLog b/lib/dnspython/ChangeLog
index f5a74da2b4..73a66edef6 100644
--- a/lib/dnspython/ChangeLog
+++ b/lib/dnspython/ChangeLog
@@ -1,3 +1,12 @@
+2010-03-10 Bob Halley <halley@dnspython.org>
+
+ * The TSIG algorithm value was passed to use_tsig() incorrectly
+ in some cases. Thanks to 'ducciovigolo' for reporting the problem.
+
+2010-01-26 Bob Halley <halley@dnspython.org>
+
+ * (Version 1.8.0 released)
+
2010-01-13 Bob Halley <halley@dnspython.org>
* dns/dnssec.py: Added RSASHA256 and RSASHA512 codepoints; added
diff --git a/lib/dnspython/MANIFEST.in b/lib/dnspython/MANIFEST.in
new file mode 100644
index 0000000000..d58fb8ba04
--- /dev/null
+++ b/lib/dnspython/MANIFEST.in
@@ -0,0 +1,3 @@
+include LICENSE ChangeLog TODO
+recursive-include examples *.txt *.py
+recursive-include tests *.txt *.py Makefile *.good example
diff --git a/lib/dnspython/PKG-INFO b/lib/dnspython/PKG-INFO
deleted file mode 100644
index 455915df36..0000000000
--- a/lib/dnspython/PKG-INFO
+++ /dev/null
@@ -1,28 +0,0 @@
-Metadata-Version: 1.1
-Name: dnspython
-Version: 1.8.0
-Summary: DNS toolkit
-Home-page: http://www.dnspython.org
-Author: Bob Halley
-Author-email: halley@dnspython.org
-License: BSD-like
-Download-URL: http://www.dnspython.org/kits/1.8.0/dnspython-1.8.0.tar.gz
-Description: dnspython is a DNS toolkit for Python. It supports almost all
- record types. It can be used for queries, zone transfers, and dynamic
- updates. It supports TSIG authenticated messages and EDNS0.
-
- dnspython provides both high and low level access to DNS. The high
- level classes perform queries for data of a given name, type, and
- class, and return an answer set. The low level classes allow
- direct manipulation of DNS zones, messages, names, and records.
-Platform: UNKNOWN
-Classifier: Development Status :: 5 - Production/Stable
-Classifier: Intended Audience :: Developers
-Classifier: Intended Audience :: System Administrators
-Classifier: License :: Freeware
-Classifier: Operating System :: Microsoft :: Windows :: Windows 95/98/2000
-Classifier: Operating System :: POSIX
-Classifier: Programming Language :: Python
-Classifier: Topic :: Internet :: Name Service (DNS)
-Classifier: Topic :: Software Development :: Libraries :: Python Modules
-Provides: dns
diff --git a/lib/dnspython/README b/lib/dnspython/README
index 0e5793ace0..b313d1c132 100644
--- a/lib/dnspython/README
+++ b/lib/dnspython/README
@@ -26,7 +26,7 @@ This is dnspython 1.8.0
New since 1.7.1:
- Support for hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384
+ Support for hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384
and hmac-sha512 has been contributed by Kevin Chen.
The tokenizer's tokens are now Token objects instead of (type,
@@ -38,7 +38,7 @@ Bugs fixed since 1.7.1:
were only working correctly when the text involved was part of
a domain name.
- When constructing a DDNS update, if the present() method was
+ When constructing a DDNS update, if the present() method was
used with a single rdata, a zero TTL was not added.
The entropy pool needed locking to be thread safe.
@@ -59,18 +59,18 @@ Bugs fixed since 1.7.1:
New since 1.7.0:
- Nothing
+ Nothing
Bugs fixed since 1.7.0:
- The 1.7.0 kitting process inadventently omitted the code for the
+ The 1.7.0 kitting process inadventently omitted the code for the
DLV RR.
Negative DDNS prerequisites are now handled correctly.
New since 1.6.0:
- Rdatas now have a to_digestable() method, which returns the
+ Rdatas now have a to_digestable() method, which returns the
DNSSEC canonical form of the rdata, suitable for use in
signature computations.
@@ -93,7 +93,7 @@ New since 1.6.0:
Bugs fixed since 1.6.0:
- On Windows, the resolver set the domain incorrectly.
+ On Windows, the resolver set the domain incorrectly.
DS RR parsing only allowed one Base64 chunk.
@@ -114,7 +114,7 @@ New since 1.5.0:
Added dns.inet.is_multicast().
Bugs fixed since 1.5.0:
-
+
If select() raises an exception due to EINTR, we should just
select() again.
@@ -130,7 +130,7 @@ Bugs fixed since 1.5.0:
New since 1.4.0:
- Answer objects now support more of the python sequence
+ Answer objects now support more of the python sequence
protocol, forwarding the requests to the answer rrset.
E.g. "for a in answer" is equivalent to "for a in
answer.rrset", "answer[i]" is equivalent to "answer.rrset[i]",
@@ -197,7 +197,7 @@ New since 1.3.5:
Bugs fixed since 1.3.5:
- The correct delimiter was not used when retrieving the
+ The correct delimiter was not used when retrieving the
list of nameservers from the registry in certain versions of
windows.
@@ -214,8 +214,8 @@ Bugs fixed since 1.3.5:
New since 1.3.4:
- In the resolver, if time goes backward a little bit, ignore
- it.
+ In the resolver, if time goes backward a little bit, ignore
+ it.
zone_for_name() has been added to the resolver module. It
returns the zone which is authoritative for the specified
@@ -233,7 +233,7 @@ New since 1.3.4:
The default resolver can be fetched with the
get_default_resolver() method.
- You can now get the parent (immediate superdomain) of a name
+ You can now get the parent (immediate superdomain) of a name
by using the parent() method.
Zone.iterate_rdatasets() and Zone.iterate_rdatas() now have
@@ -246,7 +246,7 @@ New since 1.3.3:
The source address and port may now be specified when calling
dns.query.{udp,tcp,xfr}.
-
+
The resolver now does exponential backoff each time it runs
through all of the nameservers.
@@ -256,7 +256,7 @@ New since 1.3.3:
New since 1.3.2:
- dns.message.Message.find_rrset() now uses an index, vastly
+ dns.message.Message.find_rrset() now uses an index, vastly
improving the from_wire() performance of large messages such
as zone transfers.
diff --git a/lib/dnspython/dns/dnssec.py b/lib/dnspython/dns/dnssec.py
index acf46535b9..54fd78d9c9 100644
--- a/lib/dnspython/dns/dnssec.py
+++ b/lib/dnspython/dns/dnssec.py
@@ -56,7 +56,7 @@ class UnknownAlgorithm(Exception):
def algorithm_from_text(text):
"""Convert text into a DNSSEC algorithm value
@rtype: int"""
-
+
value = _algorithm_by_text.get(text.upper())
if value is None:
value = int(text)
@@ -65,7 +65,7 @@ def algorithm_from_text(text):
def algorithm_to_text(value):
"""Convert a DNSSEC algorithm value to text
@rtype: string"""
-
+
text = _algorithm_by_value.get(value)
if text is None:
text = str(value)
diff --git a/lib/dnspython/dns/flags.py b/lib/dnspython/dns/flags.py
index 79375ea2ce..17afdbc2ec 100644
--- a/lib/dnspython/dns/flags.py
+++ b/lib/dnspython/dns/flags.py
@@ -89,7 +89,7 @@ def to_text(flags):
@rtype: string"""
return _to_text(flags, _by_value, _flags_order)
-
+
def edns_from_text(text):
"""Convert a space-separated list of EDNS flag text values into a EDNS
diff --git a/lib/dnspython/dns/inet.py b/lib/dnspython/dns/inet.py
index 993a2f9436..8a8f3e1ca8 100644
--- a/lib/dnspython/dns/inet.py
+++ b/lib/dnspython/dns/inet.py
@@ -45,7 +45,7 @@ def inet_pton(family, text):
implemented.
@rtype: string
"""
-
+
if family == AF_INET:
return dns.ipv4.inet_aton(text)
elif family == AF_INET6:
@@ -105,4 +105,4 @@ def is_multicast(text):
return (first == 255)
except:
raise ValueError
-
+
diff --git a/lib/dnspython/dns/node.py b/lib/dnspython/dns/node.py
index 785a245464..07fff9293c 100644
--- a/lib/dnspython/dns/node.py
+++ b/lib/dnspython/dns/node.py
@@ -23,18 +23,18 @@ import dns.renderer
class Node(object):
"""A DNS node.
-
+
A node is a set of rdatasets
@ivar rdatasets: the node's rdatasets
@type rdatasets: list of dns.rdataset.Rdataset objects"""
__slots__ = ['rdatasets']
-
+
def __init__(self):
"""Initialize a DNS node.
"""
-
+
self.rdatasets = [];
def to_text(self, name, **kw):
@@ -46,7 +46,7 @@ class Node(object):
@type name: dns.name.Name object
@rtype: string
"""
-
+
s = StringIO.StringIO()
for rds in self.rdatasets:
print >> s, rds.to_text(name, **kw)
@@ -54,7 +54,7 @@ class Node(object):
def __repr__(self):
return '<DNS node ' + str(id(self)) + '>'
-
+
def __eq__(self, other):
"""Two nodes are equal if they have the same rdatasets.
@@ -73,7 +73,7 @@ class Node(object):
def __ne__(self, other):
return not self.__eq__(other)
-
+
def __len__(self):
return len(self.rdatasets)
@@ -159,7 +159,7 @@ class Node(object):
def replace_rdataset(self, replacement):
"""Replace an rdataset.
-
+
It is not an error if there is no rdataset matching I{replacement}.
Ownership of the I{replacement} object is transferred to the node;
diff --git a/lib/dnspython/dns/opcode.py b/lib/dnspython/dns/opcode.py
index 735d3a1f7d..705bd09a43 100644
--- a/lib/dnspython/dns/opcode.py
+++ b/lib/dnspython/dns/opcode.py
@@ -66,7 +66,7 @@ def from_flags(flags):
@param flags: int
@rtype: int
"""
-
+
return (flags & 0x7800) >> 11
def to_flags(value):
@@ -74,9 +74,9 @@ def to_flags(value):
flags.
@rtype: int
"""
-
+
return (value << 11) & 0x7800
-
+
def to_text(value):
"""Convert an opcode to text.
@@ -85,7 +85,7 @@ def to_text(value):
@raises UnknownOpcode: the opcode is unknown
@rtype: string
"""
-
+
text = _by_value.get(value)
if text is None:
text = str(value)
@@ -98,7 +98,7 @@ def is_update(flags):
@type flags: int
@rtype: bool
"""
-
+
if (from_flags(flags) == UPDATE):
return True
return False
diff --git a/lib/dnspython/dns/rdtypes/ANY/GPOS.py b/lib/dnspython/dns/rdtypes/ANY/GPOS.py
index aa8000f8ca..6f63cc05f6 100644
--- a/lib/dnspython/dns/rdtypes/ANY/GPOS.py
+++ b/lib/dnspython/dns/rdtypes/ANY/GPOS.py
@@ -29,7 +29,7 @@ def _validate_float_string(what):
raise dns.exception.FormError
if not right == '' and not right.isdigit():
raise dns.exception.FormError
-
+
class GPOS(dns.rdata.Rdata):
"""GPOS record
@@ -42,7 +42,7 @@ class GPOS(dns.rdata.Rdata):
@see: RFC 1712"""
__slots__ = ['latitude', 'longitude', 'altitude']
-
+
def __init__(self, rdclass, rdtype, latitude, longitude, altitude):
super(GPOS, self).__init__(rdclass, rdtype)
if isinstance(latitude, float) or \
@@ -66,14 +66,14 @@ class GPOS(dns.rdata.Rdata):
def to_text(self, origin=None, relativize=True, **kw):
return '%s %s %s' % (self.latitude, self.longitude, self.altitude)
-
+
def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True):
latitude = tok.get_string()
longitude = tok.get_string()
altitude = tok.get_string()
tok.get_eol()
return cls(rdclass, rdtype, latitude, longitude, altitude)
-
+
from_text = classmethod(from_text)
def to_wire(self, file, compress = None, origin = None):
@@ -92,7 +92,7 @@ class GPOS(dns.rdata.Rdata):
byte = chr(l)
file.write(byte)
file.write(self.altitude)
-
+
def from_wire(cls, rdclass, rdtype, wire, current, rdlen, origin = None):
l = ord(wire[current])
current += 1
diff --git a/lib/dnspython/dns/rdtypes/ANY/HINFO.py b/lib/dnspython/dns/rdtypes/ANY/HINFO.py
index 5cfef5a932..e592ad39a7 100644
--- a/lib/dnspython/dns/rdtypes/ANY/HINFO.py
+++ b/lib/dnspython/dns/rdtypes/ANY/HINFO.py
@@ -27,7 +27,7 @@ class HINFO(dns.rdata.Rdata):
@see: RFC 1035"""
__slots__ = ['cpu', 'os']
-
+
def __init__(self, rdclass, rdtype, cpu, os):
super(HINFO, self).__init__(rdclass, rdtype)
self.cpu = cpu
@@ -36,13 +36,13 @@ class HINFO(dns.rdata.Rdata):
def to_text(self, origin=None, relativize=True, **kw):
return '"%s" "%s"' % (dns.rdata._escapify(self.cpu),
dns.rdata._escapify(self.os))
-
+
def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True):
cpu = tok.get_string()
os = tok.get_string()
tok.get_eol()
return cls(rdclass, rdtype, cpu, os)
-
+
from_text = classmethod(from_text)
def to_wire(self, file, compress = None, origin = None):
@@ -56,7 +56,7 @@ class HINFO(dns.rdata.Rdata):
byte = chr(l)
file.write(byte)
file.write(self.os)
-
+
def from_wire(cls, rdclass, rdtype, wire, current, rdlen, origin = None):
l = ord(wire[current])
current += 1
diff --git a/lib/dnspython/dns/rdtypes/ANY/SOA.py b/lib/dnspython/dns/rdtypes/ANY/SOA.py
index 5f74b8d384..a25a35e29b 100644
--- a/lib/dnspython/dns/rdtypes/ANY/SOA.py
+++ b/lib/dnspython/dns/rdtypes/ANY/SOA.py
@@ -41,7 +41,7 @@ class SOA(dns.rdata.Rdata):
__slots__ = ['mname', 'rname', 'serial', 'refresh', 'retry', 'expire',
'minimum']
-
+
def __init__(self, rdclass, rdtype, mname, rname, serial, refresh, retry,
expire, minimum):
super(SOA, self).__init__(rdclass, rdtype)
@@ -59,7 +59,7 @@ class SOA(dns.rdata.Rdata):
return '%s %s %d %d %d %d %d' % (
mname, rname, self.serial, self.refresh, self.retry,
self.expire, self.minimum )
-
+
def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True):
mname = tok.get_name()
rname = tok.get_name()
@@ -73,7 +73,7 @@ class SOA(dns.rdata.Rdata):
tok.get_eol()
return cls(rdclass, rdtype, mname, rname, serial, refresh, retry,
expire, minimum )
-
+
from_text = classmethod(from_text)
def to_wire(self, file, compress = None, origin = None):
diff --git a/lib/dnspython/dns/rdtypes/ANY/SSHFP.py b/lib/dnspython/dns/rdtypes/ANY/SSHFP.py
index bc54f5e260..162dda5c48 100644
--- a/lib/dnspython/dns/rdtypes/ANY/SSHFP.py
+++ b/lib/dnspython/dns/rdtypes/ANY/SSHFP.py
@@ -30,7 +30,7 @@ class SSHFP(dns.rdata.Rdata):
@see: draft-ietf-secsh-dns-05.txt"""
__slots__ = ['algorithm', 'fp_type', 'fingerprint']
-
+
def __init__(self, rdclass, rdtype, algorithm, fp_type,
fingerprint):
super(SSHFP, self).__init__(rdclass, rdtype)
@@ -43,7 +43,7 @@ class SSHFP(dns.rdata.Rdata):
self.fp_type,
dns.rdata._hexify(self.fingerprint,
chunksize=128))
-
+
def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True):
algorithm = tok.get_uint8()
fp_type = tok.get_uint8()
@@ -51,14 +51,14 @@ class SSHFP(dns.rdata.Rdata):
fingerprint = fingerprint.decode('hex_codec')
tok.get_eol()
return cls(rdclass, rdtype, algorithm, fp_type, fingerprint)
-
+
from_text = classmethod(from_text)
def to_wire(self, file, compress = None, origin = None):
header = struct.pack("!BB", self.algorithm, self.fp_type)
file.write(header)
file.write(self.fingerprint)
-
+
def from_wire(cls, rdclass, rdtype, wire, current, rdlen, origin = None):
header = struct.unpack("!BB", wire[current : current + 2])
current += 2
diff --git a/lib/dnspython/dns/rdtypes/ANY/X25.py b/lib/dnspython/dns/rdtypes/ANY/X25.py
index fc4790fe8a..c3632f7fc4 100644
--- a/lib/dnspython/dns/rdtypes/ANY/X25.py
+++ b/lib/dnspython/dns/rdtypes/ANY/X25.py
@@ -25,19 +25,19 @@ class X25(dns.rdata.Rdata):
@see: RFC 1183"""
__slots__ = ['address']
-
+
def __init__(self, rdclass, rdtype, address):
super(X25, self).__init__(rdclass, rdtype)
self.address = address
def to_text(self, origin=None, relativize=True, **kw):
return '"%s"' % dns.rdata._escapify(self.address)
-
+
def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True):
address = tok.get_string()
tok.get_eol()
return cls(rdclass, rdtype, address)
-
+
from_text = classmethod(from_text)
def to_wire(self, file, compress = None, origin = None):
@@ -46,7 +46,7 @@ class X25(dns.rdata.Rdata):
byte = chr(l)
file.write(byte)
file.write(self.address)
-
+
def from_wire(cls, rdclass, rdtype, wire, current, rdlen, origin = None):
l = ord(wire[current])
current += 1
diff --git a/lib/dnspython/dns/rdtypes/IN/NAPTR.py b/lib/dnspython/dns/rdtypes/IN/NAPTR.py
index 3a30d16d7b..a3cca55e1c 100644
--- a/lib/dnspython/dns/rdtypes/IN/NAPTR.py
+++ b/lib/dnspython/dns/rdtypes/IN/NAPTR.py
@@ -45,7 +45,7 @@ class NAPTR(dns.rdata.Rdata):
__slots__ = ['order', 'preference', 'flags', 'service', 'regexp',
'replacement']
-
+
def __init__(self, rdclass, rdtype, order, preference, flags, service,
regexp, replacement):
super(NAPTR, self).__init__(rdclass, rdtype)
@@ -76,7 +76,7 @@ class NAPTR(dns.rdata.Rdata):
tok.get_eol()
return cls(rdclass, rdtype, order, preference, flags, service,
regexp, replacement)
-
+
from_text = classmethod(from_text)
def to_wire(self, file, compress = None, origin = None):
@@ -86,7 +86,7 @@ class NAPTR(dns.rdata.Rdata):
_write_string(file, self.service)
_write_string(file, self.regexp)
self.replacement.to_wire(file, compress, origin)
-
+
def from_wire(cls, rdclass, rdtype, wire, current, rdlen, origin = None):
(order, preference) = struct.unpack('!HH', wire[current : current + 4])
current += 4
@@ -116,7 +116,7 @@ class NAPTR(dns.rdata.Rdata):
def choose_relativity(self, origin = None, relativize = True):
self.replacement = self.replacement.choose_relativity(origin,
relativize)
-
+
def _cmp(self, other):
sp = struct.pack("!HH", self.order, self.preference)
op = struct.pack("!HH", other.order, other.preference)
diff --git a/lib/dnspython/dns/rdtypes/IN/PX.py b/lib/dnspython/dns/rdtypes/IN/PX.py
index 4718944ff4..0f11290724 100644
--- a/lib/dnspython/dns/rdtypes/IN/PX.py
+++ b/lib/dnspython/dns/rdtypes/IN/PX.py
@@ -31,7 +31,7 @@ class PX(dns.rdata.Rdata):
@see: RFC 2163"""
__slots__ = ['preference', 'map822', 'mapx400']
-
+
def __init__(self, rdclass, rdtype, preference, map822, mapx400):
super(PX, self).__init__(rdclass, rdtype)
self.preference = preference
@@ -42,7 +42,7 @@ class PX(dns.rdata.Rdata):
map822 = self.map822.choose_relativity(origin, relativize)
mapx400 = self.mapx400.choose_relativity(origin, relativize)
return '%d %s %s' % (self.preference, map822, mapx400)
-
+
def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True):
preference = tok.get_uint16()
map822 = tok.get_name()
@@ -51,7 +51,7 @@ class PX(dns.rdata.Rdata):
mapx400 = mapx400.choose_relativity(origin, relativize)
tok.get_eol()
return cls(rdclass, rdtype, preference, map822, mapx400)
-
+
from_text = classmethod(from_text)
def to_wire(self, file, compress = None, origin = None):
@@ -59,7 +59,7 @@ class PX(dns.rdata.Rdata):
file.write(pref)
self.map822.to_wire(file, None, origin)
self.mapx400.to_wire(file, None, origin)
-
+
def from_wire(cls, rdclass, rdtype, wire, current, rdlen, origin = None):
(preference, ) = struct.unpack('!H', wire[current : current + 2])
current += 2
diff --git a/lib/dnspython/dns/resolver.py b/lib/dnspython/dns/resolver.py
index 372d7d8361..cd0e5f804b 100644
--- a/lib/dnspython/dns/resolver.py
+++ b/lib/dnspython/dns/resolver.py
@@ -593,7 +593,8 @@ class Resolver(object):
return answer
request = dns.message.make_query(qname, rdtype, rdclass)
if not self.keyname is None:
- request.use_tsig(self.keyring, self.keyname, self.keyalgorithm)
+ request.use_tsig(self.keyring, self.keyname,
+ algorithm=self.keyalgorithm)
request.use_edns(self.edns, self.ednsflags, self.payload)
response = None
#
diff --git a/lib/dnspython/dns/tsigkeyring.py b/lib/dnspython/dns/tsigkeyring.py
index 4d68f96c85..cbd1a27bbf 100644
--- a/lib/dnspython/dns/tsigkeyring.py
+++ b/lib/dnspython/dns/tsigkeyring.py
@@ -23,7 +23,7 @@ def from_text(textring):
"""Convert a dictionary containing (textual DNS name, base64 secret) pairs
into a binary keyring which has (dns.name.Name, binary secret) pairs.
@rtype: dict"""
-
+
keyring = {}
for keytext in textring:
keyname = dns.name.from_text(keytext)
@@ -35,7 +35,7 @@ def to_text(keyring):
"""Convert a dictionary containing (dns.name.Name, binary secret) pairs
into a text keyring which has (textual DNS name, base64 secret) pairs.
@rtype: dict"""
-
+
textring = {}
for keyname in keyring:
keytext = dns.name.to_text(keyname)
diff --git a/lib/dnspython/dns/update.py b/lib/dnspython/dns/update.py
index 7d42636891..97aea18fb9 100644
--- a/lib/dnspython/dns/update.py
+++ b/lib/dnspython/dns/update.py
@@ -56,7 +56,7 @@ class Update(dns.message.Message):
self.find_rrset(self.question, self.origin, rdclass, dns.rdatatype.SOA,
create=True, force_unique=True)
if not keyring is None:
- self.use_tsig(keyring, keyname, keyalgorithm)
+ self.use_tsig(keyring, keyname, algorithm=keyalgorithm)
def _add_rr(self, name, ttl, rd, deleting=None, section=None):
"""Add a single RR to the update section."""
diff --git a/lib/dnspython/dns/version.py b/lib/dnspython/dns/version.py
index 7a36775180..dd135a13e5 100644
--- a/lib/dnspython/dns/version.py
+++ b/lib/dnspython/dns/version.py
@@ -17,7 +17,7 @@
MAJOR = 1
MINOR = 8
-MICRO = 0
+MICRO = 1
RELEASELEVEL = 0x0f
SERIAL = 0
diff --git a/lib/dnspython/setup.py b/lib/dnspython/setup.py
index 12fd2f1dc6..21ebddfb59 100755
--- a/lib/dnspython/setup.py
+++ b/lib/dnspython/setup.py
@@ -18,7 +18,7 @@
import sys
from distutils.core import setup
-version = '1.8.0'
+version = '1.8.1'
kwargs = {
'name' : 'dnspython',
diff --git a/lib/dnspython/tests/example b/lib/dnspython/tests/example
index d87c63a393..e8fed1161b 100644
--- a/lib/dnspython/tests/example
+++ b/lib/dnspython/tests/example
@@ -35,11 +35,11 @@ a TXT "foo foo foo"
PTR foo.net.
;; The next line not starting with ';;' is leading whitespace followed by
;; EOL. We want to treat that as if EOL had appeared alone.
-
+
;; The next line not starting with ';;' is leading whitespace followed by
;; a comment followed by EOL. We want to treat that as if EOL had appeared
;; alone.
- ; foo
+ ; foo
$TTL 3600 ; 1 hour
a01 A 0.0.0.0
a02 A 255.255.255.255
@@ -72,7 +72,7 @@ $TTL 3600 ; 1 hour
dhcid01 DHCID ( AAIBY2/AuCccgoJbsaxcQc9TUapptP69l
OjxfNuVAA2kjEA= )
dhcid02 DHCID ( AAEBOSD+XR3Os/0LozeXVqcNc7FwCfQdW
- L3b/NaiUDlW2No= )
+ L3b/NaiUDlW2No= )
dhcid03 DHCID ( AAABxLmlskllE0MVjd57zHcWmEH3pCQ6V
ytcKD//7es/deY= )
dname01 DNAME dname-target.
@@ -93,7 +93,7 @@ gpos01 GPOS "-22.6882" "116.8652" "250.0"
;;
;; XXXRTH I have commented out the following line because I don't think
;; it is a valid GPOS record.
-;;
+;;
;;gpos02 GPOS "" "" ""
hinfo01 HINFO "Generic PC clone" "NetBSD-1.4"
hinfo02 HINFO "PC" "NetBSD"
diff --git a/lib/dnspython/tests/name.py b/lib/dnspython/tests/name.py
index a53ef9eac6..1ab4f52814 100644
--- a/lib/dnspython/tests/name.py
+++ b/lib/dnspython/tests/name.py
@@ -25,7 +25,7 @@ import dns.e164
class NameTestCase(unittest.TestCase):
def setUp(self):
self.origin = dns.name.from_text('example.')
-
+
def testFromTextRel1(self):
n = dns.name.from_text('foo.bar')
self.failUnless(n.labels == ('foo', 'bar', ''))
@@ -352,7 +352,7 @@ class NameTestCase(unittest.TestCase):
n = dns.name.from_text('FOO.bar', None)
d = n.to_digestable(dns.name.root)
self.failUnless(d == '\x03foo\x03bar\x00')
-
+
def testBadDigestable(self):
def bad():
n = dns.name.from_text('FOO.bar', None)
diff --git a/lib/dnspython/tests/rdtypeandclass.py b/lib/dnspython/tests/rdtypeandclass.py
index edd7f7eae3..0c8a830e27 100644
--- a/lib/dnspython/tests/rdtypeandclass.py
+++ b/lib/dnspython/tests/rdtypeandclass.py
@@ -21,7 +21,7 @@ import dns.rdatatype
class RdTypeAndClassTestCase(unittest.TestCase):
# Classes
-
+
def test_class_meta1(self):
self.failUnless(dns.rdataclass.is_metaclass(dns.rdataclass.ANY))
@@ -66,7 +66,7 @@ class RdTypeAndClassTestCase(unittest.TestCase):
self.failUnlessRaises(ValueError, bad)
# Types
-
+
def test_type_meta1(self):
self.failUnless(dns.rdatatype.is_metatype(dns.rdatatype.ANY))
diff --git a/lib/dnspython/tests/rrset.py b/lib/dnspython/tests/rrset.py
index 740162b4c5..3cafbee891 100644
--- a/lib/dnspython/tests/rrset.py
+++ b/lib/dnspython/tests/rrset.py
@@ -18,7 +18,7 @@ import unittest
import dns.rrset
class RRsetTestCase(unittest.TestCase):
-
+
def testEqual1(self):
r1 = dns.rrset.from_text('foo', 300, 'in', 'a', '10.0.0.1', '10.0.0.2')
r2 = dns.rrset.from_text('FOO', 300, 'in', 'a', '10.0.0.2', '10.0.0.1')
diff --git a/lib/dnspython/tests/set.py b/lib/dnspython/tests/set.py
index 6319eb821c..e2bca51b82 100644
--- a/lib/dnspython/tests/set.py
+++ b/lib/dnspython/tests/set.py
@@ -21,7 +21,7 @@ import dns.set
S = dns.set.Set
class SimpleSetTestCase(unittest.TestCase):
-
+
def testLen1(self):
s1 = S()
self.failUnless(len(s1) == 0)
diff --git a/lib/dnspython/tests/zone.py b/lib/dnspython/tests/zone.py
index a8d629c532..075be0a48a 100644
--- a/lib/dnspython/tests/zone.py
+++ b/lib/dnspython/tests/zone.py
@@ -129,7 +129,7 @@ class ZoneTestCase(unittest.TestCase):
for n in names:
print >> f, z[n].to_text(n)
self.failUnless(f.getvalue() == example_text_output)
-
+
def testTorture1(self):
#
# Read a zone containing all our supported RR types, and
diff --git a/lib/dnspython/util/COPYRIGHT b/lib/dnspython/util/COPYRIGHT
new file mode 100644
index 0000000000..7390363fbb
--- /dev/null
+++ b/lib/dnspython/util/COPYRIGHT
@@ -0,0 +1,14 @@
+Copyright (C) @YEARS@ Nominum, Inc.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose with or without fee is hereby granted,
+provided that the above copyright notice and this permission notice
+appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND NOMINUM DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NOMINUM BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/lib/dnspython/util/copyrights b/lib/dnspython/util/copyrights
new file mode 100644
index 0000000000..ae578381cb
--- /dev/null
+++ b/lib/dnspython/util/copyrights
@@ -0,0 +1,117 @@
+./.gitignore X 2009
+./ChangeLog X 2003,2004,2005,2006,2007
+./LICENSE X 2003,2004,2005,2006,2007
+./MANIFEST.in X 2003,2004,2005,2006,2007
+./Makefile MAKE 2003,2004,2005,2006,2007,2009
+./README X 2003,2004,2005,2006,2007
+./TODO X 2003,2004,2005,2006,2007
+./dns/__init__.py PYTHON 2003,2004,2005,2006,2007,2009
+./dns/dnssec.py PYTHON 2003,2004,2005,2006,2007,2009
+./dns/e164.py PYTHON 2006,2007,2009
+./dns/edns.py PYTHON 2009
+./dns/entropy.py PYTHON 2009
+./dns/exception.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/flags.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/inet.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/ipv4.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/ipv6.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/message.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/name.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/namedict.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/node.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/opcode.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/query.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rcode.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/rdata.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/rdataclass.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/rdataset.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/rdatatype.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/AFSDB.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/CERT.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/CNAME.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/DLV.py PYTHON 2009,2010
+./dns/rdtypes/ANY/DNAME.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/DNSKEY.py PYTHON 2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/DS.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/GPOS.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/HINFO.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/HIP.py PYTHON 2010
+./dns/rdtypes/ANY/ISDN.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/KEY.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/LOC.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/MX.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/NS.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/NSEC.py PYTHON 2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/NSEC3.py PYTHON 2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/NSEC3PARAM.py PYTHON 2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/NXT.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/PTR.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/RP.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/RRSIG.py PYTHON 2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/RT.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/SIG.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/SOA.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/SPF.py PYTHON 2006,2007,2009,2010
+./dns/rdtypes/ANY/SSHFP.py PYTHON 2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/TXT.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/X25.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/ANY/__init__.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/A.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/AAAA.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/APL.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/DHCID.py PYTHON 2006,2007,2009,2010
+./dns/rdtypes/IN/IPSECKEY.py PYTHON 2006,2007,2009,2010
+./dns/rdtypes/IN/KX.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/NAPTR.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/NSAP.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/NSAP_PTR.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/PX.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/SRV.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/WKS.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/IN/__init__.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/__init__.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/dsbase.py PYTHON 2010
+./dns/rdtypes/keybase.py PYTHON 2004,2005,2006,2007,2009,2010
+./dns/rdtypes/mxbase.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/nsbase.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/rdtypes/sigbase.py PYTHON 2004,2005,2006,2007,2009,2010
+./dns/rdtypes/txtbase.py PYTHON 2006,2007,2009,2010
+./dns/renderer.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/resolver.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/reversename.py PYTHON 2006,2007,2009,2010
+./dns/rrset.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/set.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/tokenizer.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/tsig.py PYTHON 2001,2002,2003,2004,2005,2006,2007,2009,2010
+./dns/tsigkeyring.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/ttl.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/update.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/version.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./dns/zone.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./examples/ddns.py X 2006,2007
+./examples/e164.py X 2006,2007
+./examples/mx.py X 2003,2004,2005,2006,2007
+./examples/name.py X 2003,2004,2005,2006,2007
+./examples/reverse.py X 2003,2004,2005,2006,2007
+./examples/reverse_name.py X 2006,2007
+./examples/xfr.py X 2003,2004,2005,2006,2007
+./setup.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/Makefile MAKE 2003,2004,2005,2006,2007,2009,2010
+./tests/bugs.py PYTHON 2006,2007,2009,2010
+./tests/example X 2003,2004,2005,2006,2007
+./tests/example1.good X 2003,2004,2005,2006,2007
+./tests/example2.good X 2003,2004,2005,2006,2007
+./tests/flags.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/message.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/name.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/namedict.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/ntoaaton.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/rdtypeandclass.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/resolver.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/rrset.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/set.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/tokenizer.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/update.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./tests/zone.py PYTHON 2003,2004,2005,2006,2007,2009,2010
+./util/COPYRIGHT X 2003,2004,2005,2006,2007
+./util/copyrights X 2003,2004,2005,2006,2007