diff options
author | Chris Buechler <cmb@pfsense.org> | 2016-02-20 03:53:25 -0600 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2016-02-20 03:53:25 -0600 |
commit | f700dc99fd31162ee375fd08bcefbfbcb34f81b9 (patch) | |
tree | a52f9dc36070ce9459a57fb3fdee306d8bd3965f /src | |
parent | 830ea39af85f19a96aec69521c0c1bf5b4f59882 (diff) | |
download | pfsense-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.php | 5 |
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}"; |