Verify that we validate against a ipv6 subnet properly. This should help for static route gateways

This commit is contained in:
Seth Mos 2010-11-02 21:43:07 +01:00
parent 27b82e7cee
commit 7617e245bb

View File

@ -118,12 +118,18 @@ if ($_POST) {
} else {
$parent_ip = get_interface_ip($_POST['interface']);
}
if (is_ipaddr($parent_ip)) {
if (is_ipaddrv4($parent_ip)) {
$parent_sn = get_interface_subnet($_POST['interface']);
if(!ip_in_subnet($_POST['gateway'], gen_subnet($parent_ip, $parent_sn) . "/" . $parent_sn)) {
$input_errors[] = sprintf(gettext("The gateway address %s does not lie within the chosen interface's subnet."), $_POST['gateway']);
}
}
if (is_ipaddrv6($parent_ip)) {
$parent_sn = get_interface_subnetv6($_POST['interface']);
if(!ip_in_subnet($_POST['gateway'], gen_subnetv6($parent_ip, $parent_sn) . "/" . $parent_sn)) {
$input_errors[] = sprintf(gettext("The gateway address %s does not lie within the chosen interface's subnet."), $_POST['gateway']);
}
}
}
if (($_POST['monitor'] <> "") && !is_ipaddr($_POST['monitor']) && $_POST['monitor'] != "dynamic") {
$input_errors[] = gettext("A valid monitor IP address must be specified.");