From: Stefan Schantl Date: Fri, 3 Apr 2020 14:59:12 +0000 (+0200) Subject: IDS: Add GREEN and BLUE addresses to the list of DNS servers. X-Git-Tag: v2.25-core143~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7b97359b99add6f343a4687d5f2f6a8a86304b4f;p=ipfire-2.x.git IDS: Add GREEN and BLUE addresses to the list of DNS servers. Fixes #12349. Signed-off-by: Stefan Schantl Signed-off-by: Arne Fitzenreiter --- diff --git a/config/cfgroot/ids-functions.pl b/config/cfgroot/ids-functions.pl index af8a927e0b..7a2d98f038 100644 --- a/config/cfgroot/ids-functions.pl +++ b/config/cfgroot/ids-functions.pl @@ -711,13 +711,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"; }