mirror of
https://github.com/lucaspalomodevelop/core.git
synced 2026-03-17 01:54:49 +00:00
interfaces: actually, use get_nameservers() for *all* interfaces
It has the added benefit of grabbing the correct servers provided for all upstream interfaces. PR: https://github.com/opnsense/core/issues/3020
This commit is contained in:
parent
c65f2f5879
commit
a22c63a67c
@ -304,22 +304,24 @@ function get_dns_servers()
|
||||
return array_unique($dns_servers);
|
||||
}
|
||||
|
||||
function get_nameservers()
|
||||
function get_nameservers($realif = '')
|
||||
{
|
||||
$master_list = array();
|
||||
|
||||
$dns_lists = glob('/var/etc/nameserver_*');
|
||||
$dns_listsv4 = glob("/var/etc/nameserver_{$realif}*");
|
||||
/* XXX not a great design, please switch */
|
||||
$dns_listsv6 = glob("/var/etc/nameserver_v6{$realif}*");
|
||||
|
||||
if (is_array($dns_lists)) {
|
||||
foreach ($dns_lists as $fdns) {
|
||||
$contents = file($fdns, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
||||
if (!is_array($contents)) {
|
||||
continue;
|
||||
}
|
||||
foreach ($contents as $dns) {
|
||||
if (!empty($dns) && is_ipaddr($dns)) {
|
||||
$master_list[] = $dns;
|
||||
}
|
||||
$dns_lists = array_unique(array_merge($dns_listsv4, $dns_listsv6));
|
||||
|
||||
foreach ($dns_lists as $fdns) {
|
||||
$contents = file($fdns, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
|
||||
if (!is_array($contents)) {
|
||||
continue;
|
||||
}
|
||||
foreach ($contents as $dns) {
|
||||
if (!empty($dns) && is_ipaddr($dns)) {
|
||||
$master_list[] = $dns;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -328,6 +328,19 @@ include("head.inc");
|
||||
<td><?= gettext("Gateway IPv6") ?></td>
|
||||
<td><?= htmlspecialchars($config['interfaces'][$ifdescr]['gatewayv6']) ?> <?= $ifinfo['gatewayv6'] ?></td>
|
||||
</tr>
|
||||
<?php
|
||||
endif;
|
||||
$dnsv4 = get_nameservers(get_real_interface($ifdescr));
|
||||
$dnsv6 = get_nameservers(get_real_interface($ifdescr, 'inet6'));
|
||||
$dnsall = array_unique(array_merge($dnsv4, $dnsv6));
|
||||
if (count($dnsall)): ?>
|
||||
<tr>
|
||||
<td><?= gettext("DNS servers") ?></td>
|
||||
<td>
|
||||
<?php
|
||||
echo implode('<br />', $dnsall); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
endif;
|
||||
endif;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user