Fix the link local check when trying to add a link local gateway

Ticket #2071
This commit is contained in:
smos 2012-03-13 20:39:42 +01:00
parent 4096fe5da7
commit 2a9cb3b2a8

View File

@ -123,13 +123,13 @@ if ($_POST) {
}
}
if(is_ipaddrv6($_POST['gateway'])) {
$parent_ip = get_interface_ipv6($_POST['interface']);
$parent_sn = get_interface_subnetv6($_POST['interface']);
if(empty($parent_ip) || empty($parent_sn)) {
$input_errors[] = gettext("You can not use a IPv4 Gateway Address on a IPv6 only interface.");
} else {
/* do not do a subnet match on a link local address, it's valid */
if(! preg_match("/fe80::/", $_POST['gateway'])) {
/* do not do a subnet match on a link local address, it's valid */
if(! preg_match("/fe80::/", $_POST['gateway'])) {
$parent_ip = get_interface_ipv6($_POST['interface']);
$parent_sn = get_interface_subnetv6($_POST['interface']);
if(empty($parent_ip) || empty($parent_sn)) {
$input_errors[] = gettext("You can not use a IPv4 Gateway Address on a IPv6 only interface.");
} else {
$subnet = gen_subnetv6($parent_ip, $parent_sn) . "/" . $parent_sn;
if(!ip_in_subnet($_POST['gateway'], $subnet))
$input_errors[] = sprintf(gettext("The gateway address %1\$s does not lie within the chosen interface's subnet '%2\$s'."), $_POST['gateway'],$subnet);