summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Fonnesbeck <efonnes@gmail.com>2012-04-11 23:07:42 -0600
committerErik Fonnesbeck <efonnes@gmail.com>2012-04-11 23:07:42 -0600
commita119ecf819f8d02f6be7b5b8ee883ca516a1256d (patch)
tree4a1edc514d0230f1ea1a8a28dad4d8e8693ba6ed
parente9eae06092747e8c383fc6e441b4bd44a1374acc (diff)
downloadpfsense-a119ecf819f8d02f6be7b5b8ee883ca516a1256d.zip
pfsense-a119ecf819f8d02f6be7b5b8ee883ca516a1256d.tar.gz
Modify get_configured_ip_aliases_list to optionally return the full vip entry and use this information to get the subnet and not just the IP in filter_get_direct_networks_list.
-rw-r--r--etc/inc/filter.inc14
-rw-r--r--etc/inc/util.inc7
2 files changed, 12 insertions, 9 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index afa864d..25008ff 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -775,13 +775,13 @@ function filter_get_direct_networks_list() {
$networks_arr[] = $subnet;
}
}
- foreach(get_configured_ip_aliases_list() as $vip => $vipif) {
- $vip_split = explode('/', $vip);
- if(!empty($vip_split[1]) && is_subnet($vip) && !(is_subnetv4($vip) && $vip_split[1] == 32) && !(is_subnetv6($vip) && $vip_split[1] == 128)) {
- if(is_subnetv4($vip))
- $networks_arr[] = gen_subnet($vip_split[0], $vip_split[1]) . "/{$vip_split[1]}";
- else if(is_subnetv6($vip))
- $networks_arr[] = gen_subnetv6($vip_split[0], $vip_split[1]) . "/{$vip_split[1]}";
+ foreach(get_configured_ip_aliases_list(true) as $vip) {
+ $subnet = "{$vip['subnet']}/{$vip['subnet_bits']}";
+ if(is_subnet($subnet) && !(is_subnetv4($subnet) && $vip['subnet_bits'] == 32) && !(is_subnetv6($subnet) && $vip['subnet_bits'] == 128)) {
+ if(is_subnetv4($subnet))
+ $networks_arr[] = gen_subnet($vip['subnet'], $vip['subnet_bits']) . "/{$vip['subnet_bits']}";
+ else if(is_subnetv6($subnet))
+ $networks_arr[] = gen_subnetv6($vip['subnet'], $vip['subnet_bits']) . "/{$vip['subnet_bits']}";
}
}
foreach(get_staticroutes(true) as $netent) {
diff --git a/etc/inc/util.inc b/etc/inc/util.inc
index c176e10..f5d0a39 100644
--- a/etc/inc/util.inc
+++ b/etc/inc/util.inc
@@ -647,7 +647,7 @@ function get_configured_carp_interface_list() {
}
/* return the configured IP aliases list */
-function get_configured_ip_aliases_list() {
+function get_configured_ip_aliases_list($returnfullentry = false) {
global $config;
$alias_list=array();
@@ -656,7 +656,10 @@ function get_configured_ip_aliases_list() {
$viparr = &$config['virtualip']['vip'];
foreach ($viparr as $vip) {
if ($vip['mode']=="ipalias") {
- $alias_list[$vip['subnet']] = $vip['interface'];
+ if ($returnfullentry)
+ $alias_list[$vip['subnet']] = $vip;
+ else
+ $alias_list[$vip['subnet']] = $vip['interface'];
}
}
}
OpenPOWER on IntegriCloud