summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorScott Ullrich <sullrich@pfsense.org>2007-12-08 23:05:08 +0000
committerScott Ullrich <sullrich@pfsense.org>2007-12-08 23:05:08 +0000
commite180a6e3cd100ae365037b5b1da08f1be473107f (patch)
tree7aaa9103d1f113c64f38f91c9e7ceb3d53e90117 /etc
parent421f8b5faa721658b5f55d4ca6dc0334f260f450 (diff)
downloadpfsense-e180a6e3cd100ae365037b5b1da08f1be473107f.zip
pfsense-e180a6e3cd100ae365037b5b1da08f1be473107f.tar.gz
When multiple gateways are present (muliwan) show a dropdown box next to each dns server allowing the operator to select which gateway the dns server should use to resolve addresses.
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/system.inc56
1 files changed, 34 insertions, 22 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc
index a66ee08..63a0dc3 100644
--- a/etc/inc/system.inc
+++ b/etc/inc/system.inc
@@ -94,11 +94,11 @@ EOFF;
}
function system_resolvconf_generate($dynupdate = false) {
- global $config, $g;
- if(isset($config['system']['developerspew'])) {
- $mt = microtime();
- echo "system_resolvconf_generate() being called $mt\n";
- }
+ global $config, $g;
+ if(isset($config['system']['developerspew'])) {
+ $mt = microtime();
+ echo "system_resolvconf_generate() being called $mt\n";
+ }
$syscfg = $config['system'];
@@ -113,33 +113,45 @@ function system_resolvconf_generate($dynupdate = false) {
$havedns = false;
if (isset($syscfg['dnsallowoverride'])) {
- /* get dynamically assigned DNS servers (if any) */
- $ns = array_unique(get_nameservers());
- foreach($ns as $nameserver) {
- if($nameserver) {
- $resolvconf .= "nameserver $nameserver\n";
- $havedns = true;
+ /* get dynamically assigned DNS servers (if any) */
+ $ns = array_unique(get_nameservers());
+ foreach($ns as $nameserver) {
+ if($nameserver) {
+ $resolvconf .= "nameserver $nameserver\n";
+ $havedns = true;
+ }
}
- }
}
if (!$havedns && is_array($syscfg['dnsserver'])) {
- foreach ($syscfg['dnsserver'] as $ns) {
- if ($ns) {
- $resolvconf .= "nameserver $ns\n";
- $havedns = true;
+ foreach ($syscfg['dnsserver'] as $ns) {
+ if ($ns) {
+ $resolvconf .= "nameserver $ns\n";
+ $havedns = true;
+ }
}
- }
- }
+ }
fwrite($fd, $resolvconf);
fclose($fd);
if (!$g['booting']) {
- /* restart dhcpd (nameservers may have changed) */
- if (!$dynupdate)
- services_dhcpd_configure();
+ /* restart dhcpd (nameservers may have changed) */
+ if (!$dynupdate)
+ services_dhcpd_configure();
}
+ /* setup static routes for dns servers */
+ if($config['system']['dns1gwint']) {
+ $if = $config['system']['dns1gwint'];
+ $gw = $config['interfaces'][$if]['if'];
+ exec("route add {$syscfg['dnsserver'][0]} -gw {$gw}");
+ }
+ if($config['system']['dns2gwint']) {
+ $if = $config['system']['dns2gwint'];
+ $gw = $config['interfaces'][$if]['if'];
+ exec("route add {$syscfg['dnsserver'][1]} -gw {$gw}");
+ }
+
return 0;
}
@@ -1299,4 +1311,4 @@ function enable_watchdog() {
}
}
-?>
+?> \ No newline at end of file
OpenPOWER on IntegriCloud