diff options
author | Renato Botelho <renato@netgate.com> | 2016-02-19 08:28:44 -0200 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2016-02-19 10:57:32 -0200 |
commit | 2bf455caa3aaca83287309b6a7629c7d3a328652 (patch) | |
tree | d86087d0db6abc692d570e9f2dde7067675b0ffb /src/usr/local/www/services_dhcpv6_edit.php | |
parent | 934b8a98b29b01978f6d36d9487423df1b2f7339 (diff) | |
download | pfsense-2bf455caa3aaca83287309b6a7629c7d3a328652.zip pfsense-2bf455caa3aaca83287309b6a7629c7d3a328652.tar.gz |
Ticket #3029
Import patch from @Robert-Nelson to enable DHCPv6 Server/RA to
interfaces configured to track DHCP-PD
This patch only works for PD with length 64
Diffstat (limited to 'src/usr/local/www/services_dhcpv6_edit.php')
-rw-r--r-- | src/usr/local/www/services_dhcpv6_edit.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/usr/local/www/services_dhcpv6_edit.php b/src/usr/local/www/services_dhcpv6_edit.php index f8c26da..b26ba9d 100644 --- a/src/usr/local/www/services_dhcpv6_edit.php +++ b/src/usr/local/www/services_dhcpv6_edit.php @@ -155,8 +155,13 @@ if ($_POST) { } } } - if (($_POST['ipaddrv6'] && !is_ipaddrv6($_POST['ipaddrv6']))) { - $input_errors[] = gettext("A valid IPv6 address must be specified."); + if ($_POST['ipaddrv6']) { + if (!is_ipaddrv6($_POST['ipaddrv6'])) { + $input_errors[] = gettext("A valid IPv6 address must be specified."); + } elseif ($config['interfaces'][$if]['ipaddrv6'] == 'track6' && + !Net_IPv6::isInNetmask($_POST['ipaddrv6'], '::', 64)) { + $input_errors[] = gettext("The prefix (upper 64 bits) must be zero. Use the form ::x:x:x:x"); + } } if (empty($_POST['duid'])) { |