summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Botelho <renato@netgate.com>2016-12-27 17:37:57 -0200
committerRenato Botelho <renato@netgate.com>2016-12-27 17:37:57 -0200
commit5ae621d8eafc66617e48f49c16deacaf20f754c3 (patch)
treea0fb7f565a46fd3ab0b2eb1fed038ca9c6f1fe44
parent17a6140d4340f148f6adbfc83ba162fea32d6f9b (diff)
parent11ee0c6d6f311215411cc0d15298ad075864ad2e (diff)
downloadpfsense-5ae621d8eafc66617e48f49c16deacaf20f754c3.zip
pfsense-5ae621d8eafc66617e48f49c16deacaf20f754c3.tar.gz
Merge pull request #3307 from blkeller/ignore-client-uids
-rw-r--r--src/etc/inc/services.inc5
-rw-r--r--src/usr/local/www/services_dhcp.php9
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(
OpenPOWER on IntegriCloud