[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#710396: pu: package py3dns/3.0.2-1+wheezy1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: pu

Python3-dns 3.0.2 contained a change that resulted in an inadvertent type
change for the rdata of AAAA queries.  This is incompatible with python-dns
and breaks IPv6 related queries for at least one package in the archive,
python3-spf:

python3 /usr/lib/python3/dist-packages/spf.py 2001:7b8:206:1::5 test@unbound.net unbound.net
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/spf.py", line 1971, in <module>
    print(q.check(),q.mechanism)
  File "/usr/lib/python3/dist-packages/spf.py", line 543, in check
    rc = self.check1(spf, self.d, 0)
  File "/usr/lib/python3/dist-packages/spf.py", line 582, in check1
    return self.check0(spf, recursion)
  File "/usr/lib/python3/dist-packages/spf.py", line 876, in check0
    if self.cidrmatch(self.dns_mx(arg), cidrlength):
  File "/usr/lib/python3/dist-packages/spf.py", line 1289, in cidrmatch
    for ip in [bin(ip) for ip in ipaddrs]:
  File "/usr/lib/python3/dist-packages/spf.py", line 1289, in <listcomp>
    for ip in [bin(ip) for ip in ipaddrs]:
  File "/usr/lib/python3/dist-packages/spf.py", line 1733, in bin2long6
    h, l = struct.unpack("!QQ", str)
TypeError: 'str' does not support the buffer interface

This is fixed upstream in version 3.0.3 that is in sid and should migrate to
testing shortly.

Debdiff is attached.
diff -u py3dns-3.0.2/debian/changelog py3dns-3.0.2/debian/changelog
--- py3dns-3.0.2/debian/changelog
+++ py3dns-3.0.2/debian/changelog
@@ -1,3 +1,10 @@
+py3dns (3.0.2-1+wheezy1) wheezy; urgency=low
+
+  * Revert AAAA query result type change and return raw bytes instead of
+    string (LP: #1184367)
+
+ -- Scott Kitterman <scott@kitterman.com>  Thu, 30 May 2013 09:29:05 -0400
+
 py3dns (3.0.2-1) unstable; urgency=low
 
   * New upstream release
only in patch2:
unchanged:
--- py3dns-3.0.2.orig/DNS/Lib.py
+++ py3dns-3.0.2/DNS/Lib.py
@@ -494,12 +494,6 @@
         else:
             enc = DNS.LABEL_ENCODING
         return self.getaddr().decode(enc)
-    def getAAAAdata(self):
-        if DNS.LABEL_UTF8:
-            enc = 'utf8'
-        else:
-            enc = DNS.LABEL_ENCODING
-        return self.getaddr6().decode(enc)
     def getWKSdata(self):
         address = self.getaddr()
         protocol = ord(self.getbyte())

Reply to: