summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/etc/inc/util.inc2
-rw-r--r--src/usr/local/www/services_dhcp.php4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/etc/inc/util.inc b/src/etc/inc/util.inc
index 821855f..be6a5e9 100644
--- a/src/etc/inc/util.inc
+++ b/src/etc/inc/util.inc
@@ -392,7 +392,7 @@ function gen_subnetv4_max($ipaddr, $bits) {
if ($bits == 32) {
return $ipaddr;
}
- return long2ip32(ip2long($ipaddr) | ~gen_subnet_mask_long($bits));
+ return long2ip32(ip2long($ipaddr) | (~gen_subnet_mask_long($bits) & 0xFFFFFFFF));
}
return "";
}
diff --git a/src/usr/local/www/services_dhcp.php b/src/usr/local/www/services_dhcp.php
index 333a322..ffcc6b5 100644
--- a/src/usr/local/www/services_dhcp.php
+++ b/src/usr/local/www/services_dhcp.php
@@ -798,10 +798,10 @@ $section->addInput(new Form_StaticText(
));
// Compose a string to display the required address ranges
-$range_from = ip2long(long2ip32(ip2long($ifcfgip) & gen_subnet_mask_long($ifcfgsn)));
+$range_from = ip2long(gen_subnetv4($ifcfgip, $ifcfgsn));
$range_from++;
-$range_to = ip2long(long2ip32(ip2long($ifcfgip) | (~gen_subnet_mask_long($ifcfgsn))));
+$range_to = ip2long(gen_subnetv4_max($ifcfgip, $ifcfgsn));
$range_to--;
$rangestr = long2ip32($range_from) . ' - ' . long2ip32($range_to);
OpenPOWER on IntegriCloud