From f700dc99fd31162ee375fd08bcefbfbcb34f81b9 Mon Sep 17 00:00:00 2001 From: Chris Buechler Date: Sat, 20 Feb 2016 03:53:25 -0600 Subject: [PATCH] Don't allow an IP to be configured multiple times as a DNS server. Ticket #5915 --- src/usr/local/www/system.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/usr/local/www/system.php b/src/usr/local/www/system.php index 7f4cce3027..8c00c11132 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}";