summaryrefslogtreecommitdiffstats
path: root/etc/inc
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:23:41 -0400
commit9399370b367df7b73b84d605f4f44599c93b0bbe (patch)
tree9248b08188a5f7dd1775a719b3f3ca4d610c7df9 /etc/inc
parent1407f6a82e24fdb8a5c20759d1e883c89ced6331 (diff)
downloadpfsense-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.inc9
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";
OpenPOWER on IntegriCloud