mirror of
https://github.com/pfsense/pfsense.git
synced 2025-10-26 11:38:35 +00:00
Fix the link local check when trying to add a link local gateway
Ticket #2071
This commit is contained in:
parent
4096fe5da7
commit
2a9cb3b2a8
@ -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);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user