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 --- config/cfgroot/network-functions.pl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl index 8649d0502..b6f994522 100644 --- a/config/cfgroot/network-functions.pl +++ b/config/cfgroot/network-functions.pl @@ -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() {