summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorSeth Mos <seth.mos@xs4all.nl>2008-11-11 23:26:10 +0000
committerSeth Mos <seth.mos@xs4all.nl>2008-11-11 23:26:10 +0000
commitc3f535c07bc88a0ef2f94323980cab3a7531f04c (patch)
treec94ef5d0d6e6b2028940bf923c2ed5e0c8b3e903 /etc
parent04875a4697e38f656a4d185c93bb284f74fe6b80 (diff)
downloadpfsense-c3f535c07bc88a0ef2f94323980cab3a7531f04c.zip
pfsense-c3f535c07bc88a0ef2f94323980cab3a7531f04c.tar.gz
Fix non working static route adding for DNS servers.
Needs to move to system_routing_configure?
Diffstat (limited to 'etc')
-rw-r--r--etc/inc/system.inc68
1 files changed, 37 insertions, 31 deletions
diff --git a/etc/inc/system.inc b/etc/inc/system.inc
index 1993bc1..7d0d507 100644
--- a/etc/inc/system.inc
+++ b/etc/inc/system.inc
@@ -47,11 +47,12 @@ function activate_sysctls() {
}
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'];
@@ -66,47 +67,52 @@ 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();
}
- for($dnscounter=1; $dnscounter<5; $dnscounter++) {
- /* setup static routes for dns servers */
- if($config['system']['dns{$dnscounter}gwint']) {
- $if = $config['system']['dns{$dnscounter}gwint'];
- if($if) {
- $gw = $config['interfaces'][$if]['if'];
+ /* setup static routes for DNS servers. */
+ for ($dnscounter=1; $dnscounter<5; $dnscounter++) {
+ /* setup static routes for dns servers */
+ $dnsgw = "dns{$dnscounter}gwint";
+ if (isset($config['system'][$dnsgw])) {
+ $interface = $config['system'][$dnsgw];
+ if (($interface <> "") && ($interface <> "none")) {
+ $gatewayip = get_interface_gateway($interface);
+ if(is_ipaddr($gatewayip)) {
+ /* dns server array starts at 0 */
$dnscountermo = $dnscounter - 1;
- exec("route delete {$syscfg['dnsserver'][$dnscountermo]}");
- exec("route add {$syscfg['dnsserver'][$dnscountermo]} -gw {$gw}");
+ mwexec("route delete -host {$syscfg['dnsserver'][$dnscountermo]}");
+ mwexec("route add -host {$syscfg['dnsserver'][$dnscountermo]} {$gatewayip}");
}
}
}
-
- return 0;
+ }
+
+ return 0;
}
function get_nameservers() {
@@ -1150,4 +1156,4 @@ function enable_watchdog() {
}
}
-?> \ No newline at end of file
+?>
OpenPOWER on IntegriCloud