diff options
author | Renato Botelho <renato@netgate.com> | 2016-12-27 17:37:57 -0200 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2016-12-27 17:37:57 -0200 |
commit | 5ae621d8eafc66617e48f49c16deacaf20f754c3 (patch) | |
tree | a0fb7f565a46fd3ab0b2eb1fed038ca9c6f1fe44 | |
parent | 17a6140d4340f148f6adbfc83ba162fea32d6f9b (diff) | |
parent | 11ee0c6d6f311215411cc0d15298ad075864ad2e (diff) | |
download | pfsense-5ae621d8eafc66617e48f49c16deacaf20f754c3.zip pfsense-5ae621d8eafc66617e48f49c16deacaf20f754c3.tar.gz |
Merge pull request #3307 from blkeller/ignore-client-uids
-rw-r--r-- | src/etc/inc/services.inc | 5 | ||||
-rw-r--r-- | src/usr/local/www/services_dhcp.php | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/etc/inc/services.inc b/src/etc/inc/services.inc index 2633955..ffabbbd 100644 --- a/src/etc/inc/services.inc +++ b/src/etc/inc/services.inc @@ -885,6 +885,11 @@ EOPP; $dhcpdconf .= " ignore bootp;\n"; } + // ignore-client-uids + if (isset($poolconf['ignoreclientuids'])) { + $dhcpdconf .= " ignore-client-uids true;\n"; + } + // netbios-name* if (is_array($poolconf['winsserver']) && $poolconf['winsserver'][0] && ($poolconf['winsserver'][0] != $dhcpifconf['winsserver'][0])) { $dhcpdconf .= " option netbios-name-servers " . join(",", $poolconf['winsserver']) . ";\n"; diff --git a/src/usr/local/www/services_dhcp.php b/src/usr/local/www/services_dhcp.php index bb31e60..426f1c3 100644 --- a/src/usr/local/www/services_dhcp.php +++ b/src/usr/local/www/services_dhcp.php @@ -183,6 +183,7 @@ if (is_array($dhcpdconf)) { list($pconfig['dns1'], $pconfig['dns2'], $pconfig['dns3'], $pconfig['dns4']) = $dhcpdconf['dnsserver']; $pconfig['ignorebootp'] = isset($dhcpdconf['ignorebootp']); $pconfig['denyunknown'] = isset($dhcpdconf['denyunknown']); + $pconfig['ignoreclientuids'] = isset($dhcpdconf['ignoreclientuids']); $pconfig['nonak'] = isset($dhcpdconf['nonak']); $pconfig['ddnsdomain'] = $dhcpdconf['ddnsdomain']; $pconfig['ddnsdomainprimary'] = $dhcpdconf['ddnsdomainprimary']; @@ -556,6 +557,7 @@ if (isset($_POST['save'])) { $dhcpdconf['domainsearchlist'] = $_POST['domainsearchlist']; $dhcpdconf['ignorebootp'] = ($_POST['ignorebootp']) ? true : false; $dhcpdconf['denyunknown'] = ($_POST['denyunknown']) ? true : false; + $dhcpdconf['ignoreclientuids'] = ($_POST['ignoreclientuids']) ? true : false; $dhcpdconf['nonak'] = ($_POST['nonak']) ? true : false; $dhcpdconf['ddnsdomain'] = $_POST['ddnsdomain']; $dhcpdconf['ddnsdomainprimary'] = $_POST['ddnsdomainprimary']; @@ -827,6 +829,13 @@ $section->addInput(new Form_Checkbox( $pconfig['nonak'] ))->setHelp("This option is not compatible with failover and cannot be enabled when a Failover Peer IP address is configured."); +$section->addInput(new Form_Checkbox( + 'ignoreclientuids', + 'Ignore client identifiers', + 'If a client includes a unique identifier in its DHCP request, that UID will not be recorded in its lease.', + $pconfig['ignoreclientuids'] +))->setHelp("This option may be useful when a client can dual boot using different client identifiers but the same hardware (MAC) address. Note that the resulting server behavior violates the official DHCP specification."); + if (is_numeric($pool) || ($act == "newpool")) { $section->addInput(new Form_Input( |