diff options
author | Scott Ullrich <sullrich@pfsense.org> | 2005-12-04 18:32:28 +0000 |
---|---|---|
committer | Scott Ullrich <sullrich@pfsense.org> | 2005-12-04 18:32:28 +0000 |
commit | 3d00ccaaab8263752cd343dea55b7bd0072a3fae (patch) | |
tree | 11f9cb9248fd8ac705c0684d1368f6dd0c3f9fe7 /etc/inc/system.inc | |
parent | d6ee4ccf4499351c791792e910927255fa030be4 (diff) | |
download | pfsense-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.inc | 29 |
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'])) { |