summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2013-05-31 21:22:54 -0400
committerjim-p <jimp@pfsense.org>2013-05-31 21:22:54 -0400
commitf79a5df0733fe17d4a938381e9175fa2e2abefb1 (patch)
tree1b3ddddc7254e04379bd398fd65737ebbbdfe8aa
parent5789e9f8373bb94e340c5176a1e87b11e44b9b17 (diff)
downloadpfsense-f79a5df0733fe17d4a938381e9175fa2e2abefb1.zip
pfsense-f79a5df0733fe17d4a938381e9175fa2e2abefb1.tar.gz
Don't use invalid or IPv6 DNS servers when crafting DHCP DDNS Zones. Fixes #3015
-rw-r--r--etc/inc/services.inc9
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";
OpenPOWER on IntegriCloud