summaryrefslogtreecommitdiffstats
path: root/etc/inc/pfsense-utils.inc
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2013-02-18 18:10:27 -0300
committerRenato Botelho <garga@FreeBSD.org>2013-02-18 18:10:27 -0300
commit4021ec36a9ce460b1501f42da8237d51bbedc611 (patch)
tree68059f53bacaf83f0f95230b70526ab0609545f4 /etc/inc/pfsense-utils.inc
parent24c0145c2cdb7eb8006020579c7c8b82f0108412 (diff)
downloadpfsense-4021ec36a9ce460b1501f42da8237d51bbedc611.zip
pfsense-4021ec36a9ce460b1501f42da8237d51bbedc611.tar.gz
CARP IPs were being checked twice in some cases. Fixes #2823
Diffstat (limited to 'etc/inc/pfsense-utils.inc')
-rw-r--r--etc/inc/pfsense-utils.inc20
1 files changed, 10 insertions, 10 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index 11c0057..f6b05bf 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -2453,25 +2453,25 @@ function is_ipaddr_configured($ipaddr, $ignore_if = "", $check_localip = false,
return true;
}
}
-
- $interface_list_vips = get_configured_vips_list(true);
- foreach ($interface_list_vips as $id => $vip) {
- if ($ignore_if == "vip_{$id}")
- continue;
- if (strcasecmp($ipaddr, $vip['ipaddr']) == 0)
- return true;
- }
-
} else {
$interface_list_ips = get_configured_ip_addresses();
foreach($interface_list_ips as $if => $ilips) {
- if ($ignore_if == $if)
+ /* Also ignore CARP interfaces, it'll be checked below */
+ if (($ignore_if == $if) || preg_match('/_vip[0-9]/', $if))
continue;
if (strcasecmp($ipaddr, $ilips) == 0)
return true;
}
}
+ $interface_list_vips = get_configured_vips_list(true);
+ foreach ($interface_list_vips as $id => $vip) {
+ if ($ignore_if == "vip_{$id}")
+ continue;
+ if (strcasecmp($ipaddr, $vip['ipaddr']) == 0)
+ return true;
+ }
+
if ($check_localip) {
if (is_array($config['pptpd']) && !empty($config['pptpd']['localip']) && (strcasecmp($ipaddr, $config['pptpd']['localip']) == 0))
return true;
OpenPOWER on IntegriCloud