summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRuben Herold <ruben@puettmann.net>2026-08-07 22:56:21 +0200
committerRuben Herold <ruben@puettmann.net>2026-08-07 22:56:21 +0200
commitf968d22867beb2ea44a6e6716e2fb40e73a68b39 (patch)
tree3ad618b1a3b98ca09c6213a1650c3eda13208b62 /src
parent278fba204200f02bb461f786f889b40dc38a26f6 (diff)
downloadvyos-1x-f968d22867beb2ea44a6e6716e2fb40e73a68b39.tar.gz
vyos-1x-f968d22867beb2ea44a6e6716e2fb40e73a68b39.zip
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.
Diffstat (limited to 'src')
-rw-r--r--src/tests/test_utils_network.py9
1 files changed, 9 insertions, 0 deletions
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))