diff options
author | Martin Fuchs <mfuchs@pfsense.org> | 2007-08-07 13:28:09 +0000 |
---|---|---|
committer | Martin Fuchs <mfuchs@pfsense.org> | 2007-08-07 13:28:09 +0000 |
commit | 9be23653c4a3fab139d945cd9a484621ea70af66 (patch) | |
tree | ab1c8d113f66b49dead8afd6e320ffcd51e93ad1 | |
parent | 4d8bf8cae622c021b1e5e1af7b77cf7e8ef4c846 (diff) | |
download | pfsense-9be23653c4a3fab139d945cd9a484621ea70af66.zip pfsense-9be23653c4a3fab139d945cd9a484621ea70af66.tar.gz |
DHCP: add Domain-Searchlist-Option
-rw-r--r-- | etc/inc/services.inc | 11 | ||||
-rwxr-xr-x | usr/local/www/services_dhcp.php | 18 |
2 files changed, 21 insertions, 8 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc index a065167..1f097b3 100644 --- a/etc/inc/services.inc +++ b/etc/inc/services.inc @@ -114,6 +114,7 @@ function services_dhcpd_configure() { $dhcpdconf = <<<EOD option domain-name "{$syscfg['domain']}"; option ldap-server code 95 = text; +option domain-search-list code 119 = text; default-lease-time 7200; max-lease-time 86400; log-facility local7; @@ -212,6 +213,11 @@ EOPP; if ($dhcpifconf['domain']) { $dnscfg .= " option domain-name \"{$dhcpifconf['domain']}\";\n"; } + + if($dhcpifconf['domainsearchlist'] <> "") { + $dnscfg .= " option domain-search-list \"{$dhcpifconf['domainsearchlist']}\";\n"; + } + if (isset($dhcpifconf['ddnsupdate'])) { if($dhcpifconf['ddnsdomain'] <> "") { $dnscfg .= " ddns-domainname \"{$dhcpifconf['ddnsdomain']}\";\n"; @@ -219,7 +225,6 @@ EOPP; $dnscfg .= " ddns-update-style interim;\n"; } - if (is_array($dhcpifconf['dnsserver']) && ($dhcpifconf['dnsserver'][0])) { $dnscfg .= " option domain-name-servers " . join(",", $dhcpifconf['dnsserver']) . ";"; } else if (isset($config['dnsmasq']['enable'])) { @@ -262,8 +267,8 @@ EOPP; $dnscfg EOD; - - if ($dhcpifconf['defaultleasetime']) + + if ($dhcpifconf['defaultleasetime']) $dhcpdconf .= " default-lease-time {$dhcpifconf['defaultleasetime']};\n"; if ($dhcpifconf['maxleasetime']) $dhcpdconf .= " max-lease-time {$dhcpifconf['maxleasetime']};\n"; diff --git a/usr/local/www/services_dhcp.php b/usr/local/www/services_dhcp.php index 35f8155..30481e2 100755 --- a/usr/local/www/services_dhcp.php +++ b/usr/local/www/services_dhcp.php @@ -66,6 +66,7 @@ $pconfig['deftime'] = $config['dhcpd'][$if]['defaultleasetime']; $pconfig['maxtime'] = $config['dhcpd'][$if]['maxleasetime']; $pconfig['gateway'] = $config['dhcpd'][$if]['gateway']; $pconfig['domain'] = $config['dhcpd'][$if]['domain']; +$pconfig['domainsearchlist'] = $config['dhcpd'][$if]['domainsearchlist']; list($pconfig['wins1'],$pconfig['wins2']) = $config['dhcpd'][$if]['winsserver']; list($pconfig['dns1'],$pconfig['dns2']) = $config['dhcpd'][$if]['dnsserver']; $pconfig['enable'] = isset($config['dhcpd'][$if]['enable']); @@ -205,6 +206,7 @@ if ($_POST) { $config['dhcpd'][$if]['gateway'] = $_POST['gateway']; $config['dhcpd'][$if]['domain'] = $_POST['domain']; + $config['dhcpd'][$if]['domainsearchlist'] = $_POST['domainsearchlist']; $config['dhcpd'][$if]['denyunknown'] = ($_POST['denyunknown']) ? true : false; $config['dhcpd'][$if]['enable'] = ($_POST['enable']) ? true : false; $config['dhcpd'][$if]['staticarp'] = ($_POST['staticarp']) ? true : false; @@ -293,6 +295,7 @@ function enable_change(enable_over) { document.iform.gateway.disabled = endis; document.iform.failover_peerip.disabled = endis; document.iform.domain.disabled = endis; + document.iform.domainsearchlist.disabled = endis; document.iform.staticarp.disabled = endis; document.iform.ddnsdomain.disabled = endis; document.iform.ddnsupdate.disabled = endis; @@ -454,7 +457,7 @@ function show_netboot_config() { The default is to use the IP of the firewall as the gateway. Specify an alternate gateway here if this is not the correct gateway for your network. </td> </tr> - <tr> + <tr> <td width="22%" valign="top" class="vncell">Domain-Name</td> <td width="78%" class="vtable"> <input name="domain" type="text" class="formfld" id="domain" size="20" value="<?=htmlspecialchars($pconfig['domain']);?>"><br> @@ -462,8 +465,14 @@ function show_netboot_config() { </td> </tr> <tr> - <td width="22%" valign="top" class="vncell">Default lease - time</td> + <td width="22%" valign="top" class="vncell">Domain-Searchlist</td> + <td width="78%" class="vtable"> + <input name="domainsearchlist" type="text" class="formfld" id="domainsearchlist" size="20" value="<?=htmlspecialchars($pconfig['domainsearchlist']);?>"><br> + DNS-Searchlist: the DHCP server can serve a list of domains to be searched. + </td> + </tr> + <tr> + <td width="22%" valign="top" class="vncell">Default lease time</td> <td width="78%" class="vtable"> <input name="deftime" type="text" class="formfld" id="deftime" size="10" value="<?=htmlspecialchars($pconfig['deftime']);?>"> seconds<br> @@ -473,8 +482,7 @@ function show_netboot_config() { </td> </tr> <tr> - <td width="22%" valign="top" class="vncell">Maximum lease - time</td> + <td width="22%" valign="top" class="vncell">Maximum lease time</td> <td width="78%" class="vtable"> <input name="maxtime" type="text" class="formfld" id="maxtime" size="10" value="<?=htmlspecialchars($pconfig['maxtime']);?>"> seconds<br> |