summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Buechler <cmb@pfsense.org>2016-02-20 03:53:25 -0600
committerChris Buechler <cmb@pfsense.org>2016-02-20 03:53:25 -0600
commitf700dc99fd31162ee375fd08bcefbfbcb34f81b9 (patch)
treea52f9dc36070ce9459a57fb3fdee306d8bd3965f /src
parent830ea39af85f19a96aec69521c0c1bf5b4f59882 (diff)
downloadpfsense-f700dc99fd31162ee375fd08bcefbfbcb34f81b9.zip
pfsense-f700dc99fd31162ee375fd08bcefbfbcb34f81b9.tar.gz
Don't allow an IP to be configured multiple times as a DNS server. Ticket #5915
Diffstat (limited to 'src')
-rw-r--r--src/usr/local/www/system.php5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/usr/local/www/system.php b/src/usr/local/www/system.php
index 7f4cce3..8c00c11 100644
--- a/src/usr/local/www/system.php
+++ b/src/usr/local/www/system.php
@@ -180,6 +180,7 @@ if ($_POST) {
for ($dnscounter=1; $dnscounter<5; $dnscounter++) {
$dnsname="dns{$dnscounter}";
$dnsgwname="dns{$dnscounter}gw";
+ $dnslist[] = $_POST[$dnsname];
if (($_POST[$dnsname] && !is_ipaddr($_POST[$dnsname]))) {
$input_errors[] = sprintf(gettext("A valid IP address must be specified for DNS server %s."), $dnscounter);
} else {
@@ -200,6 +201,10 @@ if ($_POST) {
}
}
+ if (count($dnslist) != count(array_unique($dnslist))) {
+ $input_errors[] = gettext('Each configured DNS server must have a unique IP address. Remove the duplicated IP.');
+ }
+
$direct_networks_list = explode(" ", filter_get_direct_networks_list());
for ($dnscounter=1; $dnscounter<5; $dnscounter++) {
$dnsitem = "dns{$dnscounter}";
OpenPOWER on IntegriCloud