]> git.proxmox.com Git - pve-common.git/commitdiff
network: is_ip_in_cidr: correctly handle the CIDR being a singleton range
authorFabian Ebner <f.ebner@proxmox.com>
Mon, 10 May 2021 12:18:13 +0000 (14:18 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 17 Jun 2021 13:17:37 +0000 (15:17 +0200)
i.e.  is_ip_in_cidr('127.0.0.1', '127.0.0.1/32', 4) should return 1;

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
src/PVE/Network.pm

index 38019f7e3aedff5db8a52821947ad639f74db291..366d24236d52f2d3a7be06832942b7baaa23acb2 100644 (file)
@@ -592,7 +592,9 @@ sub is_ip_in_cidr {
     my $ip_obj = Net::IP->new($ip, $version);
     return undef if !$ip_obj;
 
-    return $cidr_obj->overlaps($ip_obj) == $Net::IP::IP_B_IN_A_OVERLAP;
+    my $overlap = $cidr_obj->overlaps($ip_obj);
+
+    return $overlap == $Net::IP::IP_B_IN_A_OVERLAP || $overlap == $Net::IP::IP_IDENTICAL;
 }