Hello community,

here is the log from the commit of package python-dnspython for openSUSE:Factory
checked in at Fri Mar 25 08:55:26 CET 2011.



--------
--- python-dnspython/python-dnspython.changes   2010-11-23 12:29:32.000000000 
+0100
+++ /mounts/work_src_done/STABLE/python-dnspython/python-dnspython.changes      
2011-03-24 20:56:12.000000000 +0100
@@ -1,0 +2,26 @@
+Thu Mar 24 19:54:53 UTC 2011 - alexan...@exatati.com.br
+
+- Fix SLE_10 build.
+
+-------------------------------------------------------------------
+Thu Mar 24 18:34:32 UTC 2011 - alexan...@exatati.com.br
+
+- Update to 1.9.3:
+  Bugs fixed since 1.9.2:
+  - Dnspython was erroneously doing case-insensitive comparisons
+    of the names in NSEC and RRSIG RRs.
+  - We now use "is" and not "==" when testing what section an RR
+    is in.
+  - The resolver now disallows metaqueries.
+  New since 1.9.2:
+  - A boolean parameter, 'raise_on_no_answer', has been added to
+    the query() methods.  In no-error, no-data situations, this
+    parameter determines whether NoAnswer should be raised or not.
+    If True, NoAnswer is raised.  If False, then an Answer()
+    object with a None rrset will be returned.
+  - Resolver Answer() objects now have a canonical_name field.
+  - Rdata now have a __hash__ method.
+- Regenerated spec file with py2pack;
+- Removed LICENSE PKG-INFO and TODO files from documentation.
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


Old:
----
  dnspython-1.9.2.tar.bz2

New:
----
  dnspython-1.9.3.tar.bz2

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-dnspython.spec ++++++
--- /var/tmp/diff_new_pack.igJLUl/_old  2011-03-25 08:49:25.000000000 +0100
+++ /var/tmp/diff_new_pack.igJLUl/_new  2011-03-25 08:49:25.000000000 +0100
@@ -1,7 +1,7 @@
 #
-# spec file for package python-dnspython (Version 1.9.2)
+# spec file for package python-dnspython
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,51 +15,65 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+# norootforbuild
 
+%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib()")}
+%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
 
-Name:           python-dnspython
-Version:        1.9.2
+%define mod_name dnspython
+
+Name:           python-%{mod_name}
+Version:        1.9.3
 Release:        1
-License:        Other License(s), see package, BSD
-Summary:        A DNS toolkit for Python
 Url:            http://www.dnspython.org
-Group:          Productivity/Networking/DNS/Utilities
-Source:         
http://www.dnspython.org/kits/stable/dnspython-%{version}.tar.bz2
-BuildRequires:  python-devel
+Summary:        A DNS toolkit for Python
+License:        http://www.dnspython.org/LICENSE
+Group:          Development/Languages/Python
+Source:         %{mod_name}-%{version}.tar.bz2
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%{py_requires}
-%if %{?suse_version: %{suse_version} > 1110} %{!?suse_version:1}
+BuildRequires:  python-devel
+%if 0%{?suse_version}
+%py_requires
+%if 0%{?suse_version} > 1110
 BuildArch:      noarch
 %endif
+%endif
 
 %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.
+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.
+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.
+
+dnspython originated at Nominum where it was developed to facilitate the 
testing
+of DNS software.  Nominum has generously allowed it to be open sourced under a
+BSD-style license.
 
 %prep
-%setup -n dnspython-%{version}
+%setup -q -n %{mod_name}-%{version}
 
 %build
-find -name .\* -delete
 export CFLAGS="%{optflags}"
-%{__python} setup.py build
+python setup.py build
 
 %install
-%{__python} setup.py install --prefix=%{_prefix} --root=%{buildroot} 
--record-rpm=INSTALLED_FILES
-%{__chmod} 644 {examples,tests}/*.py
+python setup.py install --prefix=%{_prefix} --root=%{buildroot}
 
 %clean
-%{__rm} -rf %{buildroot}
+rm -rf %{buildroot}
 
-%files -f INSTALLED_FILES
-%defattr(-,root,root)
-%doc ChangeLog LICENSE PKG-INFO README TODO
+%files
+%defattr(-,root,root,-)
+# You may have to add additional files here (documentation and binaries mostly)
+%python_sitelib/dns*
+%if 0%{?sles_version} != 10
+%python_sitelib/*.egg-info
+%endif
+%doc README ChangeLog
 %doc examples
 %doc tests
 

++++++ dnspython-1.9.2.tar.bz2 -> dnspython-1.9.3.tar.bz2 ++++++
Files old/dnspython-1.9.2/._ChangeLog and new/dnspython-1.9.3/._ChangeLog differ
Files old/dnspython-1.9.2/._LICENSE and new/dnspython-1.9.3/._LICENSE differ
Files old/dnspython-1.9.2/._README and new/dnspython-1.9.3/._README differ
Files old/dnspython-1.9.2/._TODO and new/dnspython-1.9.3/._TODO differ
Files old/dnspython-1.9.2/._setup.py and new/dnspython-1.9.3/._setup.py differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/ChangeLog 
new/dnspython-1.9.3/ChangeLog
--- old/dnspython-1.9.2/ChangeLog       2010-11-23 09:06:38.000000000 +0100
+++ new/dnspython-1.9.3/ChangeLog       2011-03-22 14:46:23.000000000 +0100
@@ -1,3 +1,31 @@
+2011-03-22  Bob Halley  <hal...@dnspython.org>
+
+       * dns/resolver.py: a boolean parameter, 'raise_on_no_answer', has
+         been added to the query() methods.  In no-error, no-data
+         situations, this parameter determines whether NoAnswer should be
+         raised or not.  If True, NoAnswer is raised.  If False, then an
+         Answer() object with a None rrset will be returned.
+
+       * dns/resolver.py: Answer() objects now have a canonical_name field.
+
+2011-01-11  Bob Halley  <hal...@dnspython.org>
+
+       * Dnspython was erroneously doing case-insensitive comparisons
+         of the names in NSEC and RRSIG RRs.  Thanks to Casey Deccio for
+         reporting this bug.
+
+2010-12-17  Bob Halley  <hal...@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  <hal...@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  <hal...@dnspython.org>
 
        * (Version 1.9.2 released)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/PKG-INFO new/dnspython-1.9.3/PKG-INFO
--- old/dnspython-1.9.2/PKG-INFO        2010-11-23 09:14:48.000000000 +0100
+++ new/dnspython-1.9.3/PKG-INFO        2011-03-24 15:49:33.000000000 +0100
@@ -1,12 +1,12 @@
 Metadata-Version: 1.1
 Name: dnspython
-Version: 1.9.2
+Version: 1.9.3
 Summary: DNS toolkit
 Home-page: http://www.dnspython.org
 Author: Bob Halley
 Author-email: hal...@dnspython.org
 License: BSD-like
-Download-URL: http://www.dnspython.org/kits/1.9.2/dnspython-1.9.2.tar.gz
+Download-URL: http://www.dnspython.org/kits/1.9.3/dnspython-1.9.3.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.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/README new/dnspython-1.9.3/README
--- old/dnspython-1.9.2/README  2010-11-23 09:12:04.000000000 +0100
+++ new/dnspython-1.9.3/README  2011-03-23 18:01:11.000000000 +0100
@@ -22,7 +22,29 @@
 
 ABOUT THIS RELEASE
 
-This is dnspython 1.9.2
+This is dnspython 1.9.3
+
+New since 1.9.2:
+
+       A boolean parameter, 'raise_on_no_answer', has been added to
+       the query() methods.  In no-error, no-data situations, this
+       parameter determines whether NoAnswer should be raised or not.
+       If True, NoAnswer is raised.  If False, then an Answer()
+       object with a None rrset will be returned.
+
+       Resolver Answer() objects now have a canonical_name field.
+
+       Rdata now have a __hash__ method.
+
+Bugs fixed since 1.9.2:
+
+               Dnspython was erroneously doing case-insensitive comparisons
+       of the names in NSEC and RRSIG RRs.
+
+       We now use "is" and not "==" when testing what section an RR
+       is in.
+
+       The resolver now disallows metaqueries.
 
 New since 1.9.1:
 
Files old/dnspython-1.9.2/dns/.___init__.py and 
new/dnspython-1.9.3/dns/.___init__.py differ
Files old/dnspython-1.9.2/dns/._e164.py and new/dnspython-1.9.3/dns/._e164.py 
differ
Files old/dnspython-1.9.2/dns/._edns.py and new/dnspython-1.9.3/dns/._edns.py 
differ
Files old/dnspython-1.9.2/dns/._entropy.py and 
new/dnspython-1.9.3/dns/._entropy.py differ
Files old/dnspython-1.9.2/dns/._exception.py and 
new/dnspython-1.9.3/dns/._exception.py differ
Files old/dnspython-1.9.2/dns/._flags.py and new/dnspython-1.9.3/dns/._flags.py 
differ
Files old/dnspython-1.9.2/dns/._inet.py and new/dnspython-1.9.3/dns/._inet.py 
differ
Files old/dnspython-1.9.2/dns/._ipv4.py and new/dnspython-1.9.3/dns/._ipv4.py 
differ
Files old/dnspython-1.9.2/dns/._ipv6.py and new/dnspython-1.9.3/dns/._ipv6.py 
differ
Files old/dnspython-1.9.2/dns/._message.py and 
new/dnspython-1.9.3/dns/._message.py differ
Files old/dnspython-1.9.2/dns/._name.py and new/dnspython-1.9.3/dns/._name.py 
differ
Files old/dnspython-1.9.2/dns/._namedict.py and 
new/dnspython-1.9.3/dns/._namedict.py differ
Files old/dnspython-1.9.2/dns/._node.py and new/dnspython-1.9.3/dns/._node.py 
differ
Files old/dnspython-1.9.2/dns/._opcode.py and 
new/dnspython-1.9.3/dns/._opcode.py differ
Files old/dnspython-1.9.2/dns/._rcode.py and new/dnspython-1.9.3/dns/._rcode.py 
differ
Files old/dnspython-1.9.2/dns/._rdata.py and new/dnspython-1.9.3/dns/._rdata.py 
differ
Files old/dnspython-1.9.2/dns/._rdataclass.py and 
new/dnspython-1.9.3/dns/._rdataclass.py differ
Files old/dnspython-1.9.2/dns/._rdataset.py and 
new/dnspython-1.9.3/dns/._rdataset.py differ
Files old/dnspython-1.9.2/dns/._rdatatype.py and 
new/dnspython-1.9.3/dns/._rdatatype.py differ
Files old/dnspython-1.9.2/dns/._renderer.py and 
new/dnspython-1.9.3/dns/._renderer.py differ
Files old/dnspython-1.9.2/dns/._resolver.py and 
new/dnspython-1.9.3/dns/._resolver.py differ
Files old/dnspython-1.9.2/dns/._reversename.py and 
new/dnspython-1.9.3/dns/._reversename.py differ
Files old/dnspython-1.9.2/dns/._rrset.py and new/dnspython-1.9.3/dns/._rrset.py 
differ
Files old/dnspython-1.9.2/dns/._set.py and new/dnspython-1.9.3/dns/._set.py 
differ
Files old/dnspython-1.9.2/dns/._tsig.py and new/dnspython-1.9.3/dns/._tsig.py 
differ
Files old/dnspython-1.9.2/dns/._tsigkeyring.py and 
new/dnspython-1.9.3/dns/._tsigkeyring.py differ
Files old/dnspython-1.9.2/dns/._ttl.py and new/dnspython-1.9.3/dns/._ttl.py 
differ
Files old/dnspython-1.9.2/dns/._update.py and 
new/dnspython-1.9.3/dns/._update.py differ
Files old/dnspython-1.9.2/dns/._version.py and 
new/dnspython-1.9.3/dns/._version.py differ
Files old/dnspython-1.9.2/dns/._zone.py and new/dnspython-1.9.3/dns/._zone.py 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/dns/message.py 
new/dnspython-1.9.3/dns/message.py
--- old/dnspython-1.9.2/dns/message.py  2010-10-17 17:23:05.000000000 +0200
+++ new/dnspython-1.9.3/dns/message.py  2011-02-09 10:19:51.000000000 +0100
@@ -686,7 +686,7 @@
                     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:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/dns/rdata.py 
new/dnspython-1.9.3/dns/rdata.py
--- old/dnspython-1.9.2/dns/rdata.py    2010-03-14 13:55:42.000000000 +0100
+++ new/dnspython-1.9.3/dns/rdata.py    2011-02-09 10:19:51.000000000 +0100
@@ -28,6 +28,7 @@
 import cStringIO
 
 import dns.exception
+import dns.name
 import dns.rdataclass
 import dns.rdatatype
 import dns.tokenizer
@@ -252,6 +253,18 @@
             return NotImplemented
         return self._cmp(other) > 0
 
+    def __hash__(self):
+        return hash(self.to_digestable(dns.name.root))
+
+    def _wire_cmp(self, other):
+        # A number of types compare rdata in wire form, so we provide
+        # the method here instead of duplicating it.
+        b1 = cStringIO.StringIO()
+        self.to_wire(b1)
+        b2 = cStringIO.StringIO()
+        other.to_wire(b2)
+        return cmp(b1.getvalue(), b2.getvalue())
+
     def from_text(cls, rdclass, rdtype, tok, origin = None, relativize = True):
         """Build an rdata object from text format.
 
Files old/dnspython-1.9.2/dns/rdtypes/.___init__.py and 
new/dnspython-1.9.3/dns/rdtypes/.___init__.py differ
Files old/dnspython-1.9.2/dns/rdtypes/._dsbase.py and 
new/dnspython-1.9.3/dns/rdtypes/._dsbase.py differ
Files old/dnspython-1.9.2/dns/rdtypes/._keybase.py and 
new/dnspython-1.9.3/dns/rdtypes/._keybase.py differ
Files old/dnspython-1.9.2/dns/rdtypes/._mxbase.py and 
new/dnspython-1.9.3/dns/rdtypes/._mxbase.py differ
Files old/dnspython-1.9.2/dns/rdtypes/._nsbase.py and 
new/dnspython-1.9.3/dns/rdtypes/._nsbase.py differ
Files old/dnspython-1.9.2/dns/rdtypes/._sigbase.py and 
new/dnspython-1.9.3/dns/rdtypes/._sigbase.py differ
Files old/dnspython-1.9.2/dns/rdtypes/._txtbase.py and 
new/dnspython-1.9.3/dns/rdtypes/._txtbase.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._AFSDB.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._AFSDB.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._CERT.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._CERT.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._CNAME.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._CNAME.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._DLV.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._DLV.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._DNAME.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._DNAME.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._DNSKEY.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._DNSKEY.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._DS.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._DS.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._GPOS.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._GPOS.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._HINFO.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._HINFO.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._HIP.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._HIP.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._ISDN.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._ISDN.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._KEY.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._KEY.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._LOC.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._LOC.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._MX.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._MX.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._NS.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._NS.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._NSEC.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._NSEC.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._NSEC3.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._NSEC3.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._NSEC3PARAM.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._NSEC3PARAM.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._NXT.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._NXT.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._PTR.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._PTR.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._RP.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._RP.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._RRSIG.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._RRSIG.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._RT.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._RT.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._SIG.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._SIG.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._SOA.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._SOA.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._SPF.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._SPF.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._SSHFP.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._SSHFP.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._TXT.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._TXT.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/._X25.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/._X25.py differ
Files old/dnspython-1.9.2/dns/rdtypes/ANY/.___init__.py and 
new/dnspython-1.9.3/dns/rdtypes/ANY/.___init__.py differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/dns/rdtypes/ANY/NSEC.py 
new/dnspython-1.9.3/dns/rdtypes/ANY/NSEC.py
--- old/dnspython-1.9.2/dns/rdtypes/ANY/NSEC.py 2010-03-14 13:55:42.000000000 
+0100
+++ new/dnspython-1.9.3/dns/rdtypes/ANY/NSEC.py 2011-02-09 10:19:51.000000000 
+0100
@@ -125,17 +125,4 @@
         self.next = self.next.choose_relativity(origin, relativize)
 
     def _cmp(self, other):
-        v = cmp(self.next, other.next)
-        if v == 0:
-            b1 = cStringIO.StringIO()
-            for (window, bitmap) in self.windows:
-                b1.write(chr(window))
-                b1.write(chr(len(bitmap)))
-                b1.write(bitmap)
-            b2 = cStringIO.StringIO()
-            for (window, bitmap) in other.windows:
-                b2.write(chr(window))
-                b2.write(chr(len(bitmap)))
-                b2.write(bitmap)
-            v = cmp(b1.getvalue(), b2.getvalue())
-        return v
+        return self._wire_cmp(other)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/dns/rdtypes/ANY/SIG.py 
new/dnspython-1.9.3/dns/rdtypes/ANY/SIG.py
--- old/dnspython-1.9.2/dns/rdtypes/ANY/SIG.py  2010-01-14 23:15:00.000000000 
+0100
+++ new/dnspython-1.9.3/dns/rdtypes/ANY/SIG.py  2011-02-09 10:19:51.000000000 
+0100
@@ -24,3 +24,18 @@
                            self.inception, self.key_tag) + \
                            self.signer.to_digestable(origin) + \
                            self.signature
+    def _cmp(self, other):
+        hs = struct.pack('!HBBIIIH', self.type_covered,
+                         self.algorithm, self.labels,
+                         self.original_ttl, self.expiration,
+                         self.inception, self.key_tag)
+        ho = struct.pack('!HBBIIIH', other.type_covered,
+                         other.algorithm, other.labels,
+                         other.original_ttl, other.expiration,
+                         other.inception, other.key_tag)
+        v = cmp(hs, ho)
+        if v == 0:
+            v = cmp(self.signer, other.signer)
+            if v == 0:
+                v = cmp(self.signature, other.signature)
+        return v
Files old/dnspython-1.9.2/dns/rdtypes/IN/._A.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._A.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._AAAA.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._AAAA.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._APL.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._APL.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._DHCID.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._DHCID.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._IPSECKEY.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._IPSECKEY.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._KX.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._KX.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._NAPTR.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._NAPTR.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._NSAP.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._NSAP.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._NSAP_PTR.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._NSAP_PTR.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._PX.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._PX.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._SRV.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._SRV.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/._WKS.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/._WKS.py differ
Files old/dnspython-1.9.2/dns/rdtypes/IN/.___init__.py and 
new/dnspython-1.9.3/dns/rdtypes/IN/.___init__.py differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/dns/rdtypes/sigbase.py 
new/dnspython-1.9.3/dns/rdtypes/sigbase.py
--- old/dnspython-1.9.2/dns/rdtypes/sigbase.py  2010-03-14 13:55:42.000000000 
+0100
+++ new/dnspython-1.9.3/dns/rdtypes/sigbase.py  2011-02-09 10:19:51.000000000 
+0100
@@ -152,17 +152,4 @@
         self.signer = self.signer.choose_relativity(origin, relativize)
 
     def _cmp(self, other):
-        hs = struct.pack('!HBBIIIH', self.type_covered,
-                         self.algorithm, self.labels,
-                         self.original_ttl, self.expiration,
-                         self.inception, self.key_tag)
-        ho = struct.pack('!HBBIIIH', other.type_covered,
-                         other.algorithm, other.labels,
-                         other.original_ttl, other.expiration,
-                         other.inception, other.key_tag)
-        v = cmp(hs, ho)
-        if v == 0:
-            v = cmp(self.signer, other.signer)
-            if v == 0:
-                v = cmp(self.signature, other.signature)
-        return v
+        return self._wire_cmp(other)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/dns/resolver.py 
new/dnspython-1.9.3/dns/resolver.py
--- old/dnspython-1.9.2/dns/resolver.py 2010-10-31 14:37:11.000000000 +0100
+++ new/dnspython-1.9.3/dns/resolver.py 2011-03-22 14:45:18.000000000 +0100
@@ -61,6 +61,10 @@
     This should never happen!"""
     pass
 
+class NoMetaqueries(dns.exception.DNSException):
+    """Metaqueries are not allowed."""
+    pass
+
 
 class Answer(object):
     """DNS stub resolver answer
@@ -89,8 +93,11 @@
     @type rrset: dns.rrset.RRset object
     @ivar expiration: The time when the answer expires
     @type expiration: float (seconds since the epoch)
+    @ivar canonical_name: The canonical name of the query name
+    @type canonical_name: dns.name.Name object
     """
-    def __init__(self, qname, rdtype, rdclass, response):
+    def __init__(self, qname, rdtype, rdclass, response,
+                 raise_on_no_answer=True):
         self.qname = qname
         self.rdtype = rdtype
         self.rdclass = rdclass
@@ -118,11 +125,31 @@
                             break
                         continue
                     except KeyError:
-                        raise NoAnswer
-                raise NoAnswer
-        if rrset is None:
+                        if raise_on_no_answer:
+                            raise NoAnswer
+                if raise_on_no_answer:
+                    raise NoAnswer
+        if rrset is None and raise_on_no_answer:
             raise NoAnswer
+        self.canonical_name = qname
         self.rrset = rrset
+        if rrset is None:
+            while 1:
+                # Look for a SOA RR whose owner name is a superdomain
+                # of qname.
+                try:
+                    srrset = response.find_rrset(response.authority, qname,
+                                                rdclass, dns.rdatatype.SOA)
+                    if min_ttl == -1 or srrset.ttl < min_ttl:
+                        min_ttl = srrset.ttl
+                    if srrset[0].minimum < min_ttl:
+                        min_ttl = srrset[0].minimum
+                    break
+                except KeyError:
+                    try:
+                        qname = qname.parent()
+                    except dns.name.NoParent:
+                        break
         self.expiration = time.time() + min_ttl
 
     def __getattr__(self, attr):
@@ -542,7 +569,7 @@
         return min(self.lifetime - duration, self.timeout)
 
     def query(self, qname, rdtype=dns.rdatatype.A, rdclass=dns.rdataclass.IN,
-              tcp=False, source=None):
+              tcp=False, source=None, raise_on_no_answer=True):
         """Query nameservers to find the answer to the question.
 
         The I{qname}, I{rdtype}, and I{rdclass} parameters may be objects
@@ -560,10 +587,14 @@
         @type tcp: bool
         @param source: bind to this IP address (defaults to machine default 
IP).
         @type source: IP address in dotted quad notation
+        @param raise_on_no_answer: raise NoAnswer if there's no answer
+        (defaults is True).
+        @type raise_on_no_answer: bool
         @rtype: dns.resolver.Answer instance
         @raises Timeout: no answers could be found in the specified lifetime
         @raises NXDOMAIN: the query name does not exist
-        @raises NoAnswer: the response did not contain an answer
+        @raises NoAnswer: the response did not contain an answer and
+        raise_on_no_answer is True.
         @raises NoNameservers: no non-broken nameservers are available to
         answer the question."""
 
@@ -571,8 +602,12 @@
             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)
@@ -670,7 +705,8 @@
             break
         if all_nxdomain:
             raise NXDOMAIN
-        answer = Answer(qname, rdtype, rdclass, response)
+        answer = Answer(qname, rdtype, rdclass, response,
+                        raise_on_no_answer)
         if self.cache:
             self.cache.put((qname, rdtype, rdclass), answer)
         return answer
@@ -723,14 +759,15 @@
     return default_resolver
 
 def query(qname, rdtype=dns.rdatatype.A, rdclass=dns.rdataclass.IN,
-          tcp=False, source=None):
+          tcp=False, source=None, raise_on_no_answer=True):
     """Query nameservers to find the answer to the question.
 
     This is a convenience function that uses the default resolver
     object to make the query.
     @see: L{dns.resolver.Resolver.query} for more information on the
     parameters."""
-    return get_default_resolver().query(qname, rdtype, rdclass, tcp, source)
+    return get_default_resolver().query(qname, rdtype, rdclass, tcp, source,
+                                        raise_on_no_answer)
 
 def zone_for_name(name, rdclass=dns.rdataclass.IN, tcp=False, resolver=None):
     """Find the name of the zone which contains the specified name.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/dns/version.py 
new/dnspython-1.9.3/dns/version.py
--- old/dnspython-1.9.2/dns/version.py  2010-11-23 09:01:50.000000000 +0100
+++ new/dnspython-1.9.3/dns/version.py  2011-02-09 10:12:38.000000000 +0100
@@ -17,7 +17,7 @@
 
 MAJOR = 1
 MINOR = 9
-MICRO = 2
+MICRO = 3
 RELEASELEVEL = 0x0f
 SERIAL = 0
 
Files old/dnspython-1.9.2/examples/._ddns.py and 
new/dnspython-1.9.3/examples/._ddns.py differ
Files old/dnspython-1.9.2/examples/._e164.py and 
new/dnspython-1.9.3/examples/._e164.py differ
Files old/dnspython-1.9.2/examples/._mx.py and 
new/dnspython-1.9.3/examples/._mx.py differ
Files old/dnspython-1.9.2/examples/._name.py and 
new/dnspython-1.9.3/examples/._name.py differ
Files old/dnspython-1.9.2/examples/._reverse.py and 
new/dnspython-1.9.3/examples/._reverse.py differ
Files old/dnspython-1.9.2/examples/._reverse_name.py and 
new/dnspython-1.9.3/examples/._reverse_name.py differ
Files old/dnspython-1.9.2/examples/._xfr.py and 
new/dnspython-1.9.3/examples/._xfr.py differ
Files old/dnspython-1.9.2/examples/._zonediff.py and 
new/dnspython-1.9.3/examples/._zonediff.py differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/dnspython-1.9.2/setup.py new/dnspython-1.9.3/setup.py
--- old/dnspython-1.9.2/setup.py        2010-11-23 09:01:33.000000000 +0100
+++ new/dnspython-1.9.3/setup.py        2011-02-09 10:12:38.000000000 +0100
@@ -18,7 +18,7 @@
 import sys
 from distutils.core import setup
 
-version = '1.9.2'
+version = '1.9.3'
 
 kwargs = {
     'name' : 'dnspython',
Files old/dnspython-1.9.2/tests/._Makefile and 
new/dnspython-1.9.3/tests/._Makefile differ
Files old/dnspython-1.9.2/tests/._bugs.py and 
new/dnspython-1.9.3/tests/._bugs.py differ
Files old/dnspython-1.9.2/tests/._example and 
new/dnspython-1.9.3/tests/._example differ
Files old/dnspython-1.9.2/tests/._example1.good and 
new/dnspython-1.9.3/tests/._example1.good differ
Files old/dnspython-1.9.2/tests/._example2.good and 
new/dnspython-1.9.3/tests/._example2.good differ
Files old/dnspython-1.9.2/tests/._flags.py and 
new/dnspython-1.9.3/tests/._flags.py differ
Files old/dnspython-1.9.2/tests/._message.py and 
new/dnspython-1.9.3/tests/._message.py differ
Files old/dnspython-1.9.2/tests/._name.py and 
new/dnspython-1.9.3/tests/._name.py differ
Files old/dnspython-1.9.2/tests/._namedict.py and 
new/dnspython-1.9.3/tests/._namedict.py differ
Files old/dnspython-1.9.2/tests/._ntoaaton.py and 
new/dnspython-1.9.3/tests/._ntoaaton.py differ
Files old/dnspython-1.9.2/tests/._rdtypeandclass.py and 
new/dnspython-1.9.3/tests/._rdtypeandclass.py differ
Files old/dnspython-1.9.2/tests/._rrset.py and 
new/dnspython-1.9.3/tests/._rrset.py differ
Files old/dnspython-1.9.2/tests/._set.py and new/dnspython-1.9.3/tests/._set.py 
differ
Files old/dnspython-1.9.2/tests/._tokenizer.py and 
new/dnspython-1.9.3/tests/._tokenizer.py differ
Files old/dnspython-1.9.2/tests/._update.py and 
new/dnspython-1.9.3/tests/._update.py differ
Files old/dnspython-1.9.2/tests/._zone.py and 
new/dnspython-1.9.3/tests/._zone.py differ


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to