summaryrefslogtreecommitdiffstats
path: root/etc/inc/pfsense-utils.inc
diff options
context:
space:
mode:
authorRenato Botelho <garga@FreeBSD.org>2013-02-21 08:19:39 -0300
committerRenato Botelho <garga@FreeBSD.org>2013-02-21 08:19:39 -0300
commit2c98a93536717635b82253a0f9718606b1a63f8d (patch)
treeb930978478d1e6ceac8564f8ac1ae3c1e442e8f1 /etc/inc/pfsense-utils.inc
parent8d8b1af7088c705f23483e24aef363d3055d377f (diff)
downloadpfsense-2c98a93536717635b82253a0f9718606b1a63f8d.zip
pfsense-2c98a93536717635b82253a0f9718606b1a63f8d.tar.gz
Teach is_ipaddr_configured to check ipv6 for single IPs. While I'm here, reduce code duplication
Diffstat (limited to 'etc/inc/pfsense-utils.inc')
-rw-r--r--etc/inc/pfsense-utils.inc14
1 files changed, 9 insertions, 5 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index f6b05bf..7de604b 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -2441,20 +2441,24 @@ function is_ipaddr_configured($ipaddr, $ignore_if = "", $check_localip = false,
foreach ($iflist as $if => $ifname) {
if ($ignore_if == $if)
continue;
+
if ($isipv6 === true) {
$bitmask = get_interface_subnetv6($if);
$subnet = gen_subnetv6(get_interface_ipv6($if), $bitmask);
- if (ip_in_subnet($ipaddr, $subnet . '/' . $bitmask))
- return true;
} else {
$bitmask = get_interface_subnet($if);
$subnet = gen_subnet(get_interface_ip($if), $bitmask);
- if (ip_in_subnet($ipaddr, $subnet . '/' . $bitmask))
- return true;
}
+
+ if (ip_in_subnet($ipaddr, $subnet . '/' . $bitmask))
+ return true;
}
} else {
- $interface_list_ips = get_configured_ip_addresses();
+ if ($isipv6 === true)
+ $interface_list_ips = get_configured_ipv6_addresses();
+ else
+ $interface_list_ips = get_configured_ip_addresses();
+
foreach($interface_list_ips as $if => $ilips) {
/* Also ignore CARP interfaces, it'll be checked below */
if (($ignore_if == $if) || preg_match('/_vip[0-9]/', $if))
OpenPOWER on IntegriCloud