From: Alexander Marx Date: Tue, 7 Nov 2017 13:15:38 +0000 (+0100) Subject: BUG11466: Fix network_equal function X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2FBUG11466;p=people%2Famarx%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 --- diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl index 93b819030..25f9af1ca 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);