} } } else { if ($iprange_type == 6) { $input_errors[] = sprintf(gettext('IPv6 address ranges are not supported (%s)'), $address_item); // Put the user-entered data in the output anyway, so it will be re-displayed for correction. $input_addresses[] = $address_item; $input_address_subnet[] = ""; $final_address_details[] = $detail_text; } else { $subnet_type = is_subnet($address_item); if ($_POST['type'] == "host" && $subnet_type) { if ($subnet_type == 4) { // For host type aliases, if the user enters an IPv4 subnet, expand it into a list of individual IPv4 addresses. if (subnet_size($address_item) <= $max_alias_addresses - $alias_address_count) { $rangeaddresses = subnetv4_expand($address_item); foreach ($rangeaddresses as $rangeaddress) { $input_addresses[] = $rangeaddress; $input_address_subnet[] = ""; $final_address_details[] = $detail_text; $alias_address_count++; } } else { $input_errors[] = sprintf(gettext('Subnet is too large to expand into individual host IP addresses (%s)'), $address_item); $input_errors[] = sprintf(gettext('The maximum number of entries in an alias is %s'), $max_alias_addresses); // Put the user-entered data in the output anyway, so it will be re-displayed for correction. $input_addresses[] = $address_item; $input_address_subnet[] = ""; $final_address_details[] = $detail_text; } } else {
foreach ($config['aliases']['alias'] as $i => $alias) { if (isset($alias['name']) && isset($pfb_local[$cnt])) { if ($alias['name'] == $pfb_local[$cnt]) { $pfb_local[$cnt] = $alias['address']; } } } } } // Collect all Interface Addresses for Inbound/Outbound List Matching if (is_array($config['interfaces'])) { foreach ($config['interfaces'] as $int) { if ($int['ipaddr'] != "dhcp") { if ($int['ipaddr'] != "" && $int['subnet'] != "") { if ($int['subnet'] >= 24) { $pfb_local = array_merge(subnetv4_expand("{$int['ipaddr']}/{$int['subnet']}"), $pfb_local); } else { $pfb_localsub[] = "{$int['ipaddr']}/{$int['subnet']}"; } } } } } // Remove any Duplicate IPs $pfb_local = array_unique($pfb_local); $pfb_localsub = array_unique($pfb_localsub); } // Process Fields_array and generate Output if (!empty($fields_array[$type]) && !empty($rule_list)) { $key = 0; foreach ($fields_array[$type] as $fields) {