From: Naoki Kambe Date: Fri, 28 Sep 2012 06:58:58 +0000 (+0900) Subject: [2300] use _master_addrinfo[0] for address family in _get_ipver_str() X-Git-Tag: bind10-1.2.0beta1-release~102^2~30^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f7a34944f319ebffaced2e1ea8a7dd1c420a4c99;p=thirdparty%2Fkea.git [2300] use _master_addrinfo[0] for address family in _get_ipver_str() Because _get_ipver_str() is referring to an attribute of NoneType when it is invoked earlier than init_socket() and when the socket object is None. --- diff --git a/src/bin/xfrin/tests/xfrin_test.py b/src/bin/xfrin/tests/xfrin_test.py index 5d6149f3a0..264d1da3fa 100644 --- a/src/bin/xfrin/tests/xfrin_test.py +++ b/src/bin/xfrin/tests/xfrin_test.py @@ -1105,12 +1105,10 @@ class TestAXFR(TestXfrinConnection): for (info, ver) in addrs: c = MockXfrinConnection({}, TEST_ZONE_NAME, RRClass.CH, None, threading.Event(), info) - c.init_socket() if ver is not None: self.assertEqual(ver, c._get_ipver_str()) else: self.assertRaises(ValueError, c._get_ipver_str) - c.close() def test_soacheck(self): # we need to defer the creation until we know the QID, which is diff --git a/src/bin/xfrin/xfrin.py.in b/src/bin/xfrin/xfrin.py.in index 1af0d1db4f..0c6a866aac 100755 --- a/src/bin/xfrin/xfrin.py.in +++ b/src/bin/xfrin/xfrin.py.in @@ -860,9 +860,9 @@ class XfrinConnection(asyncore.dispatcher): It raises a ValueError exception on other address families. """ - if self.socket.family == socket.AF_INET: + if self._master_addrinfo[0] == socket.AF_INET: return 'v4' - elif self.socket.family == socket.AF_INET6: + elif self._master_addrinfo[0] == socket.AF_INET6: return 'v6' raise ValueError("Invalid address family. " "This is supported only for IP sockets")