From: Alexander Marx Date: Tue, 7 Nov 2017 13:17:27 +0000 (+0100) Subject: BUG11466: Fix network_equal function X-Git-Tag: v2.19-core117~1^2~89 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1047805dba564994a96da0adbfb6559a8609ec11;p=people%2Fstevee%2Fipfire-2.x.git BUG11466: Fix network_equal function The network_equal function only tested the subnet addresses of two given networks which lead to errormessages saying "This is the green network" The fix tests netwok and subnet IP's to fix this Signed-off-by: Michael Tremer --- diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl index 93b8190305..25f9af1cad 100644 --- a/config/cfgroot/network-functions.pl +++ b/config/cfgroot/network-functions.pl @@ -108,10 +108,10 @@ sub network_equal { my $network1 = shift; my $network2 = shift; - my $bin1 = &network2bin($network1); - my $bin2 = &network2bin($network2); + my @bin1 = &network2bin($network1); + my @bin2 = &network2bin($network2); - if ($bin1 eq $bin2) { + if ($bin1[0] eq $bin2[0] && $bin1[1] eq $bin2[1]) { return 1; } @@ -457,7 +457,7 @@ sub testsuite() { assert(!$result); $result = &network_equal("192.168.0.1/24", "192.168.0.XXX/24"); - assert($result); + assert(!$result); $result = &ip_address_in_network("10.0.1.4", "10.0.0.0/8"); assert($result);