Package: release.debian.org Severity: normal User: [email protected] Usertags: pu
This issue addressed by the attached patch has caused mail delivery issues, so I'd like to fix it in stable. The patch is low risk and has been reviewed/ accepted by upstream.
diff -u python-dns-2.3.6/debian/changelog python-dns-2.3.6/debian/changelog --- python-dns-2.3.6/debian/changelog +++ python-dns-2.3.6/debian/changelog @@ -1,3 +1,13 @@ +python-dns (2.3.6-1+deb7u1) stable; urgency=low + + * Add debian/patches/pydns_timeout.patch to fix timeouts associated with + only one of several available nameservers being unavailable + (Closes: #718547): + - Only raise timeout error after trying all available servers + - Stop lookups once an answer is gotten + + -- Scott Kitterman <[email protected]> Tue, 06 Aug 2013 23:30:26 -0400 + python-dns (2.3.6-1) unstable; urgency=low * New upstream release diff -u python-dns-2.3.6/debian/patches/series python-dns-2.3.6/debian/patches/series --- python-dns-2.3.6/debian/patches/series +++ python-dns-2.3.6/debian/patches/series @@ -1,0 +2 @@ +pydns_timeout.patch only in patch2: unchanged: --- python-dns-2.3.6.orig/debian/patches/pydns_timeout.patch +++ python-dns-2.3.6/debian/patches/pydns_timeout.patch @@ -0,0 +1,30 @@ +Sent upstream Aug 8, 2013 +http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718547 +Index: python-dns-2.3.6/DNS/Base.py +=================================================================== +--- python-dns-2.3.6.orig/DNS/Base.py 2013-08-06 22:58:40.830642636 -0400 ++++ python-dns-2.3.6/DNS/Base.py 2013-08-06 22:59:20.570641461 -0400 +@@ -276,6 +276,11 @@ + # servers worked: + first_socket_error = first_socket_error or e + continue ++ except TimeoutError, t: ++ first_socket_error = first_socket_error or t ++ continue ++ if self.response: ++ break + if not self.response and first_socket_error: + raise first_socket_error + +@@ -313,6 +318,11 @@ + except socket.error, e: + first_socket_error = first_socket_error or e + continue ++ except TimeoutError, t: ++ first_socket_error = first_socket_error or t ++ continue ++ if self.response: ++ break + if not self.response and first_socket_error: + raise first_socket_error +

