dnspython: Update to latest upstream.
authorJelmer Vernooij <jelmer@samba.org>
Sat, 4 Sep 2010 21:05:16 +0000 (23:05 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Sat, 4 Sep 2010 21:05:16 +0000 (23:05 +0200)
30 files changed:
lib/dnspython/.gitignore [new file with mode: 0644]
lib/dnspython/ChangeLog
lib/dnspython/MANIFEST.in [new file with mode: 0644]
lib/dnspython/PKG-INFO [deleted file]
lib/dnspython/README
lib/dnspython/dns/dnssec.py
lib/dnspython/dns/flags.py
lib/dnspython/dns/inet.py
lib/dnspython/dns/node.py
lib/dnspython/dns/opcode.py
lib/dnspython/dns/rdtypes/ANY/GPOS.py
lib/dnspython/dns/rdtypes/ANY/HINFO.py
lib/dnspython/dns/rdtypes/ANY/SOA.py
lib/dnspython/dns/rdtypes/ANY/SSHFP.py
lib/dnspython/dns/rdtypes/ANY/X25.py
lib/dnspython/dns/rdtypes/IN/NAPTR.py
lib/dnspython/dns/rdtypes/IN/PX.py
lib/dnspython/dns/resolver.py
lib/dnspython/dns/tsigkeyring.py
lib/dnspython/dns/update.py
lib/dnspython/dns/version.py
lib/dnspython/setup.py
lib/dnspython/tests/example
lib/dnspython/tests/name.py
lib/dnspython/tests/rdtypeandclass.py
lib/dnspython/tests/rrset.py
lib/dnspython/tests/set.py
lib/dnspython/tests/zone.py
lib/dnspython/util/COPYRIGHT [new file with mode: 0644]
lib/dnspython/util/copyrights [new file with mode: 0644]

diff --git a/lib/dnspython/.gitignore b/lib/dnspython/.gitignore
new file mode 100644 (file)
index 0000000..2abcfc4
--- /dev/null
@@ -0,0 +1,5 @@
+build
+dist
+MANIFEST
+html
+tests/*.out
index f5a74da2b4898f09fcd91ddf4b372bfdfcce97df..73a66edef68ca86dd362791e1e5029310f9a9d40 100644 (file)
@@ -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 (file)
index 0000000..d58fb8b
--- /dev/null
@@ -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 (file)
index 455915d..0000000
+++ /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
index 0e5793ace0bf1e1b6a1e45e96af92f1171e1bf20..b313d1c132e6852ab275a6fb474c6de73693748d 100644 (file)
@@ -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.
 
index acf46535b96c65e23d86ecb9c691dc2d6e7101e6..54fd78d9c9b91491e5736627dd0662863d888297 100644 (file)
@@ -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)
index 79375ea2ce2b7c5c1895f0c9973030042ffc76be..17afdbc2ec834dabdaff9cd76b36003b7ce678ac 100644 (file)
@@ -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
index 993a2f9436817aee84d34a5e2e74cfe0f68e90e0..8a8f3e1ca88ff054daf301cec9bb6f6ece0da970 100644 (file)
@@ -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
-
+    
index 785a2454641067a7d46f9395137cea05a9985995..07fff9293c43ad066e1a4e6bb80acea46fe3d9cb 100644 (file)
@@ -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;
index 735d3a1f7de19bffb428bf4a2aa51b896f19b1c7..705bd09a43d1fb887e63fcc0920ef7e317e1e2f7 100644 (file)
@@ -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
index aa8000f8ca6b67d90d3f314497d44fa0b82f7893..6f63cc05f63c549cecb28a9b42ce6d4bb5d144aa 100644 (file)
@@ -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
index 5cfef5a93274502a1cd74df477a12fff89721020..e592ad39a7d86b5a30e5d2b223a09be83d612d34 100644 (file)
@@ -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
index 5f74b8d384201272cddb9f6c9817453744102a3d..a25a35e29b0bf4bb1a9eb42ea4d2d4003dcd620a 100644 (file)
@@ -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):
index bc54f5e260767d48966a2feac665698eb87c8a62..162dda5c4887ae501634370bf0c5fe7abd96b436 100644 (file)
@@ -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
index fc4790fe8a1537e7d212e9ffcae7d7717a492539..c3632f7fc406b088c08dd834f3a0fc8e9be101a0 100644 (file)
@@ -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
index 3a30d16d7bf23cac962964162ae1a4153442434c..a3cca55e1ce6fe581377f4ab891d8fafa061c1c9 100644 (file)
@@ -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)
index 4718944ff4fd8e841107e18be38b7874b865bf2c..0f112907240696c0cb74acbed5855c8a1c2df3e9 100644 (file)
@@ -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
index 372d7d83615b9474e0a1e4594e6eae375d99d4f6..cd0e5f804bc70acf90416edb4bb8fc2e25b653c5 100644 (file)
@@ -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
             #
index 4d68f96c85cf851653ec052f38a348cd70a1eafc..cbd1a27bbf8faac69608ab4986e166d2bea9c111 100644 (file)
@@ -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)
index 7d4263689170574fdde5df4cfed2bf0b20556df8..97aea18fb9cbdd3549869bf3997917670196767f 100644 (file)
@@ -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."""
index 7a36775180e72da89149c8cde3f40985d58b111d..dd135a13e520b952b784b4ffb1f3e0d7b9623a01 100644 (file)
@@ -17,7 +17,7 @@
 
 MAJOR = 1
 MINOR = 8
-MICRO = 0
+MICRO = 1
 RELEASELEVEL = 0x0f
 SERIAL = 0
 
index 12fd2f1dc661e95f36f6d86d506db374175c56da..21ebddfb5921eb00dc3c13bb81cd150615710b63 100755 (executable)
@@ -18,7 +18,7 @@
 import sys
 from distutils.core import setup
 
-version = '1.8.0'
+version = '1.8.1'
 
 kwargs = {
     'name' : 'dnspython',
index d87c63a393d69991bca670a8f52b0146529e1c28..e8fed1161b1f6e170edf2d9b8d78dbd1703c0b1f 100644 (file)
@@ -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"
index a53ef9eac63998e58829b31f8cc6f1339b7f2c49..1ab4f52814b90c88277840d804ecf5873e9432cd 100644 (file)
@@ -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)
index edd7f7eae35285e6bff7a24db3f05ca944bd84bb..0c8a830e27686eb7c09d0f0c70a62d000171abea 100644 (file)
@@ -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))
 
index 740162b4c595fffa4c9e317f5b03b74a90939db8..3cafbee891a13e26014f3c1c9f9d4f3d312b3695 100644 (file)
@@ -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')
index 6319eb821cd10542a89e06ef926e89dc525ecdab..e2bca51b8270dbac224ab8f17d1930a66f2d4007 100644 (file)
@@ -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)
index a8d629c53250430741ee6eff739b9a0ed3d6c66a..075be0a48a35d3ba5c9c28cb1ac230028c39dbe4 100644 (file)
@@ -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 (file)
index 0000000..7390363
--- /dev/null
@@ -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 (file)
index 0000000..ae57838
--- /dev/null
@@ -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