summaryrefslogtreecommitdiffstats
path: root/etc/inc/system.inc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2005-12-04 18:32:28 +0000
committerScott Ullrich <sullrich@pfsense.org>2005-12-04 18:32:28 +0000
commit3d00ccaaab8263752cd343dea55b7bd0072a3fae (patch)
tree11f9cb9248fd8ac705c0684d1368f6dd0c3f9fe7 /etc/inc/system.inc
parentd6ee4ccf4499351c791792e910927255fa030be4 (diff)
downloadpfsense-3d00ccaaab8263752cd343dea55b7bd0072a3fae.zip
pfsense-3d00ccaaab8263752cd343dea55b7bd0072a3fae.tar.gz
* Add get_nameservers() which processes /var/etc/nameserver_$interface
* Use get_nameservers() instead of nameserver.conf since we may be in a multi-wan situation * Only populate $master_list when item is <> ""
Diffstat (limited to 'etc/inc/system.inc')
-rw-r--r--etc/inc/system.inc29
1 files changed, 18 insertions, 11 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc
index 04d01d1..76f76e7 100644
--- a/etc/inc/system.inc
+++ b/etc/inc/system.inc
@@ -53,17 +53,11 @@ function system_resolvconf_generate($dynupdate = false) {
if (isset($syscfg['dnsallowoverride'])) {
/* get dynamically assigned DNS servers (if any) */
- $nfd = @fopen("{$g['varetc_path']}/nameservers.conf", "r");
- if ($nfd) {
- while (!feof($nfd)) {
- $dnss = trim(fgets($nfd));
- if ($dnss) {
- $resolvconf .= "nameserver $dnss\n";
- $havedns = true;
- }
- }
- fclose($nfd);
- }
+ $ns = get_nameservers();
+ foreach($ns as $nameserver) {
+ $resolvconf .= "nameserver $nameserver\n";
+ $havedns = true;
+ }
}
if (!$havedns && is_array($syscfg['dnsserver'])) {
foreach ($syscfg['dnsserver'] as $ns) {
@@ -85,6 +79,19 @@ function system_resolvconf_generate($dynupdate = false) {
return 0;
}
+function get_nameservers() {
+ global $config, $g;
+ $master_list = array();
+ $dns_lists = split("\n", `ls /var/etc/nameserver_*`);
+ foreach($dns_lists as $dns) {
+ $items = split("\n", file_get_contents($dns));
+ foreach($items as $item)
+ if($item <> "")
+ $master_list[] = $item;
+ }
+ return $master_list;
+}
+
function system_hosts_generate() {
global $config, $g;
if(isset($config['system']['developerspew'])) {
OpenPOWER on IntegriCloud