From mboxrd@z Thu Jan  1 00:00:00 1970
From: Stefan Schantl <stefan.schantl@ipfire.org>
To: development@lists.ipfire.org
Subject: [PATCH] IDS: Add GREEN and BLUE addresses to the list of DNS servers.
Date: Fri, 03 Apr 2020 16:59:12 +0200
Message-ID: <20200403145912.9808-1-stefan.schantl@ipfire.org>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="===============2535121120983113126=="
List-Id: <development.lists.ipfire.org>

--===============2535121120983113126==
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit

Fixes #12349.

Signed-off-by: Stefan Schantl <stefan.schantl(a)ipfire.org>
---
 config/cfgroot/ids-functions.pl | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/config/cfgroot/ids-functions.pl b/config/cfgroot/ids-functions.pl
index 5bc3e77ec..f124b12be 100644
--- a/config/cfgroot/ids-functions.pl
+++ b/config/cfgroot/ids-functions.pl
@@ -718,13 +718,28 @@ sub generate_dns_servers_file() {
 	# Get the used DNS servers.
 	my @nameservers = &General::get_nameservers();
 
+	# Get network settings.
+	my %netsettings;
+	&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
 	# Format dns servers declaration.
 	my $line = "";
 
 	# Check if the system has configured nameservers.
 	if (@nameservers) {
+		# Add the GREEN address as DNS servers.
+		push(@nameservers, $netsettings{'GREEN_ADDRESS'});
+
+		# Check if a BLUE zone exists.
+		if ($netsettings{'BLUE_ADDRESS'}) {
+			# Add the BLUE address to the array of nameservers.
+			push(@nameservers, $netsettings{'BLUE_ADDRESS'});
+		}
+
+		# Generate the line which will be written to the DNS servers file.
 		$line = join(",", @nameservers);
 	} else {
+		# External net simply contains (any).
 		$line = "\$EXTERNAL_NET";
 	}
 
-- 
2.26.0


--===============2535121120983113126==--