summaryrefslogtreecommitdiffstats
path: root/usr/local/www/services_dhcp_edit.php
diff options
context:
space:
mode:
authorErik Fonnesbeck <efonnes@gmail.com>2010-05-20 10:48:39 -0600
committerErik Fonnesbeck <efonnes@gmail.com>2010-05-20 10:55:02 -0600
commit9603306327f07205ac69ea99b8c0666ba9dc8a1d (patch)
tree105765d1e09bbb9eea4dacfb7ff0f2cb1f943a89 /usr/local/www/services_dhcp_edit.php
parent986a3accd40a7d45c0a3d48d2b42d2c58a231d99 (diff)
downloadpfsense-9603306327f07205ac69ea99b8c0666ba9dc8a1d.zip
pfsense-9603306327f07205ac69ea99b8c0666ba9dc8a1d.tar.gz
Various fixes to usage of ip2long, long2ip, and negated subnet masks, mostly affecting 64-bit. Ticket #459
Diffstat (limited to 'usr/local/www/services_dhcp_edit.php')
-rwxr-xr-xusr/local/www/services_dhcp_edit.php12
1 files changed, 6 insertions, 6 deletions
diff --git a/usr/local/www/services_dhcp_edit.php b/usr/local/www/services_dhcp_edit.php
index d44fb9b..86fefe3 100755
--- a/usr/local/www/services_dhcp_edit.php
+++ b/usr/local/www/services_dhcp_edit.php
@@ -140,12 +140,12 @@ if ($_POST) {
/* make sure it's not within the dynamic subnet */
if ($_POST['ipaddr']) {
- $dynsubnet_start = ip2long($config['dhcpd'][$if]['range']['from']);
- $dynsubnet_end = ip2long($config['dhcpd'][$if]['range']['to']);
- $lansubnet_start = (ip2long($ifcfgip) & gen_subnet_mask_long($ifcfgsn));
- $lansubnet_end = (ip2long($ifcfgip) | (~gen_subnet_mask_long($ifcfgsn)));
- if ((ip2long($_POST['ipaddr']) < $lansubnet_start) ||
- (ip2long($_POST['ipaddr']) > $lansubnet_end)) {
+ $dynsubnet_start = ip2ulong($config['dhcpd'][$if]['range']['from']);
+ $dynsubnet_end = ip2ulong($config['dhcpd'][$if]['range']['to']);
+ $lansubnet_start = ip2ulong(long2ip32(ip2long($ifcfgip) & gen_subnet_mask_long($ifcfgsn)));
+ $lansubnet_end = ip2ulong(long2ip32(ip2long($ifcfgip) | (~gen_subnet_mask_long($ifcfgsn))));
+ if ((ip2ulong($_POST['ipaddr']) < $lansubnet_start) ||
+ (ip2ulong($_POST['ipaddr']) > $lansubnet_end)) {
$input_errors[] = "The IP address must lie in the {$ifcfgdescr} subnet.";
}
}
OpenPOWER on IntegriCloud