]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2300] use _master_addrinfo[0] for address family in _get_ipver_str()
authorNaoki Kambe <kambe@jprs.co.jp>
Fri, 28 Sep 2012 06:58:58 +0000 (15:58 +0900)
committerNaoki Kambe <kambe@jprs.co.jp>
Thu, 29 Aug 2013 10:34:46 +0000 (19:34 +0900)
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.

src/bin/xfrin/tests/xfrin_test.py
src/bin/xfrin/xfrin.py.in

index 5d6149f3a0d3e1844d3fe1c5c80868f17e7fba9e..264d1da3fa38e4cfdaedd29a4c47359b27c1da35 100644 (file)
@@ -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
index 1af0d1db4fe4f6d8d448415c77f3241923f01e8b..0c6a866aac42398fcf3bdcd90a998e810473e090 100755 (executable)
@@ -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")