+
+sub get_matching_firewall_address {
+ my $addr = shift;
+ my $use_orange = shift;
+
+ my ($address, $netmask) = split("/", $addr);
+
+ my @zones = ("GREEN", "BLUE");
+ if ($use_orange) {
+ push(@zones, "ORANGE");
+ }
+
+ foreach my $zone (@zones) {
+ next unless (exists $defaultNetworks{$zone . "_ADDRESS"});
+
+ my $zone_subnet = $defaultNetworks{$zone . "_NETADDRESS"};
+ my $zone_mask = $defaultNetworks{$zone . "_NETMASK"};
+
+ if (&General::IpInSubnet($address, $zone_subnet, $zone_mask)) {
+ return $defaultNetworks{$zone . "_ADDRESS"};
+ }
+ }
+
+ return 0;
+}