diff --git a/src/usr/local/bin/dhcpd_gather_stats.php b/src/usr/local/bin/dhcpd_gather_stats.php index 8903559432..e0fae95787 100644 --- a/src/usr/local/bin/dhcpd_gather_stats.php +++ b/src/usr/local/bin/dhcpd_gather_stats.php @@ -190,7 +190,9 @@ if (is_array($config['dhcpd'][$argv[1]])) { $subnet_start = gen_subnetv4($ifcfgip, $ifcfgsn); $subnet_end = gen_subnetv4_max($ifcfgip, $ifcfgsn); - $result['range'] = (ip2ulong($config['dhcpd'][$dhcpif]['range']['to'])) - (ip2ulong($config['dhcpd'][$dhcpif]['range']['from'])); + $result['range'] = ip_range_size_v4( + $config['dhcpd'][$dhcpif]['range']['from'], + $config['dhcpd'][$dhcpif]['range']['to']); foreach ($leases as $data) { if ($data['act'] != "active" && $data['act'] != "static" && $_GET['all'] != 1) diff --git a/src/usr/local/www/services_dhcp_edit.php b/src/usr/local/www/services_dhcp_edit.php index 996a1eec59..ae743eff49 100644 --- a/src/usr/local/www/services_dhcp_edit.php +++ b/src/usr/local/www/services_dhcp_edit.php @@ -249,19 +249,17 @@ if ($_POST) { } } - $lansubnet_start = ip2ulong(gen_subnetv4($ifcfgip, $ifcfgsn)); - $lansubnet_end = ip2ulong(gen_subnetv4_max($ifcfgip, $ifcfgsn)); - $ipaddr_int = ip2ulong($_POST['ipaddr']); - if (($ipaddr_int < $lansubnet_start) || - ($ipaddr_int > $lansubnet_end)) { + $lansubnet_start = gen_subnetv4($ifcfgip, $ifcfgsn); + $lansubnet_end = gen_subnetv4_max($ifcfgip, $ifcfgsn); + if (!is_inrange_v4($_POST['ipaddr'], $lansubnet_start, $lansubnet_end)) { $input_errors[] = sprintf(gettext("The IP address must lie in the %s subnet."), $ifcfgdescr); } - if ($ipaddr_int == $lansubnet_start) { + if ($_POST['ipaddr'] == $lansubnet_start) { $input_errors[] = sprintf(gettext("The IP address cannot be the %s network address."), $ifcfgdescr); } - if ($ipaddr_int == $lansubnet_end) { + if ($_POST['ipaddr'] == $lansubnet_end) { $input_errors[] = sprintf(gettext("The IP address cannot be the %s broadcast address."), $ifcfgdescr); } }