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:23:41 -0400 |
commit | 9399370b367df7b73b84d605f4f44599c93b0bbe (patch) | |
tree | 9248b08188a5f7dd1775a719b3f3ca4d610c7df9 /etc/inc | |
parent | 1407f6a82e24fdb8a5c20759d1e883c89ced6331 (diff) | |
download | pfsense-9399370b367df7b73b84d605f4f44599c93b0bbe.zip pfsense-9399370b367df7b73b84d605f4f44599c93b0bbe.tar.gz |
Don't use invalid or IPv6 DNS servers when crafting DHCP DDNS Zones. Fixes #3015
Diffstat (limited to 'etc/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 db18ef5..dbffe39 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"; |