summaryrefslogtreecommitdiffstats
path: root/etc/inc
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2013-02-14 07:46:13 +0000
committerErmal <eri@pfsense.org>2013-02-14 07:46:13 +0000
commit1e5da31d31fe69f284828681790a1d3c0976694b (patch)
tree56611cf1a5d5adfbfa8b540f05afbcc50b035d2b /etc/inc
parentd97741c2b2be20fe52cb8909d94f9e33be1e11d8 (diff)
downloadpfsense-1e5da31d31fe69f284828681790a1d3c0976694b.zip
pfsense-1e5da31d31fe69f284828681790a1d3c0976694b.tar.gz
Also do checks for ipv6 on is_ipaddr_configured
Diffstat (limited to 'etc/inc')
-rw-r--r--etc/inc/pfsense-utils.inc17
-rw-r--r--etc/inc/util.inc3
2 files changed, 14 insertions, 6 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc
index 47469d8..11c0057 100644
--- a/etc/inc/pfsense-utils.inc
+++ b/etc/inc/pfsense-utils.inc
@@ -2434,15 +2434,24 @@ function load_mac_manufacturer_table() {
function is_ipaddr_configured($ipaddr, $ignore_if = "", $check_localip = false, $check_subnets = false) {
global $config;
+ $isipv6 = is_ipaddrv6($ipaddr);
+
if ($check_subnets) {
$iflist = get_configured_interface_list();
foreach ($iflist as $if => $ifname) {
if ($ignore_if == $if)
continue;
- $bitmask = get_interface_subnet($if);
- $subnet = gen_subnet(get_interface_ip($if), $bitmask);
- if (ip_in_subnet($ipaddr, $subnet . '/' . $bitmask))
- return true;
+ 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;
+ }
}
$interface_list_vips = get_configured_vips_list(true);
diff --git a/etc/inc/util.inc b/etc/inc/util.inc
index b0f6aa1..2590f8e 100644
--- a/etc/inc/util.inc
+++ b/etc/inc/util.inc
@@ -477,8 +477,7 @@ function is_ipaddr($ipaddr) {
function is_ipaddrv6($ipaddr) {
if (!is_string($ipaddr) || empty($ipaddr))
return false;
- $result = Net_IPv6::checkIPv6($ipaddr);
- return $result;
+ return Net_IPv6::checkIPv6($ipaddr);
}
/* returns true if $ipaddr is a valid dotted IPv4 address */
OpenPOWER on IntegriCloud