From f968d22867beb2ea44a6e6716e2fb40e73a68b39 Mon Sep 17 00:00:00 2001 From: Ruben Herold Date: Fri, 7 Aug 2026 22:56:21 +0200 Subject: utils: T9177: fix _are_same_ip() using wrong address family _are_same_ip() computed the address family of both arguments but only ever passed the first one's family to inet_pton() for both, via a computed-but-unused "s_two" local. Comparing addresses of different families (e.g. one IPv4, one IPv6) raised instead of returning False. Found via ruff flagging s_two as an unused local; the function currently has no callers. --- src/tests/test_utils_network.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/tests') diff --git a/src/tests/test_utils_network.py b/src/tests/test_utils_network.py index 6d9a358c1..2e12aea7f 100644 --- a/src/tests/test_utils_network.py +++ b/src/tests/test_utils_network.py @@ -44,6 +44,15 @@ class TestVyOSUtilsNetwork(TestCase): self.assertFalse(vyos.utils.network.is_loopback_addr('::2')) self.assertFalse(vyos.utils.network.is_loopback_addr('192.0.2.1')) + def test_are_same_ip(self): + self.assertTrue(vyos.utils.network._are_same_ip('192.0.2.1', '192.0.2.1')) + self.assertFalse(vyos.utils.network._are_same_ip('192.0.2.1', '192.0.2.2')) + self.assertTrue(vyos.utils.network._are_same_ip('::1', '::1')) + self.assertFalse(vyos.utils.network._are_same_ip('::1', '::2')) + # mixed address families must never compare equal, and must not raise + self.assertFalse(vyos.utils.network._are_same_ip('192.0.2.1', '::1')) + self.assertFalse(vyos.utils.network._are_same_ip('::1', '192.0.2.1')) + def test_check_port_availability(self): self.assertTrue(vyos.utils.network.check_port_availability('::1', 8080)) self.assertTrue(vyos.utils.network.check_port_availability('127.0.0.1', 8080)) -- cgit v1.2.3