ids-functions.pl: Add RED address and aliases to the HOME_NET
authorStefan Schantl <stefan.schantl@ipfire.org>
Wed, 30 Jan 2019 11:04:54 +0000 (12:04 +0100)
committerStefan Schantl <stefan.schantl@ipfire.org>
Wed, 30 Jan 2019 11:51:51 +0000 (12:51 +0100)
Reference: #11981

Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
config/cfgroot/ids-functions.pl

index 114d576..a7c1585 100644 (file)
@@ -597,9 +597,6 @@ sub generate_home_net_file() {
 
        # Loop through the array of available network zones.
        foreach my $zone (@network_zones) {
-               # Skip the red network - It never can be part to the home_net!
-               next if($zone eq "red");
-
                # Convert current zone name into upper case.
                $zone = uc($zone);
 
@@ -622,6 +619,24 @@ sub generate_home_net_file() {
                        # Add the generated network to the array of networks.
                        push(@networks, $network);
                }
+
+               # Check if the current processed zone is red.
+               if($zone eq "RED") {
+                       # Check if the configured RED_TYPE is static.
+                       if ($netsettings{'RED_TYPE'} eq "STATIC") {
+                               # Get configured and enabled aliases.
+                               my @aliases = &get_aliases();
+
+                               # Loop through the array.
+                               foreach my $alias (@aliases) {
+                                       # Add "/32" prefix.
+                                       my $network = join("/", $alias, "32");
+
+                                       # Add the generated network to the array of networks.
+                                       push(@networks, $network);
+                               }
+                       }
+               }
        }
 
        # Format home net declaration.