]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - config/cfgroot/network-functions.pl
python3-pyasn1: New package as required by aws-cli
[ipfire-2.x.git] / config / cfgroot / network-functions.pl
index 93b8190305abb93a7d29e0c8a117e22d7e46b6e9..2902aabb04ac649d1260054039c4b43534e7ff4e 100644 (file)
@@ -108,10 +108,14 @@ 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 (!defined $bin1 || !defined $bin2) {
+               return undef;
+       }
+
+       if ($bin1[0] eq $bin2[0] && $bin1[1] eq $bin2[1]) {
                return 1;
        }
 
@@ -133,6 +137,10 @@ sub network2bin($) {
        my $address_bin = &ip2bin($address);
        my $netmask_bin = &ip2bin($netmask);
 
+       if (!defined $address_bin || !defined $netmask_bin) {
+               return undef;
+       }
+
        my $network_start = $address_bin & $netmask_bin;
 
        return ($network_start, $netmask_bin);
@@ -457,7 +465,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);