diff options
author | jim-p <jimp@pfsense.org> | 2013-05-31 21:22:54 -0400 |
---|---|---|
committer | jim-p <jimp@pfsense.org> | 2013-05-31 21:22:54 -0400 |
commit | f79a5df0733fe17d4a938381e9175fa2e2abefb1 (patch) | |
tree | 1b3ddddc7254e04379bd398fd65737ebbbdfe8aa /etc/inc/services.inc | |
parent | 5789e9f8373bb94e340c5176a1e87b11e44b9b17 (diff) | |
download | pfsense-f79a5df0733fe17d4a938381e9175fa2e2abefb1.zip pfsense-f79a5df0733fe17d4a938381e9175fa2e2abefb1.tar.gz |
Don't use invalid or IPv6 DNS servers when crafting DHCP DDNS Zones. Fixes #3015
Diffstat (limited to 'etc/inc/services.inc')
-rw-r--r-- | etc/inc/services.inc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/etc/inc/services.inc b/etc/inc/services.inc index a18718c..5949c1e 100644 --- a/etc/inc/services.inc +++ b/etc/inc/services.inc @@ -851,6 +851,15 @@ EOD; continue; $primary = $zone['dns-servers'][0]; $secondary = empty($zone['dns-servers'][1]) ? "" : $zone['dns-servers'][1]; + // Make sure we aren't using any invalid or IPv6 DNS servers. + if (!is_ipaddrv4($primary)) { + if (is_ipaddrv4($secondary)) { + $primary = $secondary; + $secondary = ""; + } else { + continue; + } + } // We don't need to add zones multiple times. if (!in_array($zone['domain-name'], $added_zones)) { $dhcpdconf .= "zone {$zone['domain-name']} {\n"; |