]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
network-functions.pl: fix network membership test
authorPeter Müller <peter.mueller@ipfire.org>
Sat, 25 Jul 2020 19:08:07 +0000 (19:08 +0000)
committerArne Fitzenreiter <arne_f@ipfire.org>
Tue, 28 Jul 2020 18:37:25 +0000 (18:37 +0000)
This is based on an orphaned patch provided by Tim FitzGeorge and
_finally_ fixes incorrect network membership calculations. Those were
are usability pain in the ass deluxe, as they rendered some combinations
of configuring OpenVPN and IPsec services unusable.

Fixes: #11235
Fixes: #12263
Cc: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Cc: Michael Tremer <michael.tremer@ipfire.org>
Cc: Alexander Marx <alexander.marx@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
config/cfgroot/network-functions.pl

index 8649d05023adebc4256d1600c94d8f74482ec8a3..b6f994522e1c55ee849cf301f41fe737dd4de209 100644 (file)
@@ -115,7 +115,7 @@ sub network_equal {
                return undef;
        }
 
-       if ($bin1[0] eq $bin2[0] && $bin1[1] eq $bin2[1]) {
+       if ($bin1[0] == $bin2[0] && $bin1[1] == $bin2[1]) {
                return 1;
        }
 
@@ -295,7 +295,7 @@ sub ip_address_in_network($$) {
        # Find end address
        my $broadcast_bin = $network_bin ^ (~$netmask_bin % 2 ** 32);
 
-       return (($address_bin ge $network_bin) && ($address_bin le $broadcast_bin));
+       return (($address_bin >= $network_bin) && ($address_bin <= $broadcast_bin));
 }
 
 sub setup_upstream_proxy() {