src: more $config access avoidance

This commit is contained in:
Franco Fichtner 2018-09-12 09:00:00 +02:00
parent 21d3ff051f
commit 1418e7a8da

View File

@ -681,28 +681,23 @@ function is_inrange($test, $start, $end) {
/* XXX: return the configured carp interface list */
function get_configured_carp_interface_list($carpinterface = '', $family = 'inet')
{
global $config;
$iflist = array();
if (isset($config['virtualip']['vip'])) {
$viparr = &config_read_array('virtualip', 'vip');
foreach ($viparr as $vip) {
switch ($vip['mode']) {
case "carp":
if (!empty($carpinterface)) {
if ($carpinterface == "{$vip['interface']}_vip{$vip['vhid']}") {
if ($family == "inet" && is_ipaddrv4($vip['subnet'])) {
return $vip['subnet'];
} elseif ($family == "inet6" && is_ipaddrv6($vip['subnet'])) {
return $vip['subnet'];
}
foreach (config_read_array('virtualip', 'vip') as $vip) {
switch ($vip['mode']) {
case 'carp':
if (!empty($carpinterface)) {
if ($carpinterface == "{$vip['interface']}_vip{$vip['vhid']}") {
if ($family == 'inet' && is_ipaddrv4($vip['subnet'])) {
return $vip['subnet'];
} elseif ($family == 'inet6' && is_ipaddrv6($vip['subnet'])) {
return $vip['subnet'];
}
} else {
$iflist["{$vip['interface']}_vip{$vip['vhid']}"] = $vip['subnet'];
}
break;
}
} else {
$iflist["{$vip['interface']}_vip{$vip['vhid']}"] = $vip['subnet'];
}
break;
}
}
@ -712,40 +707,34 @@ function get_configured_carp_interface_list($carpinterface = '', $family = 'inet
/* return the configured IP aliases list */
function get_configured_ip_aliases_list($returnfullentry = false)
{
global $config;
$alias_list = array();
if (isset($config['virtualip']['vip'])) {
$viparr = &config_read_array('virtualip', 'vip');
foreach ($viparr as $vip) {
if ($vip['mode']=="ipalias") {
if ($returnfullentry) {
$alias_list[$vip['subnet']] = $vip;
} else {
$alias_list[$vip['subnet']] = $vip['interface'];
}
foreach (config_read_array('virtualip', 'vip') as $vip) {
if ($vip['mode'] == 'ipalias') {
if ($returnfullentry) {
$alias_list[$vip['subnet']] = $vip;
} else {
$alias_list[$vip['subnet']] = $vip['interface'];
}
}
}
return $alias_list;
}
/* return all configured aliases list (IP, carp, proxyarp and other) */
function get_configured_vips_list()
{
global $config;
$alias_list=array();
if (isset($config['virtualip']['vip'])) {
$viparr = &config_read_array('virtualip', 'vip');
foreach ($viparr as $vip) {
if ($vip['mode'] == "carp") {
$alias_list[] = array("ipaddr" => $vip['subnet'], "if" => "{$vip['interface']}_vip{$vip['vhid']}");
} else {
$alias_list[] = array("ipaddr" => $vip['subnet'], "if" => $vip['interface']);
}
$alias_list = array();
foreach (config_read_array('virtualip', 'vip') as $vip) {
if ($vip['mode'] == 'carp') {
$alias_list[] = array('ipaddr' => $vip['subnet'], 'if' => "{$vip['interface']}_vip{$vip['vhid']}");
} else {
$alias_list[] = array('ipaddr' => $vip['subnet'], 'if' => $vip['interface']);
}
}
return $alias_list;
}
@ -1231,17 +1220,13 @@ function is_URL($url)
function get_staticroutes($returnsubnetsonly = false, $returnhostnames = false)
{
global $config, $aliastable;
/* Bail if there are no routes, but return an array always so callers don't have to check. */
if (!isset($config['staticroutes']['route'])) {
return array();
}
global $aliastable;
$allstaticroutes = array();
$allsubnets = array();
/* Loop through routes and expand aliases as we find them. */
foreach ($config['staticroutes']['route'] as $route) {
foreach (config_read_array('staticroutes', 'route') as $route) {
if (is_alias($route['network'])) {
if (!isset($aliastable[$route['network']])) {
continue;
@ -1267,11 +1252,12 @@ function get_staticroutes($returnsubnetsonly = false, $returnhostnames = false)
$allsubnets[] = $route['network'];
}
}
if ($returnsubnetsonly) {
return $allsubnets;
} else {
return $allstaticroutes;
}
return $allstaticroutes;
}
function prefer_ipv4_or_ipv6()